From fc5028a15bdd87a955d8daac7cb71826b52e45b0 Mon Sep 17 00:00:00 2001 From: craisinlord Date: Tue, 15 Sep 2026 19:10:28 -0500 Subject: [PATCH] 1.20 progres king and queen balancing Antmail Blockle --- .../compat/infinity/InfinityWarpResult.java | 10 + .../config/AntarchyConfigCatalog.java | 118 + .../block/QueenTrailSpawnMarkerBlock.java | 42 + .../content/block/UnderVaultBlock.java | 90 + .../content/block/UndertrialSpawnerBlock.java | 58 + .../QueenTrailSpawnMarkerBlockEntity.java | 83 + .../block/entity/UnderVaultBlockEntity.java | 83 + .../entity/UndertrialSpawnerBlockEntity.java | 113 + .../client/particle/UndertrialParticle.java | 67 + .../client/renderer/UnderVaultRenderer.java | 34 + .../renderer/UndertrialSpawnerRenderer.java | 38 + .../content/command/QueenLocateCommand.java | 76 + .../content/creative/CreativeTabContents.java | 2 +- .../enchantment/AntarchyEnchantments.java | 41 + .../enchantment/ChronosphereEnchantment.java | 20 + .../enchantment/FeatherRisingEnchantment.java | 14 + .../content/entity/royal/QueenEntity.java | 31 + .../content/item/JumpyBootsHelper.java | 2 +- .../antarchy/content/item/JumpyBootsItem.java | 2 +- .../network/JumpyBootsLaunchPayload.java | 2 +- .../content/time/ChronosphereManager.java | 49 + .../content/time/TimeDilationFieldEntity.java | 39 + .../time/TimeDilationFieldSampler.java | 16 +- .../content/time/TimeDilationManager.java | 6 +- .../content/time/TimeDilationParticles.java | 2 +- .../cavaryn/JumpyBugEggCeilingFeature.java | 4 +- .../thoraxis/QueenHavocTrailFeature.java | 107 + .../worldgen/thoraxis/QueenTrailGrid.java | 34 + .../ThoraxisTransitionThroatFeature.java | 61 + .../thoraxis/ThoraxisUndersideManager.java | 5 + .../ThrowableProjectileGravityMixin.java | 19 + ...ivingEntityChronosphereEquipmentMixin.java | 22 + .../time/PlayerCooldownTimeDilationMixin.java | 19 + .../resources/antarchy-common.mixins.json | 2 + .../animations/crawling_blight.animation.json | 2372 ++++++ .../animations/flytrap.animation.json | 2744 +++++++ .../animations/skulking_fright.animation.json | 6934 +++++++++++++++++ .../animations/springbug.animation.json | 5790 ++++++++++++++ .../animations/stratoshark.animation.json | 1692 ++++ .../blockstates/crawling_blight_egg.json | 76 + .../blockstates/flytrap_goo_block.json | 7 + .../blockstates/skulking_fright_egg.json | 76 + .../antarchy/blockstates/springbug_egg.json | 20 + .../blockstates/undertrial_spawner.json | 8 + .../antarchy/blockstates/undervault.json | 16 + .../antarchy/geo/crawling_blight.geo.json | 194 + .../assets/antarchy/geo/flytrap.geo.json | 210 + .../antarchy/geo/skulking_fright.geo.json | 281 + .../assets/antarchy/geo/springbug.geo.json | 287 + .../assets/antarchy/geo/stratoshark.geo.json | 171 + .../resources/assets/antarchy/lang/de_de.json | 105 +- .../resources/assets/antarchy/lang/en_us.json | 645 +- .../resources/assets/antarchy/lang/es_es.json | 105 +- .../resources/assets/antarchy/lang/fr_fr.json | 105 +- .../resources/assets/antarchy/lang/it_it.json | 111 +- .../resources/assets/antarchy/lang/ja_jp.json | 105 +- .../resources/assets/antarchy/lang/ko_kr.json | 105 +- .../resources/assets/antarchy/lang/pt_br.json | 105 +- .../resources/assets/antarchy/lang/ru_ru.json | 65 +- .../resources/assets/antarchy/lang/zh_cn.json | 105 +- .../resources/assets/antarchy/lang/zh_tw.json | 105 +- .../models/block/crawling_blight_egg_1.json | 6 + .../models/block/crawling_blight_egg_2.json | 6 + .../models/block/crawling_blight_egg_3.json | 6 + .../models/block/crawling_blight_egg_4.json | 7 + .../models/block/flytrap_goo_block.json | 71 + .../models/block/skulking_fright_egg_1.json | 6 + .../models/block/skulking_fright_egg_2.json | 6 + .../models/block/skulking_fright_egg_3.json | 6 + .../models/block/skulking_fright_egg_4.json | 7 + ...lightly_cracked_crawling_blight_egg_1.json | 6 + ...lightly_cracked_crawling_blight_egg_2.json | 6 + ...lightly_cracked_crawling_blight_egg_3.json | 6 + ...lightly_cracked_crawling_blight_egg_4.json | 7 + ...lightly_cracked_skulking_fright_egg_1.json | 6 + ...lightly_cracked_skulking_fright_egg_2.json | 6 + ...lightly_cracked_skulking_fright_egg_3.json | 6 + ...lightly_cracked_skulking_fright_egg_4.json | 7 + .../antarchy/models/block/spit_bug_egg.json | 2 +- .../antarchy/models/block/springbug_egg.json | 85 + .../block/undertrial_spawner_active.json | 1 + .../undertrial_spawner_ejecting_reward.json | 1 + .../block/undertrial_spawner_inactive.json | 1 + .../models/block/undervault_ejecting.json | 1 + .../models/block/undervault_inner_faces.json | 30 + .../antarchy/models/block/undervault_off.json | 1 + .../antarchy/models/block/undervault_on.json | 1 + .../very_cracked_crawling_blight_egg_1.json | 6 + .../very_cracked_crawling_blight_egg_2.json | 6 + .../very_cracked_crawling_blight_egg_3.json | 6 + .../very_cracked_crawling_blight_egg_4.json | 7 + .../very_cracked_skulking_fright_egg_1.json | 6 + .../very_cracked_skulking_fright_egg_2.json | 6 + .../very_cracked_skulking_fright_egg_3.json | 6 + .../very_cracked_skulking_fright_egg_4.json | 7 + .../models/item/crawling_blight_egg.json | 6 + .../item/crawling_blight_spawn_egg.json | 3 + .../antarchy/models/item/flytrap_goo.json | 6 + .../models/item/flytrap_goo_block.json | 3 + .../models/item/flytrap_spawn_egg.json | 3 + .../models/item/skulking_fright_egg.json | 6 + .../item/skulking_fright_spawn_egg.json | 3 + .../antarchy/models/item/springbug_egg.json | 6 + .../antarchy/models/item/springbug_leg.json | 6 + .../models/item/springbug_spawn_egg.json | 3 + .../antarchy/models/item/springy_boots.json | 6 + .../antarchy/models/item/stratoshark_fin.json | 6 + .../models/item/stratoshark_fin_soup.json | 6 + .../models/item/stratoshark_spawn_egg.json | 3 + .../antarchy/models/item/undertrial_key.json | 1 + .../models/item/undertrial_spawner.json | 1 + .../antarchy/models/item/undervault.json | 1 + .../antarchy/particles/undertrial_omen.json | 3 + .../undertrial_spawner_detection.json | 9 + .../particles/undervault_connection.json | 1 + .../resources/assets/antarchy/sounds.json | 1124 ++- .../crawling_blight/crawling_blight_bite1.ogg | Bin 0 -> 23450 bytes .../crawling_blight/crawling_blight_bite2.ogg | Bin 0 -> 23671 bytes .../crawling_blight/crawling_blight_bite3.ogg | Bin 0 -> 21421 bytes .../crawling_blight/crawling_blight_bite4.ogg | Bin 0 -> 25011 bytes .../crawling_blight_growl1.ogg | Bin 0 -> 16000 bytes .../crawling_blight_growl2.ogg | Bin 0 -> 7731 bytes .../crawling_blight/crawling_blight_hurt1.ogg | Bin 0 -> 14827 bytes .../crawling_blight/crawling_blight_hurt2.ogg | Bin 0 -> 11437 bytes .../sounds/mob/flytrap/flytrap_attack1.ogg | Bin 0 -> 14067 bytes .../sounds/mob/flytrap/flytrap_grab1.ogg | Bin 0 -> 17079 bytes .../sounds/mob/flytrap/flytrap_growl1.ogg | Bin 0 -> 11061 bytes .../sounds/mob/flytrap/flytrap_growl2.ogg | Bin 0 -> 16964 bytes .../sounds/mob/flytrap/flytrap_hiss1.ogg | Bin 0 -> 22391 bytes .../sounds/mob/flytrap/flytrap_hurt1.ogg | Bin 0 -> 13220 bytes .../sounds/mob/flytrap/flytrap_hurt2.ogg | Bin 0 -> 15268 bytes .../sounds/mob/flytrap/flytrap_hurt3.ogg | Bin 0 -> 13415 bytes .../antarchy/sounds/mob/king/ice_spikes.ogg | Bin 0 -> 70901 bytes .../antarchy/sounds/mob/manticore/bite1.ogg | Bin 0 -> 31374 bytes .../antarchy/sounds/mob/manticore/fly1.ogg | Bin 0 -> 12790 bytes .../antarchy/sounds/mob/manticore/fly2.ogg | Bin 0 -> 14729 bytes .../antarchy/sounds/mob/manticore/fly3.ogg | Bin 0 -> 12484 bytes .../antarchy/sounds/mob/manticore/fly4.ogg | Bin 0 -> 14385 bytes .../antarchy/sounds/mob/manticore/fly5.ogg | Bin 0 -> 14661 bytes .../antarchy/sounds/mob/manticore/idle1.ogg | Bin 0 -> 22248 bytes .../antarchy/sounds/mob/manticore/idle2.ogg | Bin 0 -> 21698 bytes .../antarchy/sounds/mob/manticore/walk1.ogg | Bin 0 -> 13315 bytes .../antarchy/sounds/mob/manticore/walk2.ogg | Bin 0 -> 13516 bytes .../antarchy/sounds/mob/manticore/walk3.ogg | Bin 0 -> 13718 bytes .../antarchy/sounds/mob/manticore/walk4.ogg | Bin 0 -> 13390 bytes .../antarchy/sounds/mob/manticore/walk5.ogg | Bin 0 -> 13578 bytes .../skulking_fright/skulking_fright_bite1.ogg | Bin 0 -> 8568 bytes .../skulking_fright_fly_loop.ogg | Bin 0 -> 33914 bytes .../skulking_fright/skulking_fright_hurt1.ogg | Bin 0 -> 14827 bytes .../skulking_fright/skulking_fright_hurt2.ogg | Bin 0 -> 11437 bytes .../skulking_fright_snarl1.ogg | Bin 0 -> 21519 bytes .../skulking_fright_snarl2.ogg | Bin 0 -> 21836 bytes .../antarchy/sounds/mob/springbug/hurt1.ogg | Bin 0 -> 14827 bytes .../antarchy/sounds/mob/springbug/hurt2.ogg | Bin 0 -> 11437 bytes .../antarchy/sounds/mob/springbug/idle1.ogg | Bin 0 -> 17603 bytes .../antarchy/sounds/mob/springbug/idle2.ogg | Bin 0 -> 19288 bytes .../antarchy/sounds/mob/springbug/idle3.ogg | Bin 0 -> 15724 bytes .../antarchy/sounds/mob/springbug/idle4.ogg | Bin 0 -> 15667 bytes .../antarchy/sounds/mob/springbug/jump1.ogg | Bin 0 -> 17748 bytes .../antarchy/sounds/mob/springbug/jump2.ogg | Bin 0 -> 10726 bytes .../antarchy/sounds/mob/springbug/jump3.ogg | Bin 0 -> 24370 bytes .../mob/stratoshark/stratoshark_bite.ogg | Bin 0 -> 11796 bytes .../mob/stratoshark/stratoshark_death.ogg | Bin 0 -> 26869 bytes .../mob/stratoshark/stratoshark_fly1.ogg | Bin 0 -> 26365 bytes .../mob/stratoshark/stratoshark_hurt.ogg | Bin 0 -> 18004 bytes .../mob/stratoshark/stratoshark_idle1.ogg | Bin 0 -> 25709 bytes .../mob/stratoshark/stratoshark_idle2.ogg | Bin 0 -> 25776 bytes .../mob/stratoshark/stratoshark_idle3.ogg | Bin 0 -> 18250 bytes .../mob/stratoshark/stratoshark_idle4.ogg | Bin 0 -> 19594 bytes .../crawling_blight_egg.png | Bin 0 -> 465 bytes .../crawling_blight_egg_slightly_cracked.png | Bin 0 -> 525 bytes .../crawling_blight_egg_very_cracked.png | Bin 0 -> 523 bytes .../textures/block/flytrap_goo_block.png | Bin 0 -> 390 bytes .../skulking_fright_egg.png | Bin 0 -> 428 bytes .../skulking_fright_egg_slightly_cracked.png | Bin 0 -> 459 bytes .../skulking_fright_egg_very_cracked.png | Bin 0 -> 436 bytes .../antarchy/textures/block/springbug_egg.png | Bin 0 -> 4212 bytes .../textures/block/springbug_egg.png.mcmeta | 12 + .../undertrial_spawner_bottom.png | Bin 0 -> 422 bytes .../undertrial_spawner_side_active.png | Bin 0 -> 454 bytes .../undertrial_spawner_side_inactive.png | Bin 0 -> 459 bytes .../undertrial_spawner_top_active.png | Bin 0 -> 477 bytes ...undertrial_spawner_top_ejecting_reward.png | Bin 0 -> 463 bytes .../undertrial_spawner_top_inactive.png | Bin 0 -> 489 bytes .../block/undervault/undervault_bottom.png | Bin 0 -> 157 bytes .../undervault/undervault_front_ejecting.png | Bin 0 -> 536 bytes .../block/undervault/undervault_front_off.png | Bin 0 -> 546 bytes .../block/undervault/undervault_front_on.png | Bin 0 -> 557 bytes .../block/undervault/undervault_side_off.png | Bin 0 -> 524 bytes .../block/undervault/undervault_side_on.png | Bin 0 -> 507 bytes .../block/undervault/undervault_top.png | Bin 0 -> 555 bytes .../undervault/undervault_top_ejecting.png | Bin 0 -> 499 bytes .../textures/entity/crawling_blight.png | Bin 0 -> 7686 bytes .../entity/crawling_blight_emissive.png | Bin 0 -> 2597 bytes .../antarchy/textures/entity/flytrap.png | Bin 0 -> 7207 bytes .../textures/entity/skulking_fright.png | Bin 0 -> 5045 bytes .../entity/skulking_fright_emissive.png | Bin 0 -> 996 bytes .../antarchy/textures/entity/springbug.png | Bin 0 -> 28712 bytes .../textures/entity/springbug_emissive.png | Bin 0 -> 7865 bytes .../entity/stratoshark/stratoshark.png | Bin 0 -> 9081 bytes .../stratoshark/stratoshark_emissive.png | Bin 0 -> 764 bytes .../textures/item/crawling_blight_egg.png | Bin 0 -> 428 bytes .../antarchy/textures/item/flytrap_goo.png | Bin 0 -> 390 bytes .../textures/item/skulking_fright_egg.png | Bin 0 -> 307 bytes .../textures/item/springbug_egg_item.png | Bin 0 -> 463 bytes .../antarchy/textures/item/springbug_leg.png | Bin 0 -> 321 bytes .../antarchy/textures/item/springy_boots.png | Bin 0 -> 382 bytes .../textures/item/stratoshark_fin.png | Bin 0 -> 458 bytes .../textures/item/stratoshark_fin_soup.png | Bin 0 -> 431 bytes .../antarchy/textures/item/undertrial_key.png | Bin 0 -> 465 bytes .../models/armor/springy_boots_layer_1.png | Bin 0 -> 481 bytes .../particle/undertrial/undertrial_omen.png | Bin 0 -> 141 bytes .../undertrial_spawner_detection_0.png | Bin 0 -> 137 bytes .../undertrial_spawner_detection_1.png | Bin 0 -> 142 bytes .../undertrial_spawner_detection_2.png | Bin 0 -> 135 bytes .../undertrial_spawner_detection_3.png | Bin 0 -> 127 bytes .../undertrial_spawner_detection_4.png | Bin 0 -> 128 bytes .../undertrial/undervault_connection.png | Bin 0 -> 125 bytes .../advancement/anger_the_hive_mind.json | 2 +- .../data/antarchy/advancement/shark_weak.json | 8 +- .../data/antarchy/advancement/soups_up.json | 4 +- .../antarchy/damage_type/flytrap_mauling.json | 7 + .../antarchy/damage_type/flytrap_swallow.json | 7 + .../antarchy/damage_type/springbug_jump.json | 7 + .../antarchy/enchantment/chronosphere.json | 22 + .../antarchy/enchantment/feather_rising.json | 22 + .../blocks/crawling_blight_egg.json | 20 + .../blocks/crawling_blight_eggs.json | 1 + .../loot_table/blocks/flytrap_goo_block.json | 20 + .../blocks/skulking_fright_egg.json | 20 + .../blocks/skulking_fright_eggs.json | 1 + .../loot_table/blocks/springbug_egg.json | 20 + .../chests/tigers_eye_shrine/treasure.json | 162 + .../loot_table/chests/undertrial_vault.json | 135 + .../loot_table/entities/crawling_blight.json | 72 + .../antarchy/loot_table/entities/flytrap.json | 39 + .../loot_table/entities/skulking_fright.json | 72 + .../loot_table/entities/springbug.json | 94 + .../loot_table/entities/stratoshark.json | 19 + .../loot_table/spawners/undertrial.json | 76 + .../antarchy/recipe/big_bertha_blade.json | 2 +- .../data/antarchy/recipe/big_bertha_hilt.json | 4 +- .../antarchy/recipe/flytrap_goo_block.json | 17 + .../{jumpy_boots.json => springy_boots.json} | 4 +- .../antarchy/recipe/stratoshark_fin_soup.json | 16 + .../{jumpy_boots.json => springy_boots.json} | 4 +- .../tigers_eye_shrine/tigers_eye_shrine.nbt | Bin 0 -> 15122 bytes .../underside_castle/underside_castle1.nbt | Bin 0 -> 346542 bytes .../underside_castle/underside_castle2.nbt | Bin 0 -> 743316 bytes .../underside_castle/underside_castle3.nbt | Bin 0 -> 236126 bytes .../underside_castle/underside_castle4.nbt | Bin 0 -> 102630 bytes .../underside_ruins/underside_ruins1.nbt | Bin 0 -> 1170 bytes .../underside_ruins/underside_ruins2.nbt | Bin 0 -> 1405 bytes .../underside_ruins/underside_ruins3.nbt | Bin 0 -> 2047 bytes .../underside_ruins/underside_ruins4.nbt | Bin 0 -> 4001 bytes .../underside_ruins/underside_ruins5.nbt | Bin 0 -> 10026 bytes .../underside_ruins/underside_ruins6.nbt | Bin 0 -> 3577 bytes .../underside_ruins/underside_ruins7.nbt | Bin 0 -> 4622 bytes .../underside_ruins/underside_ruins8.nbt | Bin 0 -> 8148 bytes .../underside_ruins/underside_ruins9.nbt | Bin 0 -> 33818 bytes .../entity_type/dread_hallucination_mobs.json | 4 +- .../tags/entity_type/flytrap_prey.json | 12 + .../tags/entity_type/horde_common.json | 4 +- .../tags/entity_type/horde_jumpers.json | 2 +- .../tags/entity_type/inverted_immune.json | 2 +- .../tags/item/big_bertha_ingredient.json | 6 +- .../dread_hallucination_sounds.json | 4 +- .../tigers_eye_shrine_biomes.json | 6 + .../underside_castle_biomes.json | 6 + .../has_structure/underside_ruins_biomes.json | 6 + .../worldgen/biome/brooding_tunnels.json | 36 +- .../antarchy/worldgen/biome/cloud_sea.json | 8 +- .../worldgen/biome/ouranwood_forest.json | 9 +- .../configured_feature/flytrap_patch.json | 4 + .../configured_feature/queen_havoc_trail.json | 4 + .../springbug_egg_ceiling.json | 4 + .../thoraxis_transition_throat.json | 4 + .../placed_feature/flytrap_patch.json | 19 + .../placed_feature/queen_havoc_trail.json | 4 + .../placed_feature/springbug_egg_ceiling.json | 31 + .../thoraxis_transition_throat.json | 24 + .../worldgen/structure/tigers_eye_shrine.json | 22 + .../worldgen/structure/underside_castle.json | 32 + .../worldgen/structure/underside_ruins.json | 32 + .../tigers_eye_shrine/tigers_eye_shrine.json | 22 + .../underside_castle/underside_castle.json | 42 + .../underside_ruins/underside_ruins.json | 87 + .../resources/data/c/tags/item/boots.json | 2 +- .../data/c/tags/item/enchantables.json | 2 +- .../data/c/tags/item/foods/soup.json | 2 +- .../data/c/tags/item/slime_balls.json | 2 +- .../resources/data/c/tags/items/boots.json | 2 +- .../data/c/tags/items/enchantables.json | 2 +- .../minecraft/tags/enchantment/treasure.json | 6 + .../minecraft/tags/entity_type/arthropod.json | 6 +- .../tags/item/enchantable/durability.json | 2 +- .../tags/item/enchantable/equippable.json | 2 +- .../tags/item/enchantable/vanishing.json | 2 +- .../data/minecraft/tags/item/foot_armor.json | 2 +- .../data/minecraft/tags/item/slime_balls.json | 2 +- .../minecraft/tags/item/trimmable_armor.json | 2 +- .../tags/items/enchantable/durability.json | 2 +- .../tags/items/enchantable/equippable.json | 2 +- .../tags/items/enchantable/vanishing.json | 2 +- .../data/minecraft/tags/items/foot_armor.json | 2 +- .../minecraft/tags/items/trimmable_armor.json | 2 +- .../com/craisinlord/antarchy/Antarchy.java | 2 + .../antarchy/config/AntarchySettings.java | 42 +- .../content/antmail/AntmailEventData.java | 102 + .../content/antmail/AntmailMailbox.java | 43 +- .../content/antmail/AntmailMessage.java | 21 +- .../content/antmail/AntmailServerData.java | 164 +- .../antarchy/content/block/ComputerBlock.java | 4 + .../block/entity/ComputerBlockEntity.java | 78 + .../block/entity/UnderVaultBlockEntity.java | 10 + .../entity/UndertrialSpawnerBlockEntity.java | 8 +- .../content/client/AntmailClientState.java | 48 + .../content/client/BlockleClientState.java | 26 + .../client/ComputerAccessClientState.java | 11 +- .../client/ComputerFileSystemClientState.java | 15 + .../content/client/game/AntFarmGame.java | 168 - .../content/client/game/AntFarmInput.java | 22 - .../content/client/game/AntFarmProgram.java | 53 - .../content/client/game/AntFarmRenderer.java | 65 - .../content/client/game/AntmanGame.java | 233 + .../content/client/game/AntmanProgram.java | 48 + .../content/client/game/AntmanRenderer.java | 100 + .../content/client/game/BasiliskGame.java | 94 + .../content/client/game/BasiliskProgram.java | 43 + .../content/client/game/BasiliskRenderer.java | 39 + .../content/client/game/BlockleProgram.java | 141 + .../content/client/game/BlockleRenderer.java | 61 + .../content/client/screen/ComputerScreen.java | 1461 +++- .../content/computer/ComputerFileSystem.java | 36 +- .../computer/blockle/BlockleAnswers.java | 80 + .../computer/blockle/BlockleDictionary.java | 38 + .../content/computer/blockle/BlockleGame.java | 30 + .../content/creative/CreativeTabContents.java | 2 +- .../entity/portal/DimensionalTearEntity.java | 13 +- .../content/entity/royal/KingEntity.java | 89 +- .../content/entity/royal/QueenEntity.java | 18 +- .../entity/royal/RoyalBlackHoleEntity.java | 4 +- .../content/entity/royal/RoyalBossEntity.java | 97 +- .../royal/RoyalElementalProjectileEntity.java | 8 +- .../entity/royal/RoyalIceSpikeEntity.java | 21 +- .../royal/beam/RoyalBeamController.java | 8 +- .../entity/royal/decree/AdvanceDecree.java | 16 - .../royal/decree/KeepYourDistanceDecree.java | 16 - .../entity/royal/decree/NoRetreatDecree.java | 17 - .../trades/ComputerScientistTradeManager.java | 133 + .../content/entity/vortex/VortexEntity.java | 8 +- .../entity/vortex/WindVortexEntity.java | 59 +- .../content/guide/ComputerGuideData.java | 17 +- .../antarchy/content/item/ComputerItem.java | 46 +- .../content/item/EyeOfTheStormItem.java | 10 +- .../antarchy/content/item/FloppyDiskItem.java | 14 + .../content/network/AntmailDeletePayload.java | 15 + .../content/network/AntmailDraftPayload.java | 17 + .../network/AntmailMessageRequestPayload.java | 23 + .../content/network/AntmailNetworking.java | 31 +- .../content/network/AntmailPayloadTypes.java | 4 + .../content/network/AntmailResultPayload.java | 22 +- .../content/network/AntmailRetryPayload.java | 15 + .../content/network/AntmailServerHandler.java | 128 +- .../network/AntmailStateRequestPayload.java | 13 +- .../network/ComputerAccessHandler.java | 102 +- .../network/ComputerAccessPayload.java | 4 + .../content/network/ComputerNetworking.java | 24 + .../worldgen/VillagePoolAdditions.java | 125 + .../mixins/PlayerAdvancementsMixin.java | 22 + .../antarchy/mixins/PoiTypesAccessor.java | 17 + .../antarchy/mixins/PoiTypesMixin.java | 38 + .../mixins/gravity/EntityMoveMixin.java | 11 +- .../resources/antarchy-common.mixins.json | 5 +- .../resources/assets/antarchy/lang/en_us.json | 15 +- .../antarchy/models/block/verdant_nyxium.json | 2 +- .../assets/antarchy/models/item/computer.json | 231 +- .../antarchy/models/item/floppy_disk.json | 16 +- .../item/floppy_disk/cavaryn_floppy_disk.json | 6 + .../item/floppy_disk/elythia_floppy_disk.json | 6 + .../floppy_disk/thoraxis_floppy_disk.json | 6 + .../profession/computer_scientist.png | Bin 0 -> 861 bytes .../profession/computer_scientist.png.mcmeta | 5 + .../message/bloxiclean_queen_clean.json | 9 + .../antmail/message/bloxiclean_sparkle.json | 9 + .../message/coldcraft_city_tourism.json | 9 + .../antmail/message/dicaprios_dinner.json | 9 + .../antarchy/antmail/message/welcome_day.json | 9 + .../antarchy/computer/disk/antman_game.json | 4 + .../antarchy/computer/disk/basilisk_game.json | 5 + .../antarchy/computer/disk/blockle_game.json | 4 + .../computer/disk/flying_squirrel.json | 5 + .../computer/entry/flying_squirrel.json | 8 + .../computer_scientist_trades/trades.json | 20 + .../chests/basilisk_lair/treasure.json | 13 + .../loot_table/chests/computer_prototype.json | 26 + .../village/computer_scientist_house.nbt | Bin 0 -> 1807 bytes .../computer_scientist_house.json | 9 + .../acquirable_job_site.json | 6 + .../fabric/AntarchyFabricContent.java | 3 + .../antarchy/fabric/AntarchyFabricEvents.java | 2 + .../client/AntarchyFabricClientBootstrap.java | 11 + .../fabric/registry/AntarchyFabricBlocks.java | 42 +- .../registry/AntarchyFabricEntities.java | 20 +- .../fabric/registry/AntarchyFabricItems.java | 25 +- .../fabric/registry/AntarchyFabricMisc.java | 27 +- .../fabric/registry/AntarchyFabricSounds.java | 42 +- .../models/item/eye_of_the_storm.json | 3 + .../antarchy/models/item/portal_gun.json | 3 + .../item/royal_assailant_battleaxe.json | 3 + .../models/item/royal_guardian_sword.json | 3 + .../antarchy/fabric/AntarchyFabric.java | 30 +- .../antarchy/fabric/AntarchyFabricEvents.java | 13 + .../client/AntarchyFabricClientBootstrap.java | 5 + .../network/AntarchyFabricNetworking.java | 12 + .../fabric/registry/AntarchyFabricMisc.java | 23 + .../antarchy/forge/AntarchyForge.java | 2 + .../antarchy/forge/AntarchyForgeEvents.java | 2 + .../forge/client/AntarchyForgeClient.java | 7 +- .../forge/registry/AntarchyForgeBlocks.java | 42 +- .../forge/registry/AntarchyForgeEntites.java | 20 +- .../forge/registry/AntarchyForgeItems.java | 27 +- .../forge/registry/AntarchyForgeMisc.java | 24 +- .../forge/registry/AntarchyForgeSounds.java | 42 +- .../AntarchyConfigModuleNeoforge.java | 12 +- .../antarchy/neoforge/AntarchyMobsConfig.java | 40 +- .../client/AntarchyNeoForgeClient.java | 10 +- .../registry/AntarchyNeoForgeEvents.java | 16 +- .../registry/AntarchyNeoforgeMisc.java | 21 + .../AntarchyNeoforgePayloadHandlers.java | 20 + 430 files changed, 30569 insertions(+), 1684 deletions(-) create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/compat/infinity/InfinityWarpResult.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/config/AntarchyConfigCatalog.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/QueenTrailSpawnMarkerBlock.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UnderVaultBlock.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UndertrialSpawnerBlock.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/QueenTrailSpawnMarkerBlockEntity.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/particle/UndertrialParticle.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UnderVaultRenderer.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UndertrialSpawnerRenderer.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/command/QueenLocateCommand.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/AntarchyEnchantments.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/ChronosphereEnchantment.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/FeatherRisingEnchantment.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/ChronosphereManager.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenHavocTrailFeature.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenTrailGrid.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisTransitionThroatFeature.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/LivingEntityChronosphereEquipmentMixin.java create mode 100644 common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/PlayerCooldownTimeDilationMixin.java create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/animations/crawling_blight.animation.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/animations/flytrap.animation.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/animations/skulking_fright.animation.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/animations/springbug.animation.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/animations/stratoshark.animation.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/blockstates/crawling_blight_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/blockstates/flytrap_goo_block.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/blockstates/skulking_fright_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/blockstates/springbug_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/blockstates/undertrial_spawner.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/blockstates/undervault.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/geo/crawling_blight.geo.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/geo/flytrap.geo.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/geo/skulking_fright.geo.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/geo/springbug.geo.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/geo/stratoshark.geo.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_1.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_2.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_3.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_4.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/flytrap_goo_block.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_1.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_2.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_3.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_4.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_1.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_2.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_3.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_4.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_1.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_2.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_3.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_4.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/springbug_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_active.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_ejecting_reward.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_inactive.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_ejecting.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_inner_faces.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_off.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_on.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_1.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_2.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_3.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_4.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_1.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_2.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_3.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_4.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_spawn_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo_block.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_spawn_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_spawn_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_leg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_spawn_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/springy_boots.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin_soup.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_spawn_egg.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_key.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_spawner.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/models/item/undervault.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_omen.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_spawner_detection.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/particles/undervault_connection.json create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite3.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite4.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_growl1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_growl2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_hurt1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_hurt2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_attack1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_grab1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_growl1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_growl2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_hiss1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_hurt1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_hurt2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_hurt3.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/king/ice_spikes.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/bite1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly3.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly4.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly5.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/idle1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/idle2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk3.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk4.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk5.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_bite1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_fly_loop.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_hurt1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_hurt2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_snarl1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_snarl2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/hurt1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/hurt2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/idle1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/idle2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/idle3.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/idle4.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/jump1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/jump2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/jump3.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_bite.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_death.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_fly1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_hurt.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle1.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle2.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle3.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle4.ogg create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/crawling_blight_egg/crawling_blight_egg.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/crawling_blight_egg/crawling_blight_egg_slightly_cracked.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/crawling_blight_egg/crawling_blight_egg_very_cracked.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/flytrap_goo_block.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/skulking_fright_egg/skulking_fright_egg.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/skulking_fright_egg/skulking_fright_egg_slightly_cracked.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/skulking_fright_egg/skulking_fright_egg_very_cracked.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/springbug_egg.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/springbug_egg.png.mcmeta create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_bottom.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_side_active.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_side_inactive.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_top_active.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_top_ejecting_reward.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_top_inactive.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_bottom.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_front_ejecting.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_front_off.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_front_on.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_side_off.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_side_on.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_top.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_top_ejecting.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/crawling_blight.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/crawling_blight_emissive.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/flytrap.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/skulking_fright.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/skulking_fright_emissive.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/springbug.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/springbug_emissive.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/stratoshark/stratoshark.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/entity/stratoshark/stratoshark_emissive.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/crawling_blight_egg.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/flytrap_goo.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/skulking_fright_egg.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/springbug_egg_item.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/springbug_leg.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/springy_boots.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/stratoshark_fin.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/stratoshark_fin_soup.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/item/undertrial_key.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/models/armor/springy_boots_layer_1.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_omen.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_0.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_1.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_2.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_3.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_4.png create mode 100644 common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undervault_connection.png create mode 100644 common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_mauling.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_swallow.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/damage_type/springbug_jump.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/enchantment/chronosphere.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/enchantment/feather_rising.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_egg.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_eggs.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/flytrap_goo_block.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_egg.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_eggs.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/springbug_egg.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/tigers_eye_shrine/treasure.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/undertrial_vault.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/crawling_blight.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/flytrap.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/skulking_fright.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/springbug.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/stratoshark.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/loot_table/spawners/undertrial.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/recipe/flytrap_goo_block.json rename common-1.20.1/src/main/resources/data/antarchy/recipe/{jumpy_boots.json => springy_boots.json} (75%) create mode 100644 common-1.20.1/src/main/resources/data/antarchy/recipe/stratoshark_fin_soup.json rename common-1.20.1/src/main/resources/data/antarchy/recipes/{jumpy_boots.json => springy_boots.json} (75%) create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/tigers_eye_shrine/tigers_eye_shrine.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle1.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle2.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle3.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle4.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins1.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins2.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins3.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins4.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins5.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins6.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins7.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins8.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins9.nbt create mode 100644 common-1.20.1/src/main/resources/data/antarchy/tags/entity_type/flytrap_prey.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/tags/worldgen/biome/has_structure/tigers_eye_shrine_biomes.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/tags/worldgen/biome/has_structure/underside_castle_biomes.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/tags/worldgen/biome/has_structure/underside_ruins_biomes.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/configured_feature/flytrap_patch.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/configured_feature/queen_havoc_trail.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/configured_feature/springbug_egg_ceiling.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/configured_feature/thoraxis_transition_throat.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/placed_feature/flytrap_patch.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/placed_feature/queen_havoc_trail.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/placed_feature/springbug_egg_ceiling.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/placed_feature/thoraxis_transition_throat.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/structure/tigers_eye_shrine.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/structure/underside_castle.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/structure/underside_ruins.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/template_pool/tigers_eye_shrine/tigers_eye_shrine.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/template_pool/underside_castle/underside_castle.json create mode 100644 common-1.20.1/src/main/resources/data/antarchy/worldgen/template_pool/underside_ruins/underside_ruins.json create mode 100644 common-1.20.1/src/main/resources/data/minecraft/tags/enchantment/treasure.json create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailEventData.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/BlockleClientState.java delete mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmGame.java delete mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmInput.java delete mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmProgram.java delete mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmRenderer.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanGame.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanProgram.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanRenderer.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskGame.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskProgram.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskRenderer.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleProgram.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleRenderer.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleAnswers.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleDictionary.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleGame.java delete mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/AdvanceDecree.java delete mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/KeepYourDistanceDecree.java delete mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/NoRetreatDecree.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/trades/ComputerScientistTradeManager.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDeletePayload.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDraftPayload.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailMessageRequestPayload.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailRetryPayload.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/content/worldgen/VillagePoolAdditions.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PlayerAdvancementsMixin.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesAccessor.java create mode 100644 common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesMixin.java create mode 100644 common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/cavaryn_floppy_disk.json create mode 100644 common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/elythia_floppy_disk.json create mode 100644 common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/thoraxis_floppy_disk.json create mode 100644 common-1.21.1/src/main/resources/assets/antarchy/textures/entity/villager/profession/computer_scientist.png create mode 100644 common-1.21.1/src/main/resources/assets/antarchy/textures/entity/villager/profession/computer_scientist.png.mcmeta create mode 100644 common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_queen_clean.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_sparkle.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/antmail/message/coldcraft_city_tourism.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/antmail/message/dicaprios_dinner.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/antmail/message/welcome_day.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/computer/disk/antman_game.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/computer/disk/basilisk_game.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/computer/disk/blockle_game.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/computer/disk/flying_squirrel.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/computer_scientist_trades/trades.json create mode 100644 common-1.21.1/src/main/resources/data/antarchy/structure/village/computer_scientist_house.nbt create mode 100644 common-1.21.1/src/main/resources/data/antarchy/structure_pool_additions/computer_scientist_house.json create mode 100644 common-1.21.1/src/main/resources/data/minecraft/tags/point_of_interest_type/acquirable_job_site.json create mode 100644 fabric-1.20.1/src/main/resources/assets/antarchy/models/item/eye_of_the_storm.json create mode 100644 fabric-1.20.1/src/main/resources/assets/antarchy/models/item/portal_gun.json create mode 100644 fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_assailant_battleaxe.json create mode 100644 fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_guardian_sword.json diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/compat/infinity/InfinityWarpResult.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/compat/infinity/InfinityWarpResult.java new file mode 100644 index 00000000..524a4696 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/compat/infinity/InfinityWarpResult.java @@ -0,0 +1,10 @@ +package com.craisinlord.antarchy.compat.infinity; + +/** Shared result vocabulary for future asynchronous Infinity dimension integrations. */ +public enum InfinityWarpResult { + REJECTED, + PENDING, + READY, + FAILED_GENERATION, + TIMEOUT +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/config/AntarchyConfigCatalog.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/config/AntarchyConfigCatalog.java new file mode 100644 index 00000000..1efd5ec0 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/config/AntarchyConfigCatalog.java @@ -0,0 +1,118 @@ +package com.craisinlord.antarchy.config; + +import net.minecraft.resources.ResourceKey; + +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** Shared reflection metadata for presenting the Antarchy settings consistently. */ +public final class AntarchyConfigCatalog { + public enum Section { MOBS, TOOLS, MISC } + public enum ValueType { BOOLEAN, INTEGER, DOUBLE, FLOAT, STRING } + + public record Definition(String name, Section section, ValueType valueType, + Class setterType, Method getter, Method setter) {} + + private static final List DEFINITIONS = buildDefinitions(); + + private AntarchyConfigCatalog() {} + + public static List definitions() { + return DEFINITIONS; + } + + public static Map definitionsByName() { + Map result = new LinkedHashMap<>(); + for (Definition definition : DEFINITIONS) { + result.put(definition.name(), definition); + } + return Map.copyOf(result); + } + + private static List buildDefinitions() { + Map getters = Arrays.stream(AntarchySettings.class.getMethods()) + .filter(AntarchyConfigCatalog::isPublicStatic) + .filter(method -> method.getParameterCount() == 0) + .filter(method -> method.getReturnType() != Void.TYPE) + .collect(java.util.stream.Collectors.toMap(Method::getName, method -> method, + (first, ignored) -> first, LinkedHashMap::new)); + + return Arrays.stream(AntarchySettings.class.getMethods()) + .filter(AntarchyConfigCatalog::isPublicStatic) + .filter(method -> method.getName().startsWith("set")) + .filter(method -> method.getParameterCount() == 1) + .sorted(java.util.Comparator.comparing(Method::getName)) + .map(setter -> definitionFor(setter, getters)) + .filter(java.util.Objects::nonNull) + .toList(); + } + + private static Definition definitionFor(Method setter, Map getters) { + String name = decapitalize(setter.getName().substring(3)); + Method getter = getters.get(name); + if (getter == null) return null; + Class setterType = setter.getParameterTypes()[0]; + ValueType valueType = valueTypeFor(setterType, getter.getReturnType()); + return valueType == null ? null : new Definition(name, sectionFor(name), valueType, setterType, getter, setter); + } + + private static ValueType valueTypeFor(Class setterType, Class getterType) { + if (setterType == boolean.class && getterType == boolean.class) return ValueType.BOOLEAN; + if (setterType == int.class && getterType == int.class) return ValueType.INTEGER; + if (setterType == double.class && getterType == double.class) return ValueType.DOUBLE; + if (setterType == float.class && getterType == float.class) return ValueType.FLOAT; + if (setterType == String.class && ResourceKey.class.isAssignableFrom(getterType)) return ValueType.STRING; + return null; + } + + private static boolean isPublicStatic(Method method) { + int modifiers = method.getModifiers(); + return Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers); + } + + private static String decapitalize(String value) { + return value.isEmpty() ? value : Character.toLowerCase(value.charAt(0)) + value.substring(1); + } + + private static Section sectionFor(String name) { + return isMiscSetting(name) ? Section.MISC : isToolSetting(name) ? Section.TOOLS : Section.MOBS; + } + + private static boolean isMiscSetting(String name) { + return name.equals("disableInfinityBookPortalCreation") + || name.equals("rainbowAntsLeadToInfinityDimensions") + || name.equals("permanentPortalsEnabled") + || name.equals("permanentPortalsFlintAndSteelEnabled") + || name.equals("elythiaPortalEnabled") || name.equals("thoraxisPortalEnabled") + || name.equals("cavarynPortalEnabled") || name.equals("hushweedSporeLifetimeSeconds") + || name.equals("elythiaFireflyParticlesEnabled") || name.equals("duplicatorTreeEnabled") + || name.equals("glowVinesUnderLeaves") || name.equals("swingThroughGrassEnabled") + || name.equals("fabricKeybindingConflictFixEnabled") + || name.equals("experimentalSettingsPopupDisabled") || name.equals("unlockAllArchives") + || name.equals("entitySpecificFireOverlayEnabled") || name.equals("dreamSandEnabled") + || name.startsWith("dreamSand") || name.equals("ichorWitherEnabled") + || name.startsWith("diamondMinecart") || name.startsWith("hoverboard"); + } + + private static boolean isToolSetting(String name) { + return name.equals("sizeChangingRaysEnabled") || name.startsWith("sizeRay") + || name.equals("shrinkingPotionDelta") || name.equals("growthPotionDelta") + || name.startsWith("ultimate") || name.startsWith("battleAxe") + || name.startsWith("bigBertha") || name.startsWith("attitudeAdjuster") + || name.startsWith("scorpionWhip") || name.startsWith("bloodCrystal") + || name.startsWith("nightmareHelmet") || name.startsWith("nightmareChestplate") + || name.startsWith("nightmareLeggings") || name.startsWith("nightmareBoots") + || name.startsWith("nightmareArmorDreadAura") || name.startsWith("primordialArmor") + || name.startsWith("nightmareSword") || name.startsWith("basiliskDagger") + || name.startsWith("squidzooka") || name.equals("invertProjectilesFromInvertedPlayers") + || name.startsWith("gravityGun") || name.startsWith("critterCage") + || name.startsWith("minersDream") || name.equals("potentNyxiteInvertedDurationSeconds") + || name.equals("corneaEarNightVisionSeconds") || name.startsWith("american") + || name.startsWith("mogglesVision") || name.equals("ductTapeRepairPercentPerUse") + || name.startsWith("fallenKingCrown"); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/QueenTrailSpawnMarkerBlock.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/QueenTrailSpawnMarkerBlock.java new file mode 100644 index 00000000..f469554a --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/QueenTrailSpawnMarkerBlock.java @@ -0,0 +1,42 @@ +package com.craisinlord.antarchy.content.block; + +import com.craisinlord.antarchy.content.block.entity.QueenTrailSpawnMarkerBlockEntity; +import java.util.function.Supplier; +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BaseEntityBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityTicker; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; + +/** Invisible worldgen marker which activates the Queen at a generated trail terminus. */ +public final class QueenTrailSpawnMarkerBlock extends BaseEntityBlock { + private final Supplier> type; + + public QueenTrailSpawnMarkerBlock(Supplier> type, + BlockBehaviour.Properties properties) { + super(properties); + this.type = type; + } + + @Override + public RenderShape getRenderShape(BlockState state) { return RenderShape.INVISIBLE; } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new QueenTrailSpawnMarkerBlockEntity(pos, state, type); + } + + @Override + public BlockEntityTicker getTicker(Level level, BlockState state, BlockEntityType blockEntityType) { + if (level.isClientSide) return null; + return createTickerHelper(blockEntityType, type.get(), (tickLevel, tickPos, tickState, marker) -> { + if (tickLevel instanceof ServerLevel serverLevel) QueenTrailSpawnMarkerBlockEntity.serverTick(serverLevel, marker); + }); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UnderVaultBlock.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UnderVaultBlock.java new file mode 100644 index 00000000..dd8ca675 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UnderVaultBlock.java @@ -0,0 +1,90 @@ +package com.craisinlord.antarchy.content.block; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.block.entity.UnderVaultBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BaseEntityBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityTicker; +import net.minecraft.world.level.block.entity.BlockEntityType; +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.level.block.state.properties.DirectionProperty; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.resources.ResourceLocation; + +import java.util.function.Supplier; + +public final class UnderVaultBlock extends BaseEntityBlock { + public static final DirectionProperty FACING = DirectionProperty.create("facing"); + public static final BooleanProperty ACTIVE = BooleanProperty.create("active"); + private final Supplier> blockEntityType; + + public UnderVaultBlock(Supplier> blockEntityType, + BlockBehaviour.Properties properties) { + super(properties); + this.blockEntityType = blockEntityType; + registerDefaultState(stateDefinition.any().setValue(FACING, Direction.DOWN).setValue(ACTIVE, true)); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(FACING, ACTIVE); + } + + @Override + public BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context) { + return context.getClickedFace() == Direction.DOWN + ? defaultBlockState().setValue(FACING, Direction.DOWN) + : null; + } + + @Override + public RenderShape getRenderShape(BlockState state) { + return RenderShape.MODEL; + } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new UnderVaultBlockEntity(pos, state, blockEntityType); + } + + @Override + public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, + InteractionHand hand, BlockHitResult hit) { + ItemStack stack = player.getItemInHand(hand); + if (!state.getValue(ACTIVE) || !isKey(stack)) { + return InteractionResult.PASS; + } + if (!level.isClientSide && level instanceof ServerLevel serverLevel + && level.getBlockEntity(pos) instanceof UnderVaultBlockEntity vault) { + if (vault.unlock(serverLevel, pos, player, stack)) { + level.setBlock(pos, state.setValue(ACTIVE, false), Block.UPDATE_ALL); + return InteractionResult.CONSUME; + } + } + return InteractionResult.sidedSuccess(level.isClientSide); + } + + private static boolean isKey(ItemStack stack) { + return stack.is(BuiltInRegistries.ITEM.get(new ResourceLocation(Antarchy.MODID, "undertrial_key"))); + } + + @Override + public BlockEntityTicker getTicker(Level level, BlockState state, + BlockEntityType type) { + return createTickerHelper(type, blockEntityType.get(), UnderVaultBlockEntity::tick); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UndertrialSpawnerBlock.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UndertrialSpawnerBlock.java new file mode 100644 index 00000000..21e05957 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/UndertrialSpawnerBlock.java @@ -0,0 +1,58 @@ +package com.craisinlord.antarchy.content.block; + +import com.craisinlord.antarchy.content.block.entity.UndertrialSpawnerBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BaseEntityBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityTicker; +import net.minecraft.world.level.block.entity.BlockEntityType; +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 java.util.function.Supplier; + +public final class UndertrialSpawnerBlock extends BaseEntityBlock { + public static final BooleanProperty ACTIVE = BooleanProperty.create("active"); + public static final BooleanProperty OMINOUS = BooleanProperty.create("ominous"); + private final Supplier> blockEntityType; + + public UndertrialSpawnerBlock(Supplier> blockEntityType, + BlockBehaviour.Properties properties) { + super(properties); + this.blockEntityType = blockEntityType; + registerDefaultState(stateDefinition.any().setValue(ACTIVE, false).setValue(OMINOUS, false)); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(ACTIVE, OMINOUS); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + return context.getClickedFace() == Direction.DOWN ? defaultBlockState() : null; + } + + @Override + public RenderShape getRenderShape(BlockState state) { + return RenderShape.MODEL; + } + + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new UndertrialSpawnerBlockEntity(pos, state, blockEntityType); + } + + @Override + public BlockEntityTicker getTicker(Level level, BlockState state, + BlockEntityType type) { + return createTickerHelper(type, blockEntityType.get(), UndertrialSpawnerBlockEntity::tick); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/QueenTrailSpawnMarkerBlockEntity.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/QueenTrailSpawnMarkerBlockEntity.java new file mode 100644 index 00000000..ceab2def --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/QueenTrailSpawnMarkerBlockEntity.java @@ -0,0 +1,83 @@ +package com.craisinlord.antarchy.content.block.entity; + +import com.craisinlord.antarchy.content.entity.royal.QueenEntity; +import java.util.UUID; +import java.util.function.Supplier; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.Difficulty; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public final class QueenTrailSpawnMarkerBlockEntity extends BlockEntity { + private static final double ACTIVATION_DISTANCE_SQUARED = 96.0D * 96.0D; + private long siteId; + private BlockPos spawnPos = BlockPos.ZERO; + private BlockPos homePos = BlockPos.ZERO; + private float yaw; + private boolean configured; + private boolean consumed; + private UUID queenUuid; + + public QueenTrailSpawnMarkerBlockEntity(BlockPos pos, BlockState state, + Supplier> type) { + super(type.get(), pos, state); + } + + public void configure(long siteId, BlockPos spawnPos, BlockPos homePos, float yaw) { + this.siteId = siteId; + this.spawnPos = spawnPos.immutable(); + this.homePos = homePos.immutable(); + this.yaw = yaw; + this.configured = true; + setChanged(); + } + + public long getSiteId() { return siteId; } + public BlockPos getSpawnPos() { return spawnPos; } + public boolean isConfigured() { return configured; } + + public static void serverTick(ServerLevel level, QueenTrailSpawnMarkerBlockEntity marker) { + if (!marker.configured || marker.consumed || level.getDifficulty() == Difficulty.PEACEFUL) return; + if (Math.floorMod(level.getGameTime(), 20L) != Math.floorMod(marker.siteId, 20L)) return; + boolean nearby = level.players().stream().anyMatch(player -> !player.isSpectator() + && player.distanceToSqr(marker.spawnPos.getX() + .5D, marker.spawnPos.getY() + .5D, + marker.spawnPos.getZ() + .5D) <= ACTIVATION_DISTANCE_SQUARED); + if (!nearby) return; + for (int chunkX = (marker.spawnPos.getX() - 16) >> 4; chunkX <= (marker.spawnPos.getX() + 16) >> 4; chunkX++) + for (int chunkZ = (marker.spawnPos.getZ() - 16) >> 4; chunkZ <= (marker.spawnPos.getZ() + 16) >> 4; chunkZ++) + level.getChunk(chunkX, chunkZ); + QueenEntity queen = QueenEntity.spawnFromUndersideTrail(level, marker.spawnPos, marker.homePos, marker.siteId, marker.yaw); + if (queen != null) { + marker.consumed = true; + marker.queenUuid = queen.getUUID(); + marker.setChanged(); + } + } + + @Override + public void load(CompoundTag tag) { + super.load(tag); + siteId = tag.getLong("site_id"); + spawnPos = BlockPos.of(tag.getLong("spawn_pos")); + homePos = BlockPos.of(tag.getLong("home_pos")); + yaw = tag.getFloat("yaw"); + configured = tag.getBoolean("configured"); + consumed = tag.getBoolean("consumed"); + queenUuid = tag.hasUUID("queen_uuid") ? tag.getUUID("queen_uuid") : null; + } + + @Override + protected void saveAdditional(CompoundTag tag) { + super.saveAdditional(tag); + tag.putLong("site_id", siteId); + tag.putLong("spawn_pos", spawnPos.asLong()); + tag.putLong("home_pos", homePos.asLong()); + tag.putFloat("yaw", yaw); + tag.putBoolean("configured", configured); + tag.putBoolean("consumed", consumed); + if (queenUuid != null) tag.putUUID("queen_uuid", queenUuid); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java new file mode 100644 index 00000000..2bc2a91c --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java @@ -0,0 +1,83 @@ +package com.craisinlord.antarchy.content.block.entity; + +import com.craisinlord.antarchy.Antarchy; +import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; +import net.minecraft.world.level.storage.loot.LootParams; +import net.minecraft.world.level.storage.loot.LootTable; +import net.minecraft.world.phys.Vec3; +import net.minecraft.core.Direction; +import net.minecraft.core.dispenser.DefaultDispenseItemBehavior; + +import java.util.function.Supplier; + +public final class UnderVaultBlockEntity extends BlockEntity { + private boolean unlocked; + + public UnderVaultBlockEntity(BlockPos pos, net.minecraft.world.level.block.state.BlockState state, + Supplier> type) { + super(type.get(), pos, state); + } + + public static void tick(Level level, BlockPos pos, net.minecraft.world.level.block.state.BlockState state, + UnderVaultBlockEntity blockEntity) { + if (level.isClientSide && state.getValue(com.craisinlord.antarchy.content.block.UnderVaultBlock.ACTIVE) + && level.random.nextInt(4) == 0) { + Player player = level.getNearestPlayer(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, 8.0D, false); + if (player != null) { + Vec3 start = Vec3.atCenterOf(pos); + Vec3 end = player.position().add(0.0D, player.getBbHeight() * 0.5D, 0.0D); + Vec3 point = start.lerp(end, 0.15D + level.random.nextDouble() * 0.7D); + level.addParticle(particle("undervault_connection"), point.x, point.y, point.z, 0.0D, 0.0D, 0.0D); + } + } + } + + private static SimpleParticleType particle(String id) { + return (SimpleParticleType) BuiltInRegistries.PARTICLE_TYPE.get(new ResourceLocation(Antarchy.MODID, id)); + } + + public boolean unlock(ServerLevel level, BlockPos pos, Player player, ItemStack key) { + if (unlocked) { + return false; + } + if (!player.getAbilities().instabuild) { + key.shrink(1); + } + LootTable table = level.getServer().getLootData().getLootTable( + new ResourceLocation(Antarchy.MODID, "chests/undertrial_vault")); + LootParams params = new LootParams.Builder(level).withParameter( + net.minecraft.world.level.storage.loot.parameters.LootContextParams.ORIGIN, + Vec3.atCenterOf(pos)).create(LootContextParamSets.CHEST); + for (ItemStack stack : table.getRandomItems(params)) { + DefaultDispenseItemBehavior.spawnItem(level, stack, 2, Direction.DOWN, + Vec3.atBottomCenterOf(pos).relative(Direction.DOWN, 1.2D)); + } + unlocked = true; + setChanged(); + level.levelEvent(3011, pos, 0); + return true; + } + + @Override + public void load(CompoundTag tag) { + super.load(tag); + unlocked = tag.getBoolean("Unlocked"); + } + + @Override + protected void saveAdditional(CompoundTag tag) { + super.saveAdditional(tag); + tag.putBoolean("Unlocked", unlocked); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java new file mode 100644 index 00000000..a27372a3 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java @@ -0,0 +1,113 @@ +package com.craisinlord.antarchy.content.block.entity; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.block.UndertrialSpawnerBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.monster.Zombie; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; +import net.minecraft.world.level.storage.loot.LootParams; +import net.minecraft.world.level.storage.loot.LootTable; +import net.minecraft.world.level.storage.loot.parameters.LootContextParam; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; +import net.minecraft.core.dispenser.DefaultDispenseItemBehavior; + +import java.util.List; +import java.util.function.Supplier; + +public final class UndertrialSpawnerBlockEntity extends BlockEntity { + private static final String COOLDOWN_TAG = "Cooldown"; + private static final String WAVES_TAG = "Waves"; + private static final int MAX_WAVES = 6; + private int cooldown; + private int waves; + + public UndertrialSpawnerBlockEntity(BlockPos pos, BlockState state, + Supplier> type) { + super(type.get(), pos, state); + } + + public static void tick(Level level, BlockPos pos, BlockState state, UndertrialSpawnerBlockEntity blockEntity) { + if (!(level instanceof ServerLevel serverLevel)) { + if (level.isClientSide && state.getValue(UndertrialSpawnerBlock.ACTIVE) + && level.random.nextInt(2) == 0) { + level.addParticle(particle("undertrial_omen"), pos.getX() + 0.5D + (level.random.nextDouble() - 0.5D) * 0.7D, + pos.getY() + 0.45D + level.random.nextDouble() * 0.35D, + pos.getZ() + 0.5D + (level.random.nextDouble() - 0.5D) * 0.7D, 0.0D, 0.01D, 0.0D); + } + return; + } + if (blockEntity.cooldown > 0) { + blockEntity.cooldown--; + return; + } + if (!state.getValue(UndertrialSpawnerBlock.ACTIVE)) { + return; + } + if (serverLevel.getNearestPlayer(pos.getX() + 0.5D, pos.getY() - 0.5D, pos.getZ() + 0.5D, 16.0D, false) == null) { + return; + } + long livingTrialMobs = serverLevel.getEntitiesOfClass(Mob.class, new AABB(pos).inflate(16.0D), + mob -> mob.getTags().contains("antarchy_undertrial_mob")).size(); + if (livingTrialMobs > 0) { + return; + } + if (blockEntity.waves >= MAX_WAVES) { + blockEntity.ejectReward(serverLevel, pos); + serverLevel.setBlock(pos, state.setValue(UndertrialSpawnerBlock.ACTIVE, false), 3); + return; + } + Zombie zombie = EntityType.ZOMBIE.create(serverLevel); + if (zombie != null) { + zombie.moveTo(pos.getX() + 0.5D, pos.getY() - 1.0D, pos.getZ() + 0.5D, + serverLevel.random.nextFloat() * 360.0F, 0.0F); + zombie.addTag("antarchy_undertrial_mob"); + serverLevel.addFreshEntity(zombie); + blockEntity.waves++; + blockEntity.cooldown = 80; + blockEntity.setChanged(); + } + } + + private static SimpleParticleType particle(String id) { + return (SimpleParticleType) BuiltInRegistries.PARTICLE_TYPE.get(new ResourceLocation(Antarchy.MODID, id)); + } + + private void ejectReward(ServerLevel level, BlockPos pos) { + ResourceLocation id = new ResourceLocation(Antarchy.MODID, "spawners/undertrial"); + LootTable table = level.getServer().getLootData().getLootTable(id); + LootParams params = new LootParams.Builder(level).create(LootContextParamSets.EMPTY); + for (ItemStack stack : table.getRandomItems(params)) { + DefaultDispenseItemBehavior.spawnItem(level, stack, 2, Direction.DOWN, + Vec3.atBottomCenterOf(pos).relative(Direction.DOWN, 1.2D)); + } + level.levelEvent(3014, pos, 0); + } + + @Override + public void load(CompoundTag tag) { + super.load(tag); + cooldown = tag.getInt(COOLDOWN_TAG); + waves = tag.getInt(WAVES_TAG); + } + + @Override + protected void saveAdditional(CompoundTag tag) { + super.saveAdditional(tag); + tag.putInt(COOLDOWN_TAG, cooldown); + tag.putInt(WAVES_TAG, waves); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/particle/UndertrialParticle.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/particle/UndertrialParticle.java new file mode 100644 index 00000000..426d4203 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/particle/UndertrialParticle.java @@ -0,0 +1,67 @@ +package com.craisinlord.antarchy.content.client.particle; + +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.Particle; +import net.minecraft.client.particle.ParticleProvider; +import net.minecraft.client.particle.ParticleRenderType; +import net.minecraft.client.particle.SpriteSet; +import net.minecraft.client.particle.TextureSheetParticle; +import net.minecraft.core.particles.SimpleParticleType; + +/** Lightweight 1.20 equivalent of the Undertrial's detection/omen particles. */ +public final class UndertrialParticle extends TextureSheetParticle { + private final SpriteSet sprites; + private final boolean animated; + + private UndertrialParticle(ClientLevel level, double x, double y, double z, double xd, double yd, double zd, + SpriteSet sprites, boolean animated) { + super(level, x, y, z, xd, yd, zd); + this.sprites = sprites; + this.animated = animated; + this.gravity = 0.0F; + this.friction = 0.96F; + this.hasPhysics = false; + this.quadSize = animated ? 0.16F + this.random.nextFloat() * 0.08F : 0.2F + this.random.nextFloat() * 0.1F; + this.lifetime = animated ? 10 : 24; + this.setAlpha(0.9F); + this.pickSprite(sprites); + } + + @Override + public void tick() { + super.tick(); + if (this.animated) { + this.setSprite(this.sprites.get(this.age, this.lifetime)); + } + this.setAlpha(0.9F * (1.0F - (float) this.age / (float) this.lifetime)); + } + + @Override + public ParticleRenderType getRenderType() { + return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT; + } + + public static final class DetectionProvider implements ParticleProvider { + private final SpriteSet sprites; + + public DetectionProvider(SpriteSet sprites) { this.sprites = sprites; } + + @Override + public Particle createParticle(SimpleParticleType type, ClientLevel level, double x, double y, double z, + double xd, double yd, double zd) { + return new UndertrialParticle(level, x, y, z, xd, yd, zd, this.sprites, true); + } + } + + public static final class OmenProvider implements ParticleProvider { + private final SpriteSet sprites; + + public OmenProvider(SpriteSet sprites) { this.sprites = sprites; } + + @Override + public Particle createParticle(SimpleParticleType type, ClientLevel level, double x, double y, double z, + double xd, double yd, double zd) { + return new UndertrialParticle(level, x, y, z, xd, yd, zd, this.sprites, false); + } + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UnderVaultRenderer.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UnderVaultRenderer.java new file mode 100644 index 00000000..a6c15660 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UnderVaultRenderer.java @@ -0,0 +1,34 @@ +package com.craisinlord.antarchy.content.client.renderer; + +import com.craisinlord.antarchy.content.block.entity.UnderVaultBlockEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; + +/** Compact 1.20 vault display: a rotating key replaces the vanilla vault core. */ +public final class UnderVaultRenderer implements BlockEntityRenderer { + public UnderVaultRenderer() { + } + + public UnderVaultRenderer(BlockEntityRendererProvider.Context ignored) { + } + + @Override + public void render(UnderVaultBlockEntity blockEntity, float partialTick, PoseStack poseStack, + MultiBufferSource buffer, int packedLight, int packedOverlay) { + poseStack.pushPose(); + poseStack.translate(0.5D, 0.55D, 0.5D); + poseStack.mulPose(com.mojang.math.Axis.YP.rotationDegrees((blockEntity.getLevel().getGameTime() + partialTick) * 2.0F)); + poseStack.scale(0.65F, 0.65F, 0.65F); + Minecraft.getInstance().getItemRenderer().renderStatic(new ItemStack(Items.TRIPWIRE_HOOK), + ItemDisplayContext.FIXED, packedLight, OverlayTexture.NO_OVERLAY, poseStack, buffer, + blockEntity.getLevel(), 0); + poseStack.popPose(); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UndertrialSpawnerRenderer.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UndertrialSpawnerRenderer.java new file mode 100644 index 00000000..4b710d9d --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/client/renderer/UndertrialSpawnerRenderer.java @@ -0,0 +1,38 @@ +package com.craisinlord.antarchy.content.client.renderer; + +import com.craisinlord.antarchy.content.block.entity.UndertrialSpawnerBlockEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.client.renderer.entity.EntityRenderDispatcher; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.Level; + +/** 1.20 visual equivalent for the 1.21 trial-spawner display entity. */ +public final class UndertrialSpawnerRenderer implements BlockEntityRenderer { + private final EntityRenderDispatcher dispatcher; + + public UndertrialSpawnerRenderer(BlockEntityRendererProvider.Context context) { + this.dispatcher = context.getEntityRenderer(); + } + + @Override + public void render(UndertrialSpawnerBlockEntity blockEntity, float partialTick, PoseStack poseStack, + MultiBufferSource buffer, int packedLight, int packedOverlay) { + Level level = blockEntity.getLevel(); + if (level == null) return; + Entity display = EntityType.ZOMBIE.create(level); + if (display == null) return; + display.setPos(blockEntity.getBlockPos().getX() + 0.5D, + blockEntity.getBlockPos().getY() + 0.5D, + blockEntity.getBlockPos().getZ() + 0.5D); + float spin = (level.getGameTime() + partialTick) * 2.0F; + poseStack.pushPose(); + poseStack.translate(0.0D, -0.5D, 0.0D); + dispatcher.render(display, 0.0D, 0.0D, 0.0D, spin, partialTick, + poseStack, buffer, packedLight); + poseStack.popPose(); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/command/QueenLocateCommand.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/command/QueenLocateCommand.java new file mode 100644 index 00000000..f3a05fba --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/command/QueenLocateCommand.java @@ -0,0 +1,76 @@ +package com.craisinlord.antarchy.content.command; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.block.entity.QueenTrailSpawnMarkerBlockEntity; +import com.craisinlord.antarchy.content.worldgen.thoraxis.QueenTrailGrid; +import com.mojang.brigadier.CommandDispatcher; +import com.mojang.brigadier.context.CommandContext; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import net.minecraft.commands.CommandSourceStack; +import net.minecraft.commands.Commands; +import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ClickEvent; +import net.minecraft.network.chat.Style; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.Mth; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntity; + +public final class QueenLocateCommand { + private static final ResourceKey THORAXIS = ResourceKey.create(Registries.DIMENSION, + new ResourceLocation(Antarchy.MODID, "thoraxis")); + private QueenLocateCommand() {} + + public static void register(CommandDispatcher dispatcher) { + dispatcher.register(Commands.literal("locatequeen").requires(source -> source.hasPermission(2)) + .executes(QueenLocateCommand::locate)); + } + + private static int locate(CommandContext context) { + CommandSourceStack source = context.getSource(); + ServerLevel level = source.getServer().getLevel(THORAXIS); + if (level == null) { source.sendFailure(Component.literal("Thoraxis is not available.")); return 0; } + int ox = Mth.floor(source.getPosition().x), oz = Mth.floor(source.getPosition().z); + int cx = Math.floorDiv(ox, QueenTrailGrid.SPACING), cz = Math.floorDiv(oz, QueenTrailGrid.SPACING); + List sites = new ArrayList<>(); + for (int x = cx - 8; x <= cx + 8; x++) for (int z = cz - 8; z <= cz + 8; z++) sites.add(QueenTrailGrid.site(level.getSeed(), x, z)); + sites.sort(Comparator.comparingDouble(site -> distanceSquared(ox, oz, site))); + for (int i = 0; i < Math.min(64, sites.size()); i++) { + QueenTrailGrid.Site site = sites.get(i); + level.getChunk(site.terminalX() >> 4, site.terminalZ() >> 4); + QueenTrailSpawnMarkerBlockEntity marker = findMarker(level, site); + if (marker == null) continue; + BlockPos spawn = marker.getSpawnPos(); + int distance = Mth.floor(Math.sqrt(distanceSquared(ox, oz, site))); + String coords = "[" + spawn.getX() + ", " + spawn.getY() + ", " + spawn.getZ() + "]"; + String tp = "/execute in " + THORAXIS.location() + " run tp @s " + spawn.getX() + " " + spawn.getY() + " " + spawn.getZ(); + source.sendSuccess(() -> Component.literal("Nearest Queen spawn in " + THORAXIS.location() + ": ") + .append(Component.literal(coords).withStyle(Style.EMPTY.withColor(net.minecraft.ChatFormatting.AQUA) + .withUnderlined(true).withClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, tp)))) + .append(Component.literal(" (" + distance + " blocks away)")), false); + return distance; + } + source.sendFailure(Component.literal("No configured Queen spawn was found within the search area.")); + return 0; + } + + private static QueenTrailSpawnMarkerBlockEntity findMarker(ServerLevel level, QueenTrailGrid.Site site) { + BlockPos.MutableBlockPos cursor = new BlockPos.MutableBlockPos(site.terminalX(), level.getMinBuildHeight(), site.terminalZ()); + for (int y = level.getMinBuildHeight(); y < level.getMaxBuildHeight(); y++) { + cursor.setY(y); + BlockEntity entity = level.getBlockEntity(cursor); + if (entity instanceof QueenTrailSpawnMarkerBlockEntity marker && marker.isConfigured() && marker.getSiteId() == site.id()) return marker; + } + return null; + } + private static double distanceSquared(int ox, int oz, QueenTrailGrid.Site site) { + double dx = site.terminalX() - ox, dz = site.terminalZ() - oz; + return dx * dx + dz * dz; + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java index 58696bb4..fb53cf0c 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java @@ -306,7 +306,7 @@ public final class CreativeTabContents { entry("scorpion_whip", "combat"), entry("fallen_king_crown", "combat"), entry("brutalfly_elytra", "combat"), - entry("jumpy_boots", "combat"), + entry("springy_boots", "combat"), entry("raw_uranium_scrap", "ingredients"), entry("raw_titanium_scrap", "ingredients"), entry("bluestone", "redstone_blocks"), diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/AntarchyEnchantments.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/AntarchyEnchantments.java new file mode 100644 index 00000000..fa93f01b --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/AntarchyEnchantments.java @@ -0,0 +1,41 @@ +package com.craisinlord.antarchy.content.enchantment; + +import java.util.Map; +import java.util.function.Supplier; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.EnchantmentHelper; + +/** Loader-neutral access to the 1.20 registered enchantments. */ +public final class AntarchyEnchantments { + private static Supplier featherRising = () -> null; + private static Supplier chronosphere = () -> null; + + private AntarchyEnchantments() {} + + public static void bind(Supplier feather, Supplier chrono) { + featherRising = feather; + chronosphere = chrono; + } + + public static Enchantment featherRising() { return featherRising.get(); } + public static Enchantment chronosphere() { return chronosphere.get(); } + + public static int featherRisingLevel(LivingEntity entity) { return level(entity, EquipmentSlot.FEET, featherRising()); } + public static int chronosphereLevel(LivingEntity entity) { return level(entity, EquipmentSlot.CHEST, chronosphere()); } + + private static int level(LivingEntity entity, EquipmentSlot slot, Enchantment enchantment) { + return enchantment == null ? 0 : EnchantmentHelper.getItemEnchantmentLevel(enchantment, entity.getItemBySlot(slot)); + } + + public static void ensure(ItemStack stack, Enchantment enchantment, int level) { + if (enchantment == null) return; + Map enchantments = new java.util.HashMap<>(EnchantmentHelper.getEnchantments(stack)); + if (enchantments.getOrDefault(enchantment, 0) < level) { + enchantments.put(enchantment, level); + EnchantmentHelper.setEnchantments(enchantments, stack); + } + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/ChronosphereEnchantment.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/ChronosphereEnchantment.java new file mode 100644 index 00000000..0db329ee --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/ChronosphereEnchantment.java @@ -0,0 +1,20 @@ +package com.craisinlord.antarchy.content.enchantment; + +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.EnchantmentCategory; + +public final class ChronosphereEnchantment extends Enchantment { + public ChronosphereEnchantment(Rarity rarity, EquipmentSlot... slots) { + super(rarity, EnchantmentCategory.ARMOR_CHEST, slots); + } + + @Override + public int getMaxLevel() { return 3; } + + @Override + public int getMinCost(int level) { return 15 + (level - 1) * 15; } + + @Override + public int getMaxCost(int level) { return getMinCost(level) + 35; } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/FeatherRisingEnchantment.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/FeatherRisingEnchantment.java new file mode 100644 index 00000000..78a88db4 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/enchantment/FeatherRisingEnchantment.java @@ -0,0 +1,14 @@ +package com.craisinlord.antarchy.content.enchantment; + +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.EnchantmentCategory; + +public final class FeatherRisingEnchantment extends Enchantment { + public FeatherRisingEnchantment(Rarity rarity, EquipmentSlot... slots) { + super(rarity, EnchantmentCategory.ARMOR_FEET, slots); + } + + @Override + public int getMaxLevel() { return 3; } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java index 6ec3e60d..d6bf6a79 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java @@ -6,6 +6,9 @@ import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.AntarchyTags; import com.craisinlord.antarchy.content.entity.ManticoreEntity; 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.worldgen.thoraxis.ThoraxisUndersideManager; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -41,11 +44,39 @@ public class QueenEntity extends RoyalBossEntity { private static final String SUMMON_COOLDOWN_KEY = "ManticoreSummonCooldownTicks"; private static final int FAILED_SUMMON_RETRY_TICKS = 20; private static final int POSITION_ATTEMPTS_PER_MANTICORE = 8; + private long naturalTrailSiteId = Long.MIN_VALUE; + private BlockPos naturalTrailHome = BlockPos.ZERO; private static final ResourceLocation ACCEL_SPEED_ID = new ResourceLocation("antarchy", "queen_royal_acceleration_speed"); private static final ResourceLocation ACCEL_FLY_ID = new ResourceLocation("antarchy", "queen_royal_acceleration_fly"); private static final DustParticleOptions ACCEL_DUST = new DustParticleOptions(new org.joml.Vector3f(1.0F, 0.15F, 0.15F), 2.0F); + public static QueenEntity spawnFromUndersideTrail(ServerLevel level, BlockPos spawnPos, BlockPos homePos, + long siteId, float yaw) { + if (!ThoraxisUndersideManager.isThoraxis(level) || spawnPos.getY() >= 0) return null; + java.util.List existing = level.getEntitiesOfClass(QueenEntity.class, + new net.minecraft.world.phys.AABB(homePos).inflate(160.0D), + queen -> queen.naturalTrailSiteId == siteId && queen.isAlive()); + if (!existing.isEmpty()) return existing.get(0); + QueenEntity queen = AntarchyObjects.QUEEN.get().create(level); + if (queen == null) return null; + queen.moveTo(spawnPos.getX() + .5D, spawnPos.getY(), spawnPos.getZ() + .5D, yaw, 0.0F); + if (!level.noCollision(queen, queen.getBoundingBox())) { + queen.discard(); + return null; + } + queen.finalizeSpawn(level, level.getCurrentDifficultyAt(spawnPos), MobSpawnType.CHUNK_GENERATION, null, null); + queen.naturalTrailSiteId = siteId; + queen.naturalTrailHome = homePos.immutable(); + queen.setPersistenceRequired(); + queen.setNoGravity(false); + ThoraxisUndersideManager.applyUndersideInversion(queen); + AntarchyGravityApi.setGravityDirection(queen, AntarchyGravityDirection.UP, true, + new AntarchyGravityTransition(12)); + queen.resetFallDistance(); + return level.addFreshEntity(queen) ? queen : null; + } + private static final int GRAVITY_STOMP_COOLDOWN = 180; private static final int TIME_FIELD_COOLDOWN = 260; private static final int MOMENTUM_LOCK_COOLDOWN = 420; diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsHelper.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsHelper.java index db801b58..b4143048 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsHelper.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsHelper.java @@ -8,7 +8,7 @@ public final class JumpyBootsHelper { public static final float MAX_VERTICAL_BOOST = 2.0F; public static final float SPRINT_FORWARD_BOOST = 0.3F; public static final long FALL_PROTECTION_TICKS = 120L; - public static final String FALL_PROTECTION_NBT_KEY = "antarchy:jumpy_boots_protection_until"; + public static final String FALL_PROTECTION_NBT_KEY = "antarchy:springy_boots_protection_until"; private JumpyBootsHelper() { } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsItem.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsItem.java index 61cc24b3..0d4b017d 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsItem.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/item/JumpyBootsItem.java @@ -28,7 +28,7 @@ public final class JumpyBootsItem extends ArmorItem { @Override public void appendHoverText(ItemStack stack, Level level, List tooltipComponents, TooltipFlag tooltipFlag) { - tooltipComponents.add(Component.translatable("tooltip.antarchy.jumpy_boots").withStyle(ChatFormatting.DARK_RED)); + tooltipComponents.add(Component.translatable("tooltip.antarchy.springy_boots").withStyle(ChatFormatting.DARK_RED)); super.appendHoverText(stack, level, tooltipComponents, tooltipFlag); } } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/network/JumpyBootsLaunchPayload.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/network/JumpyBootsLaunchPayload.java index d876c759..3c00a0e9 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/network/JumpyBootsLaunchPayload.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/network/JumpyBootsLaunchPayload.java @@ -9,7 +9,7 @@ import net.minecraft.resources.ResourceLocation; public record JumpyBootsLaunchPayload(int chargeTicks, boolean sprinting) implements CustomPacketPayload { public static final Type TYPE = - new Type<>(new ResourceLocation(Antarchy.MODID, "jumpy_boots_launch")); + new Type<>(new ResourceLocation(Antarchy.MODID, "springy_boots_launch")); public static final StreamCodec STREAM_CODEC = StreamCodec.composite( ByteBufCodecs.VAR_INT, JumpyBootsLaunchPayload::chargeTicks, diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/ChronosphereManager.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/ChronosphereManager.java new file mode 100644 index 00000000..8e05e3be --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/ChronosphereManager.java @@ -0,0 +1,49 @@ +package com.craisinlord.antarchy.content.time; + +import com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; + +public final class ChronosphereManager { + public static final double RATE = 0.35D; + private static final Map ACTIVE_FIELDS = new HashMap<>(); + private ChronosphereManager() {} + + public static void refresh(ServerPlayer player) { + if (!(player.level() instanceof ServerLevel level)) return; + int enchantmentLevel = AntarchyEnchantments.chronosphereLevel(player); + UUID playerId = player.getUUID(); + TimeDilationFieldEntity field = null; + UUID known = ACTIVE_FIELDS.get(playerId); + if (known != null && level.getEntity(known) instanceof TimeDilationFieldEntity existing) field = existing; + if (enchantmentLevel <= 0 || !player.isAlive()) { + ACTIVE_FIELDS.remove(playerId); + if (field != null) field.discard(); + return; + } + if (field == null) { + for (net.minecraft.world.entity.Entity entity : level.getAllEntities()) { + if (entity instanceof TimeDilationFieldEntity candidate && candidate.isChronosphere() && candidate.isOwnedBy(player)) { + field = candidate; + break; + } + } + } + if (field == null) { + field = TimeDilationApi.createField(level, player.position(), radius(enchantmentLevel), RATE, -1, player.getUUID()); + field.configureChronosphere(player); + } else { + field.configureChronosphere(player); + } + field.setFieldRadius(radius(enchantmentLevel)); + ACTIVE_FIELDS.put(playerId, field.getUUID()); + } + + public static double radius(int level) { + return level == 1 ? 1.5D : level == 2 ? 2.5D : 3.5D; + } + +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldEntity.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldEntity.java index b7a9d7af..ac8dc536 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldEntity.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldEntity.java @@ -7,7 +7,11 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.level.Level; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.phys.Vec3; import java.util.UUID; @@ -25,6 +29,10 @@ public class TimeDilationFieldEntity extends Entity { private int durationTicks = -1; private int age; private UUID ownerId; + private UUID anchorId; + private int missingAnchorTicks; + private boolean visual = true; + private boolean chronosphere; public TimeDilationFieldEntity(EntityType entityType, Level level) { super(entityType, level); @@ -50,6 +58,17 @@ public class TimeDilationFieldEntity extends Entity { return this.ownerId != null && entity != null && this.ownerId.equals(entity.getUUID()); } + public void attachTo(Entity anchor) { this.anchorId = anchor == null ? null : anchor.getUUID(); this.missingAnchorTicks = 0; } + public void configureChronosphere(Entity owner) { + this.ownerId = owner.getUUID(); attachTo(owner); this.durationTicks = -1; this.visual = false; this.chronosphere = true; + } + public boolean isChronosphere() { return chronosphere; } + public boolean isVisual() { return visual; } + public boolean affects(Entity entity) { + if (isOwnedBy(entity) || anchorId != null && anchorId.equals(entity.getUUID())) return false; + return !chronosphere || entity instanceof LivingEntity || entity instanceof Projectile || entity instanceof ItemEntity; + } + @Override protected void defineSynchedData() { this.entityData.define(RADIUS, 8.0F); @@ -62,6 +81,18 @@ public class TimeDilationFieldEntity extends Entity { if (this.level().isClientSide) { return; } + if (anchorId != null && this.level() instanceof ServerLevel level) { + Entity anchor = level.getEntity(anchorId); + if (anchor != null && anchor.isAlive()) { + setPos(anchor.getX(), anchor.getY(), anchor.getZ()); + missingAnchorTicks = 0; + if (chronosphere && age % 20 == 0) { + if (!(anchor instanceof net.minecraft.server.level.ServerPlayer player) + || com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments.chronosphereLevel(player) <= 0) { discard(); return; } + setFieldRadius(ChronosphereManager.radius(com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments.chronosphereLevel(player))); + } + } else if (++missingAnchorTicks > 20) { discard(); return; } + } this.age++; if (this.durationTicks >= 0 && this.age >= this.durationTicks) { this.discard(); @@ -81,6 +112,8 @@ public class TimeDilationFieldEntity extends Entity { return radius * radius; } + public double influenceRadius() { return chronosphere ? fieldRadius() * 2.0D : fieldRadius(); } + public void setFieldRate(double rate) { this.entityData.set(RATE, (float) TimeDilationMath.clampRate(rate)); } @@ -117,6 +150,9 @@ public class TimeDilationFieldEntity extends Entity { this.durationTicks = tag.contains(DURATION_KEY) ? tag.getInt(DURATION_KEY) : -1; this.age = tag.getInt(AGE_KEY); this.ownerId = tag.hasUUID("OwnerUuid") ? tag.getUUID("OwnerUuid") : null; + this.anchorId = tag.hasUUID("AnchorUuid") ? tag.getUUID("AnchorUuid") : null; + this.visual = !tag.contains("Visual") || tag.getBoolean("Visual"); + this.chronosphere = tag.getBoolean("Chronosphere"); } @Override @@ -128,5 +164,8 @@ public class TimeDilationFieldEntity extends Entity { if (this.ownerId != null) { tag.putUUID("OwnerUuid", this.ownerId); } + if (this.anchorId != null) tag.putUUID("AnchorUuid", this.anchorId); + tag.putBoolean("Visual", this.visual); + tag.putBoolean("Chronosphere", this.chronosphere); } } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldSampler.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldSampler.java index 5053c6db..fe669540 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldSampler.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationFieldSampler.java @@ -32,7 +32,7 @@ public final class TimeDilationFieldSampler { public static double sample(List fields, Entity entity) { double combinedRate = TimeDilationMath.NORMAL_RATE; for (TimeDilationFieldEntity field : fields) { - if (field.isOwnedBy(entity)) { + if (!field.affects(entity)) { continue; } Vec3 center = field.position(); @@ -40,8 +40,18 @@ public final class TimeDilationFieldSampler { double dy = center.y - entity.getY(); double dz = center.z - entity.getZ(); double distanceSqr = dx * dx + dy * dy + dz * dz; - if (distanceSqr < field.fieldRadiusSqr()) { - double falloff = TimeDilationMath.gaussianFalloff(Math.sqrt(distanceSqr), field.fieldRadius()); + double distance = Math.sqrt(distanceSqr); + double radius = field.fieldRadius(); + double falloff; + if (field.isChronosphere()) { + if (distance >= radius * 2.0D) continue; + falloff = distance <= radius ? 1.0D : TimeDilationMath.gaussianFalloff(distance - radius, radius); + } else if (distanceSqr < field.fieldRadiusSqr()) { + falloff = TimeDilationMath.gaussianFalloff(distance, radius); + } else { + continue; + } + if (falloff > 0.0D) { combinedRate *= TimeDilationMath.localFieldRate(field.effectiveFieldRate(), falloff); } } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationManager.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationManager.java index 92782c4d..f8657679 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationManager.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationManager.java @@ -27,6 +27,9 @@ public final class TimeDilationManager { public static void tickServer(MinecraftServer server) { for (ServerLevel level : server.getAllLevels()) { + for (ServerPlayer player : level.players()) { + ChronosphereManager.refresh(player); + } List fields = collectFields(level); TrackingState tracking = TRACKING.computeIfAbsent(level, ignored -> new TrackingState()); discoverFieldEntities(level, fields, tracking); @@ -56,6 +59,7 @@ public final class TimeDilationManager { private static void syncFieldSnapshots(ServerLevel level, List fields, TrackingState tracking) { List snapshots = fields.stream() + .filter(TimeDilationFieldEntity::isVisual) .map(field -> new TimeDilationFieldSnapshot(field.getX(), field.getY(), field.getZ(), field.fieldRadius(), field.fieldRate(), field.fieldAge(), field.fieldDurationTicks())) .limit(128) @@ -81,7 +85,7 @@ public final class TimeDilationManager { private static void discoverFieldEntities(ServerLevel level, List fields, TrackingState tracking) { for (TimeDilationFieldEntity field : fields) { - double radius = field.fieldRadius(); + double radius = field.influenceRadius(); var center = field.position(); var area = new net.minecraft.world.phys.AABB(center.x - radius, center.y - radius, center.z - radius, center.x + radius, center.y + radius, center.z + radius); diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationParticles.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationParticles.java index 7bbee5c5..f10a6039 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationParticles.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/time/TimeDilationParticles.java @@ -18,7 +18,7 @@ public final class TimeDilationParticles { return; } for (TimeDilationFieldEntity field : fields) { - spawnBorder(level, field.position(), field.fieldRadius()); + if (field.isVisual()) spawnBorder(level, field.position(), field.fieldRadius()); } } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/cavaryn/JumpyBugEggCeilingFeature.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/cavaryn/JumpyBugEggCeilingFeature.java index 945de91f..0e9e24c1 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/cavaryn/JumpyBugEggCeilingFeature.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/cavaryn/JumpyBugEggCeilingFeature.java @@ -17,7 +17,9 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; public final class JumpyBugEggCeilingFeature extends Feature { - private static final ResourceLocation JUMPY_BUG_EGG_ID = new ResourceLocation(Antarchy.MODID, "jumpy_bug_egg"); + // The 1.20 implementation keeps its historical Java name, but the public + // registry id follows the 1.21 rename. + private static final ResourceLocation JUMPY_BUG_EGG_ID = new ResourceLocation(Antarchy.MODID, "springbug_egg"); private static final int SEARCH_RADIUS = 8; private static final int VERTICAL_SCAN = 24; private static final int SEARCH_ATTEMPTS = 24; diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenHavocTrailFeature.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenHavocTrailFeature.java new file mode 100644 index 00000000..411c6ce2 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenHavocTrailFeature.java @@ -0,0 +1,107 @@ +package com.craisinlord.antarchy.content.worldgen.thoraxis; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.block.entity.QueenTrailSpawnMarkerBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +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; +import net.minecraft.world.level.block.entity.BlockEntity; +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; + +/** Generates the deterministic underside Queen trail and its one-shot spawn marker. */ +public final class QueenHavocTrailFeature extends Feature { + private static final ResourceLocation DREAM_SAND = id("dream_sand"); + private static final ResourceLocation DREAM_SANDSTONE = id("dream_sandstone"); + private static final ResourceLocation CUT_DREAM_SANDSTONE = id("cut_dream_sandstone"); + private static final ResourceLocation DREAM_FIRE = id("dream_fire_ceiling"); + private static final ResourceLocation SPAWN_MARKER = id("queen_trail_spawn_marker"); + + public QueenHavocTrailFeature() { super(NoneFeatureConfiguration.CODEC); } + + @Override + public boolean place(FeaturePlaceContext context) { + WorldGenLevel level = context.level(); + ChunkPos chunk = new ChunkPos(context.origin()); + int cellX = Math.floorDiv(chunk.getMiddleBlockX(), QueenTrailGrid.SPACING); + int cellZ = Math.floorDiv(chunk.getMiddleBlockZ(), QueenTrailGrid.SPACING); + boolean placed = false; + for (int gx = cellX - 1; gx <= cellX + 1; gx++) for (int gz = cellZ - 1; gz <= cellZ + 1; gz++) { + QueenTrailGrid.Site site = QueenTrailGrid.site(level.getSeed(), gx, gz); + int reach = site.length() + 30; + if (site.terminalX() + reach < chunk.getMinBlockX() || site.terminalX() - reach > chunk.getMaxBlockX() + || site.terminalZ() + reach < chunk.getMinBlockZ() || site.terminalZ() - reach > chunk.getMaxBlockZ()) continue; + for (int i = 0; i < site.footprints(); i++) { + double distance = 18.0D + (site.footprints() - 1 - i) * site.stride(); + double side = (i & 1) == 0 ? -2.5D : 2.5D; + double cx = site.terminalX() - site.directionX() * distance - site.directionZ() * side; + double cz = site.terminalZ() - site.directionZ() * distance + site.directionX() * side; + placed |= print(level, chunk, site, i, cx, cz); + } + if (site.terminalX() >= chunk.getMinBlockX() && site.terminalX() <= chunk.getMaxBlockX() + && site.terminalZ() >= chunk.getMinBlockZ() && site.terminalZ() <= chunk.getMaxBlockZ()) placed |= marker(level, site); + } + return placed; + } + + private static boolean print(WorldGenLevel level, ChunkPos chunk, QueenTrailGrid.Site site, int index, double cx, double cz) { + boolean placed = false; + for (int x = Math.max(chunk.getMinBlockX(), (int) cx - 4); x <= Math.min(chunk.getMaxBlockX(), (int) cx + 4); x++) + for (int z = Math.max(chunk.getMinBlockZ(), (int) cz - 4); z <= Math.min(chunk.getMaxBlockZ(), (int) cz + 4); z++) { + double dx = x + .5D - cx, dz = z + .5D - cz; + double forward = dx * site.directionX() + dz * site.directionZ(); + double lateral = -dx * site.directionZ() + dz * site.directionX(); + boolean pad = sq((forward + .5D) / 2.5D) + sq(lateral / 2.0D) <= 1.0D; + boolean toes = toe(forward, lateral, -1.5D) || toe(forward, lateral, 0.0D) || toe(forward, lateral, 1.5D); + if (pad || toes) placed |= carve(level, x, z, index > site.footprints() * .78D ? 3 : index > site.footprints() * .35D ? 2 : 1, + index % 3 == 0 ? CUT_DREAM_SANDSTONE : DREAM_SANDSTONE); + } + return placed; + } + + private static boolean marker(WorldGenLevel level, QueenTrailGrid.Site site) { + BlockPos ceiling = findCeiling(level, site.terminalX(), site.terminalZ()); + if (ceiling == null) return false; + BlockPos markerPos = ceiling.above(4); + level.setBlock(markerPos, block(SPAWN_MARKER, Blocks.BARRIER).defaultBlockState(), 2); + BlockEntity entity = level.getBlockEntity(markerPos); + if (!(entity instanceof QueenTrailSpawnMarkerBlockEntity marker)) return false; + marker.configure(site.id(), new BlockPos(site.terminalX(), ceiling.getY() - 17, site.terminalZ()), + new BlockPos(site.terminalX(), ceiling.getY() - 2, site.terminalZ()), + (float) Math.toDegrees(Math.atan2(site.directionZ(), site.directionX())) - 90.0F); + return true; + } + + private static boolean carve(WorldGenLevel level, int x, int z, int depth, ResourceLocation backingId) { + BlockPos ceiling = findCeiling(level, x, z); + if (ceiling == null) return false; + level.setBlock(ceiling.above(depth), block(backingId, Blocks.SANDSTONE).defaultBlockState(), 2); + for (int i = 0; i < depth; i++) level.setBlock(ceiling.above(i), Blocks.AIR.defaultBlockState(), 2); + return true; + } + + private static BlockPos findCeiling(WorldGenLevel level, int x, int z) { + BlockPos.MutableBlockPos cursor = new BlockPos.MutableBlockPos(x, -8, z); + int minimum = Math.max(level.getMinBuildHeight() + 20, -240); + for (int y = -8; y >= minimum; y--) { + cursor.setY(y); + if (isDreamSurface(level.getBlockState(cursor)) && level.getBlockState(cursor.below()).isAir()) return cursor.immutable(); + } + return null; + } + + private static boolean isDreamSurface(BlockState state) { + ResourceLocation id = BuiltInRegistries.BLOCK.getKey(state.getBlock()); + return DREAM_SAND.equals(id) || DREAM_SANDSTONE.equals(id) || CUT_DREAM_SANDSTONE.equals(id); + } + private static boolean toe(double forward, double lateral, double center) { return sq((forward - 2.2D) / 1.25D) + sq((lateral - center) / .8D) <= 1.0D; } + private static double sq(double value) { return value * value; } + private static Block block(ResourceLocation id, Block fallback) { return BuiltInRegistries.BLOCK.getOptional(id).orElse(fallback); } + private static ResourceLocation id(String path) { return new ResourceLocation(Antarchy.MODID, path); } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenTrailGrid.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenTrailGrid.java new file mode 100644 index 00000000..dff89cac --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/QueenTrailGrid.java @@ -0,0 +1,34 @@ +package com.craisinlord.antarchy.content.worldgen.thoraxis; + +import net.minecraft.util.RandomSource; + +/** Shared deterministic layout used by Queen trail generation and locatequeen. */ +public final class QueenTrailGrid { + public static final int SPACING = 1_536; + private static final int JITTER_MARGIN = 256; + + private QueenTrailGrid() {} + + public static Site site(long worldSeed, int cellX, int cellZ) { + long seed = mix(worldSeed ^ 0x51A7E4D39B20C16DL, cellX, cellZ); + RandomSource random = RandomSource.create(seed); + int usable = SPACING - JITTER_MARGIN * 2; + int x = cellX * SPACING + JITTER_MARGIN + random.nextInt(usable); + int z = cellZ * SPACING + JITTER_MARGIN + random.nextInt(usable); + double angle = random.nextDouble() * Math.PI * 2.0D; + return new Site(seed, x, z, Math.cos(angle), Math.sin(angle), 16 + random.nextInt(7), 6 + random.nextInt(2)); + } + + private static long mix(long seed, int x, int z) { + long value = seed ^ (long) x * 0x9E3779B97F4A7C15L ^ (long) z * 0xC2B2AE3D27D4EB4FL; + value ^= value >>> 30; + value *= 0xBF58476D1CE4E5B9L; + value ^= value >>> 27; + value *= 0x94D049BB133111EBL; + return value ^ value >>> 31; + } + + public record Site(long id, int terminalX, int terminalZ, double directionX, double directionZ, int footprints, int stride) { + public int length() { return this.footprints * this.stride + 18; } + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisTransitionThroatFeature.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisTransitionThroatFeature.java new file mode 100644 index 00000000..1b2a8f95 --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisTransitionThroatFeature.java @@ -0,0 +1,61 @@ +package com.craisinlord.antarchy.content.worldgen.thoraxis; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.levelgen.Heightmap; +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; + +/** Carves the vertical transition throat between the upper world and Thoraxis underside. */ +public final class ThoraxisTransitionThroatFeature extends Feature { + public ThoraxisTransitionThroatFeature() { super(NoneFeatureConfiguration.CODEC); } + + @Override + public boolean place(FeaturePlaceContext context) { + WorldGenLevel level = context.level(); + BlockPos origin = context.origin(); + BlockPos center = new BlockPos(origin.getX(), ThoraxisUndersideManager.GRAVITY_FLIP_Y, origin.getZ()); + int upperSurface = level.getHeight(Heightmap.Types.WORLD_SURFACE_WG, center.getX(), center.getZ()) - 1; + int undersideSurface = findUndersideSurface(level, center); + if (upperSurface < ThoraxisUndersideManager.GRAVITY_FLIP_Y || undersideSurface < level.getMinBuildHeight()) return false; + long seed = context.random().nextLong(); + for (int y = undersideSurface; y <= upperSurface; y++) { + int layerX = noise(seed, Math.floorDiv(y, 5), 17) * 2; + int layerZ = noise(seed, Math.floorDiv(y, 5), 31) * 2; + double radiusX = 3.5D + noise01(seed, Math.floorDiv(y, 11), 43) * 2.0D; + double radiusZ = 3.5D + noise01(seed, Math.floorDiv(y, 13), 59) * 2.0D; + for (int x = -7; x <= 7; x++) for (int z = -7; z <= 7; z++) { + double dx = x - layerX, dz = z - layerZ; + double distance = Math.sqrt((dx * dx) / (radiusX * radiusX) + (dz * dz) / (radiusZ * radiusZ)); + if (distance <= 0.72D + noise01(seed, x * 3 + Math.floorDiv(y, 3), z * 3 + 71) * 0.42D) + level.setBlock(center.offset(x, y, z), Blocks.AIR.defaultBlockState(), 2); + } + } + return true; + } + + private static int findUndersideSurface(WorldGenLevel level, BlockPos center) { + int minY = level.getMinBuildHeight(); + int firstSolid = Integer.MIN_VALUE; + for (int y = ThoraxisUndersideManager.GRAVITY_FLIP_Y - 1; y >= minY; y--) + if (!level.getBlockState(center.atY(y)).isAir()) { firstSolid = y; break; } + if (firstSolid == Integer.MIN_VALUE) return minY; + int y = firstSolid; + while (y > minY && !level.getBlockState(center.atY(y - 1)).isAir()) y--; + return y; + } + + private static double noise01(long seed, int x, int z) { + long value = seed + 0x9E3779B97F4A7C15L; + value ^= x * 0x632BE59BD9B4E019L; + value ^= z * 0xC6BC279692B5CC83L; + value = (value ^ (value >>> 30)) * 0xBF58476D1CE4E5B9L; + value = (value ^ (value >>> 27)) * 0x94D049BB133111EBL; + value ^= value >>> 31; + return (value >>> 11) * 0x1.0p-53; + } + + private static int noise(long seed, int x, int z) { return noise01(seed, x, z) < 0.5D ? -1 : 1; } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisUndersideManager.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisUndersideManager.java index 868e123d..03668c2b 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisUndersideManager.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/content/worldgen/thoraxis/ThoraxisUndersideManager.java @@ -222,4 +222,9 @@ public final class ThoraxisUndersideManager { public static boolean isAboveUndersideExit(Entity entity) { return isThoraxis(entity.level()) && entity.getY() >= EXIT_UNDERSIDE_Y; } + + /** True while an entity is inside the inverted-gravity underside volume. */ + public static boolean isInUnderside(Entity entity) { + return isThoraxis(entity.level()) && entity.getY() < EXIT_UNDERSIDE_Y; + } } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/ThrowableProjectileGravityMixin.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/ThrowableProjectileGravityMixin.java index 77418a3d..6f9da5e5 100644 --- a/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/ThrowableProjectileGravityMixin.java +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/ThrowableProjectileGravityMixin.java @@ -1,11 +1,30 @@ package com.craisinlord.antarchy.mixins.gravity; +import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager; +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import net.minecraft.world.entity.projectile.ThrowableProjectile; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; @Mixin(ThrowableProjectile.class) /* * Flips thrown projectile gravity for inverted shooters. */ public abstract class ThrowableProjectileGravityMixin { + @Shadow + protected abstract float getGravity(); + + @WrapOperation(method = "tick", + at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/entity/projectile/ThrowableProjectile;setDeltaMovement(DDD)V")) + private void antarchy$reverseUndersideGravity(ThrowableProjectile projectile, double x, double y, double z, + Operation original) { + if (ThoraxisUndersideManager.isInUnderside(projectile)) { + // Vanilla has already subtracted getGravity(); add twice to turn it into an upward acceleration. + y += this.getGravity() * 2.0D; + } + original.call(projectile, x, y, z); + } } diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/LivingEntityChronosphereEquipmentMixin.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/LivingEntityChronosphereEquipmentMixin.java new file mode 100644 index 00000000..83b84a2d --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/LivingEntityChronosphereEquipmentMixin.java @@ -0,0 +1,22 @@ +package com.craisinlord.antarchy.mixins.time; + +import com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments; +import com.craisinlord.antarchy.content.time.ChronosphereManager; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +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(LivingEntity.class) +public abstract class LivingEntityChronosphereEquipmentMixin { + @Inject(method = "setItemSlot", at = @At("TAIL")) + private void antarchy$refreshChronosphere(EquipmentSlot slot, ItemStack stack, CallbackInfo callback) { + if (slot != EquipmentSlot.CHEST) return; + LivingEntity self = (LivingEntity) (Object) this; + if (self instanceof ServerPlayer player) ChronosphereManager.refresh(player); + } +} diff --git a/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/PlayerCooldownTimeDilationMixin.java b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/PlayerCooldownTimeDilationMixin.java new file mode 100644 index 00000000..5e95ea0a --- /dev/null +++ b/common-1.20.1/src/main/java/com/craisinlord/antarchy/mixins/time/PlayerCooldownTimeDilationMixin.java @@ -0,0 +1,19 @@ +package com.craisinlord.antarchy.mixins.time; + +import com.craisinlord.antarchy.content.time.TimeDilationApi; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemCooldowns; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(Player.class) +public abstract class PlayerCooldownTimeDilationMixin { + @Redirect(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemCooldowns;tick()V")) + private void antarchy$advanceCooldowns(ItemCooldowns cooldowns) { + Player player = (Player) (Object) this; + if (TimeDilationApi.consumeTick(player, "player_item_cooldowns")) { + cooldowns.tick(); + } + } +} diff --git a/common-1.20.1/src/main/resources/antarchy-common.mixins.json b/common-1.20.1/src/main/resources/antarchy-common.mixins.json index 26a8a9b3..29b036a5 100644 --- a/common-1.20.1/src/main/resources/antarchy-common.mixins.json +++ b/common-1.20.1/src/main/resources/antarchy-common.mixins.json @@ -83,6 +83,8 @@ "time.EntityCrouchTimeDilationMixin", "time.LivingEntityTimeDilationCleanupMixin", "time.LivingEntityAttackCooldownTimeDilationMixin", + "time.PlayerCooldownTimeDilationMixin", + "time.LivingEntityChronosphereEquipmentMixin", "time.LookControlTimeDilationMixin", "time.MeleeAttackGoalTimeDilationMixin", "time.MobAttackTimeDilationMixin", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/animations/crawling_blight.animation.json b/common-1.20.1/src/main/resources/assets/antarchy/animations/crawling_blight.animation.json new file mode 100644 index 00000000..f9736e11 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/animations/crawling_blight.animation.json @@ -0,0 +1,2372 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 5, + "bones": { + "rightjaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "position": { + "0.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.6866, 9.7606, 2.1856] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [12.9264, -14.6364, -3.3192] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [15.9153, 19.2911, 5.3815] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [19.5682, -26.1278, -8.8967] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [18.5482, 19.0375, 6.246] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftjaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 1, + "bones": { + "rightjaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [10.257, -28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-9.6179, -48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [10.257, -28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-9.6179, -48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [0, 3.75, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [0, 3.75, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [12.6866, 9.7606, 2.1856] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [12.9264, -14.6364, -3.3192] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [15.9153, 19.2911, 5.3815] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [19.5682, -26.1278, -8.8967] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [18.5482, 19.0375, 6.246] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [10.257, 28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-9.6179, 48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10.257, 28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-9.6179, 48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [10.257, 28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "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, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-7.6439, 48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [9.6179, 48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.6439, 48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [9.6179, 48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [9.6179, -48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-10.257, -28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [9.6179, -48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-10.257, -28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftjaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "attack": { + "loop": true, + "animation_length": 1, + "bones": { + "rightjaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [12.3553, -30.5717, -24.192] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.505, -4.5993, -32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-0.505, -4.5993, -32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -26.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -29] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "position": { + "0.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 6, 2] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [0, 9.13, -4.06] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 6, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 6, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [12.14, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -1] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -1] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [17.5, 0, 0] + }, + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [20, 0, 0] + }, + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [27.5, 0, 0] + }, + "post": { + "vector": [27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [12.3553, 30.5717, 24.192] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.505, 4.5993, 32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-0.505, 4.5993, 32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 26.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 29] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-13.8657, 21.5444, -24.5629] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-6.3454, 41.2302, -13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.3454, 41.2302, -13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-13.8657, -21.5444, 24.5629] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-6.3454, -41.2302, 13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.3454, -41.2302, 13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftjaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/animations/flytrap.animation.json b/common-1.20.1/src/main/resources/assets/antarchy/animations/flytrap.animation.json new file mode 100644 index 00000000..1f68650e --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/animations/flytrap.animation.json @@ -0,0 +1,2744 @@ +{ + "format_version": "1.8.0", + "animations": { + "dormant": { + "loop": true, + "animation_length": 4, + "bones": { + "stemLower": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemUpper": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.2083": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5417": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueBase": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-7.5, 0, 15] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [9.9161, 1.2988, -7.3873] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [9.9161, 1.2988, -7.3873] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueTip": { + "rotation": { + "0.0": { + "post": { + "vector": [14.7822, 2.576, -9.6658] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [14.7822, 2.576, -9.6658] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, -92.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, 92.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipFront": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, 77.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafFront": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-90, -35, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafBack": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-90, 50, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipBack": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, -110] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L": { + "scale": { + "vector": [0, 0, 0] + } + }, + "saliva_L2": { + "scale": { + "vector": [0, 0, 0] + } + }, + "saliva_R": { + "scale": { + "vector": [0, 0, 0] + } + }, + "saliva_R2": { + "scale": { + "vector": [0, 0, 0] + } + } + } + }, + "idle": { + "loop": true, + "animation_length": 4, + "bones": { + "stemLower": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemUpper": { + "rotation": { + "0.0": { + "post": { + "vector": [35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [35, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueBase": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [22.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.8333": { + "post": { + "vector": [22.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueTip": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_L": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, -92.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, 92.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipFront": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, 77.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafFront": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-90, -35, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafBack": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-90, 50, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipBack": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 0, -110] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_R": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [1, 1, 1.8] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L2": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [1, 1, 1.6] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_R": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [1, 1, 1.8] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "grab": { + "loop": true, + "animation_length": 1.125, + "bones": { + "base": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.3333": { + "vector": [-17.5, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.5833": { + "vector": [-17.5, 0, 0] + }, + "0.625": { + "vector": [0, 0, 0] + }, + "1.125": { + "vector": [0, 0, 0] + } + } + }, + "stemLower": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [47.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemUpper": { + "rotation": { + "0.0": { + "post": { + "vector": [35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + }, + "0.875": { + "vector": [0, 1.0822, 4.88148] + }, + "0.9167": { + "vector": [0, 0, 0] + } + } + }, + "leafRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 62.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 62.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueBase": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.375": { + "vector": [1, 1, 1] + }, + "0.5": { + "vector": [1, 1.6, 1] + }, + "0.75": { + "vector": [1, 1.6, 1] + }, + "1.0": { + "pre": { + "vector": [1, 0.6, 1] + }, + "post": { + "vector": [1, 0.6, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-22.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-22.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.75": { + "pre": { + "vector": [1, 1.1813, 1] + }, + "post": { + "vector": [1, 1.1813, 1] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 0.6, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueTip": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.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" + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.75": { + "pre": { + "vector": [1, 1.0609, 1] + }, + "post": { + "vector": [1, 1.0609, 1] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 0.7, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_L": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 94.72] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0417": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -62.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -62.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipFront": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafFront": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-90, -67.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-90, -67.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [90, -27.5, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [89.99996, -5, 89.99996] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-89.99999, -17.5, -89.99999] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafBack": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-90.00001, 12.5, -89.99999] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-90.00001, 12.5, -89.99999] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-90, 35, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipBack": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_R": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -94.72] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0417": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L2": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_R": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "death": { + "loop": true, + "animation_length": 1, + "bones": { + "stemLower": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, -65, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.6667": { + "vector": [1, 0.6, 1] + }, + "0.8333": { + "vector": [0, 0, 0] + } + } + }, + "stemMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemUpper": { + "rotation": { + "0.0": { + "post": { + "vector": [35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [19.02384, 6.61911, -4.99615] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-0.98, 6.62, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-2.94354, -33.87151, 0.23773] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueBase": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueTip": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_L": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.6667": { + "pre": { + "vector": [1, 1, 1] + }, + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipFront": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafFront": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [90, -20, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafBack": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [90.00001, 20, -270.00001] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipBack": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_R": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L2": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_R": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "attack": { + "loop": true, + "animation_length": 1, + "bones": { + "base": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-17.5, 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.2083": { + "post": { + "vector": [0, 0, 4] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 4] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, -6] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemLower": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-8.21888, -5.71617, -34.58897] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-8.21888, -5.71617, -34.58897] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [79.10661, -20.70481, -22.20765] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [79.10661, -20.70481, -22.20765] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-23.42053, 4.20854, -24.66569] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-23.42053, 4.20854, -24.66569] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [8.06989, -41.56076, 30.78973] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [8.06989, -41.56076, 30.78973] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "stemUpper": { + "rotation": { + "0.0": { + "post": { + "vector": [35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-32.06488, -10.58927, -30.90686] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-32.06488, -10.58927, -30.90686] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [31.65996, -17.26588, 21.741] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [31.65996, -17.26588, 21.741] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [35, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [16.59918, -2.86544, 34.89743] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-28.22015, -26.49841, 37.56914] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueBase": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueMiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tongueTip": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 0.9, 1] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 0.9, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_L": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipRight": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [11.57417, 9.54195, -51.44258] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -72.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-1.78487, 2.7794, -25.4094] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [15.54307, -27.69337, -33.62515] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipLeft": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-2.03375, -7.33834, 38.44322] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipFront": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafFront": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-90, -32.5, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-90, -22.5, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafBack": { + "rotation": { + "0.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-90, 15, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-63.78, 53.90614, -124.44928] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-90, 40, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leafTipBack": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -60] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -95] + }, + "lerp_mode": "catmullrom" + } + } + }, + "petal_R": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_L2": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "saliva_R": { + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/animations/skulking_fright.animation.json b/common-1.20.1/src/main/resources/assets/antarchy/animations/skulking_fright.animation.json new file mode 100644 index 00000000..8f8c3f13 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/animations/skulking_fright.animation.json @@ -0,0 +1,6934 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 5, + "bones": { + "upperRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-25, 25, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "position": { + "0.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.6866, 9.7606, 2.1856] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [12.9264, -14.6364, -3.3192] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [15.9153, 19.2911, 5.3815] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [19.5682, -26.1278, -8.8967] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [18.5482, 19.0375, 6.246] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [10, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "upperLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-25, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [10, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 17.6521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -17.6521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-38.9808, -3.1406, -63.2916] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-38.9808, 3.1406, 63.2916] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-47.3233, 8.7591, -67.0544] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-47.3233, -8.7591, 67.0544] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 1, + "bones": { + "upperRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25, 25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25, 25, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [10.257, -28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-9.6179, -48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [10.257, -28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-9.6179, -48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [7.6439, -48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [0, 3.75, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [0, 3.75, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [12.6866, 9.7606, 2.1856] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [12.9264, -14.6364, -3.3192] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [15.9153, 19.2911, 5.3815] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [19.5682, -26.1278, -8.8967] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [18.5482, 19.0375, 6.246] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [10.257, 28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-9.6179, 48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10.257, 28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-9.6179, 48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [7.6439, 48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [10.257, 28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "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, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-7.6439, 48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [9.6179, 48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.6439, 48.8755, -28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [9.6179, 48.6127, -5.3962] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-10.257, 28.8205, -9.1359] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [9.6179, -48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-10.257, -28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [-7.6439, -48.8755, 28.2259] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [9.6179, -48.6127, 5.3962] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-10.257, -28.8205, 9.1359] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [15, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [15, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "upperLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [15, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [15, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [11.25, -16.6, 9.19] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [8.9897, -3.2477, 3.637] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [-6.3574, 3.99, 12.1976] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [2.6844, 19.5763, 16.2625] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [3.7346, 16.9546, 18.7439] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [12.4227, -23.6439, 15.3703] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [12.21, -16.44, 8.76] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [8.9897, -3.2477, 3.637] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [-6.3574, 3.99, 12.1976] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [2.6844, 19.5763, 16.2625] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [3.7346, 16.9546, 18.7439] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [12.4227, -23.6439, 15.3703] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [11.25, -16.6, 9.19] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1, 0, -0.06] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-1, 0, -0.12] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [-1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1, 0, -0.06] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleknee": { + "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, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [12.21, 16.44, -8.76] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [8.9897, 3.2477, -3.637] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [-6.3574, -3.99, -12.1976] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [2.6844, -19.5763, -16.2625] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [3.7346, -16.9546, -18.7439] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [12.4227, 23.6439, -15.3703] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [12.21, 16.44, -8.76] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [8.9897, 3.2477, -3.637] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [-6.3574, -3.99, -12.1976] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [2.6844, -19.5763, -16.2625] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [3.7346, -16.9546, -18.7439] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [12.4227, 23.6439, -15.3703] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [11.25, 16.6, -9.19] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1, 0, -0.12] + }, + "lerp_mode": "catmullrom" + }, + "0.0625": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.3125": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.4375": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [1, 0, -0.12] + }, + "lerp_mode": "catmullrom" + }, + "0.5625": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.8125": { + "post": { + "vector": [1, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.9375": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [1, 0, -0.06] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-38.9808, -3.1406, -63.2916] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-38.9808, 3.1406, 63.2916] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-47.3233, 8.7591, -67.0544] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-47.3233, -8.7591, 67.0544] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "attackland": { + "loop": true, + "animation_length": 1, + "bones": { + "upperRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [-10, 10, 0] + }, + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [12.3553, -30.5717, -24.192] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.505, -4.5993, -32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-0.505, -4.5993, -32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.3924, -26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -26.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -29] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "position": { + "0.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 6, 2] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [0, 9.13, -4.06] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 6, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 6, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [12.14, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -1] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -1] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [10, 0, 0] + }, + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "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": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [-5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [10, 0, 0] + }, + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [12.3553, 30.5717, 24.192] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.505, 4.5993, 32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-0.505, 4.5993, 32.7137] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.3924, 26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 26.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 29] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-13.8657, 21.5444, -24.5629] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-6.3454, 41.2302, -13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.3454, 41.2302, -13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.3924, 26.5931, -20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-13.8657, -21.5444, 24.5629] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-6.3454, -41.2302, 13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.3454, -41.2302, 13.6458] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.3924, -26.5931, 20.1521] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [15, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [10, 10, 0] + }, + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "upperLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15, -15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [-10, -10, 0] + }, + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [15, -15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [10, -10, 0] + }, + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 17.6521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 17.6521] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 17.6521] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 17.6521] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 17.6521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 17.6521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.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.375": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -17.6521] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-2.5016, -3.2493, -22.6194] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 19.5, -17.6521] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 19.5, -17.6521] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -17.6521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -17.6521] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -24.75] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-38.9808, -3.1406, -63.2916] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-38.9808, 3.1406, 63.2916] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-47.3233, 8.7591, -67.0544] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-47.3233, -8.7591, 67.0544] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "fly": { + "loop": true, + "animation_length": 5, + "bones": { + "upperRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-25, 25, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [28.9762, -9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [29.3284, -8.552, -63.7354] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [28.9762, -9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "position": { + "0.0": { + "post": { + "vector": [0, 4, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "post": { + "vector": [-12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-12.6866, 9.7606, 2.1856] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-12.9264, -14.6364, -3.3192] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-12.6866, -9.7606, -2.1856] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-15.9153, 19.2911, 5.3815] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-15.9153, -19.2911, -5.3815] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "post": { + "vector": [-18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-19.5682, -26.1278, -8.8967] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [-18.5482, 19.0375, 6.246] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-18.5482, -19.0375, -6.246] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [28.9762, 9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [29.3284, 8.552, 63.7354] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [28.9762, 9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-28.9762, 9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-29.3284, 8.552, -63.7354] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-28.9762, 9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-28.9762, -9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-29.3284, -8.552, 63.7354] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-28.9762, -9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [25, 25, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "upperLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-25, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [25, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.3333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.4167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.5833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.6667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.8333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.0833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.3333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.4167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.5833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.6667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.75": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.8333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.9167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.0833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.25": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.3333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.4167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.5833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.6667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.75": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.8333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.9167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.0833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.1667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.25": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.3333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.4167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.5833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.6667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.75": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.8333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.9167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.3333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.4167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.5833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.6667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.8333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.0833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.3333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.4167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.5833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.6667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.75": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "2.8333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "2.9167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.0833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.25": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.3333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.4167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.5833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.6667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.75": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "3.8333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "3.9167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.0833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.1667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.25": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.3333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.4167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.5833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.6667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.75": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "4.8333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "4.9167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.3333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.4167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.5833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.6667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.8333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.0833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.3333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.4167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.5833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.6667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.75": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.8333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.9167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.0833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.25": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.3333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.4167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.5833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.6667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.75": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.8333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.9167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.0833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.1667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.25": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.3333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.4167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.5833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.6667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.75": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.8333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.9167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.3333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.4167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.5833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.6667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.8333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.0833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.3333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.4167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.5833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.6667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.75": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "2.8333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "2.9167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.0833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.25": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.3333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.4167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.5833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.6667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.75": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "3.8333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "3.9167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.0833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.1667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.25": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.3333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.4167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.5833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.6667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.75": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "4.8333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "4.9167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "5.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "attackair": { + "loop": true, + "animation_length": 1, + "bones": { + "upperRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [-10, 10, 0] + }, + "post": { + "vector": [-10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [28.9762, -9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [29.3284, -8.552, -63.7354] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [28.9762, -9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -10.39] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -44.61] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "root": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1875": { + "post": { + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "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": [0, 4, 3] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -2, -2] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 3, -6] + }, + "lerp_mode": "catmullrom" + }, + "0.6875": { + "post": { + "vector": [0, 5, -3] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [12.14, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -1] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -1] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailbase": { + "rotation": { + "0.0": { + "post": { + "vector": [-12.6866, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-22.6866, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-12.6866, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailmiddle": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.9153, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-30.9153, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.9153, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tailtip": { + "rotation": { + "0.0": { + "post": { + "vector": [-18.5482, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-36.0482, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-18.5482, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontleg": { + "rotation": { + "0.0": { + "post": { + "vector": [28.9762, 9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [29.3284, 8.552, 63.7354] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [28.9762, 9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 10.39] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftfrontfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 44.61] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-28.9762, 9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-29.3284, 8.552, -63.7354] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-28.9762, 9.77, -61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -10.39] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -44.61] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackleg": { + "rotation": { + "0.0": { + "post": { + "vector": [-28.9762, -9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-29.3284, -8.552, 63.7354] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-28.9762, -9.77, 61.5239] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 10.39] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftbackfoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 44.61] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerRightJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [15, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [10, 10, 0] + }, + "post": { + "vector": [10, 10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "upperLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15, -15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [-10, -10, 0] + }, + "post": { + "vector": [-10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "lowerLeftJaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [15, -15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "1.0": { + "pre": { + "vector": [10, -10, 0] + }, + "post": { + "vector": [10, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 10.39] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 44.61] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -25] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleleg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddleknee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -10.39] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -65] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightmiddlefoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -44.61] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 25] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-25.0746, 0.9139, -76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.0298, 1.1797, -43.4554] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing1": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-25.0746, -0.9139, 76.0322] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-15.0298, -1.1797, 43.4554] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-37.0054, 5.8091, -78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-25.1727, 5.6479, -39.0075] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightWing2": { + "rotation": { + "0.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-37.0054, -5.8091, 78.4915] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-25.1727, -5.6479, 39.0075] + }, + "lerp_mode": "catmullrom" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/animations/springbug.animation.json b/common-1.20.1/src/main/resources/assets/antarchy/animations/springbug.animation.json new file mode 100644 index 00000000..210f6cab --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/animations/springbug.animation.json @@ -0,0 +1,5790 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 4.5, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [7.1226, 29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [7.1226, 29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [0, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "0.0": { + "post": { + "vector": [0, -27.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.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" + }, + "4.5": { + "post": { + "vector": [7.1226, -29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "4.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" + }, + "4.5": { + "post": { + "vector": [-7.1226, 29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.12, -29.22, 14.36] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-7.1226, -29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [0, -15, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [0, 55, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [7.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [-35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [0, -55, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [7.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.25": { + "post": { + "vector": [-35, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 1, + "bones": { + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0.9, 25.37, 22.42] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-14.7966, -19.965, 19.6746] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-12.2252, -29.0774, 13.585] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [13.6745, 58.6061, 23.203] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "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.25": { + "post": { + "vector": [0, 0, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-4.9811, -0.4352, -4.9811] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0.0189, -0.4352, -4.9811] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [5.0189, -0.4352, -4.9811] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [4.9196, -1.0858, 2.4914] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [4.8066, -1.5099, 7.4746] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-0.1934, -1.5099, 7.4746] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-5.1934, -1.5099, 7.4746] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -31.1, -4] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [6, -34.72, -4] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [6, -32.3, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [4, -29.81, 8] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -28.1, 8] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-6, -34.96, 4] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-6, -32.8, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-6, -32.24, -6] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -31.1, -4] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-14.7966, 19.965, -19.6746] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "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.75": { + "post": { + "vector": [0.9, -25.37, -22.42] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "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.25": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [5.1528, 57.991, -18.9213] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-7.1226, 29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-36.5714, 35.9552, -34.1778] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-23.5556, 44.8303, -14.2689] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5.1528, 57.991, -18.9213] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -57.5] + }, + "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, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 30] + }, + "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.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "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": [-36.5714, -35.9552, 34.1778] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-23.5556, -44.8303, 14.2689] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5.1528, -57.991, 18.9213] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "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, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "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.5": { + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "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.25": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 70, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 50, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 70, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 50, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 70, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [35, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-5.3498, 1.8604, -13.9961] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [35, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1.25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-62.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-52.19, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [1.87, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -70, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -50, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -70, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -50, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -70, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [-5.3498, -1.8604, 13.9961] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [35, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "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.25": { + "post": { + "vector": [-52.19, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-1.25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-62.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [1.87, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "attack": { + "animation_length": 1, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 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": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "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" + }, + "1.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "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" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "0.0": { + "post": { + "vector": [0, -27.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -27.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "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" + }, + "1.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "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" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.1226, 29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-7.1226, 29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "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" + }, + "1.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.1226, -29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-7.1226, -29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "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" + }, + "1.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 20, 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" + }, + "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.5": { + "post": { + "vector": [41.8878, 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.625": { + "post": { + "vector": [32.5, 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.375": { + "post": { + "vector": [-37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [59.72, 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.375": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -1] + }, + "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" + }, + "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.5": { + "post": { + "vector": [41.8878, -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.625": { + "post": { + "vector": [32.5, 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.375": { + "post": { + "vector": [-37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [59.72, 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.375": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -1] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "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-1.20.1/src/main/resources/assets/antarchy/animations/stratoshark.animation.json b/common-1.20.1/src/main/resources/assets/antarchy/animations/stratoshark.animation.json new file mode 100644 index 00000000..7a3524e8 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/animations/stratoshark.animation.json @@ -0,0 +1,1692 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 8, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -9, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.0833": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "5.5833": { + "post": { + "vector": [9.05152, -14.71181, -2.33362] + }, + "lerp_mode": "catmullrom" + }, + "5.9167": { + "post": { + "vector": [8.59652, 23.13213, 3.14923] + }, + "lerp_mode": "catmullrom" + }, + "6.2083": { + "post": { + "vector": [12.67376, -21.70208, -2.75583] + }, + "lerp_mode": "catmullrom" + }, + "6.5": { + "post": { + "vector": [7.93597, -1.62811, -0.02639] + }, + "lerp_mode": "catmullrom" + }, + "7.0": { + "post": { + "vector": [7.00225, -12.68164, -1.3867] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "0.0": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.3333": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_fin": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 7.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_fin": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, -7.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "6.0": { + "post": { + "vector": [0, -10, 0] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 21, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "6.0": { + "post": { + "vector": [0, -22.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "shark": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "5.125": { + "post": { + "vector": [0, 0, 8.34] + }, + "lerp_mode": "catmullrom" + }, + "5.5417": { + "post": { + "vector": [0, 0, -9.4] + }, + "lerp_mode": "catmullrom" + }, + "6.0": { + "post": { + "vector": [0, 0, 7.28] + }, + "lerp_mode": "catmullrom" + }, + "6.4583": { + "post": { + "vector": [0, 0, -20.48] + }, + "lerp_mode": "catmullrom" + }, + "7.125": { + "post": { + "vector": [0, 0, 10.84] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 5, 0] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_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" + } + } + }, + "left_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" + } + } + }, + "halo": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, -360, 0] + }, + "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, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-24.99904, 0.15373, -0.04445] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.4583": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [20.04, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_fin": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 10, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "3.9583": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_fin": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -10, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "3.9583": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5417": { + "post": { + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "shark": { + "rotation": { + "0.0": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.2083": { + "post": { + "vector": [27.5, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [39.87576, -0.221, 0.70095] + }, + "lerp_mode": "catmullrom" + }, + "3.2083": { + "post": { + "vector": [8.10446, 0, -10.81866] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.125": { + "post": { + "vector": [0, -7, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.125": { + "post": { + "vector": [0, -3.07, -23] + }, + "lerp_mode": "catmullrom" + }, + "3.0833": { + "post": { + "vector": [0, 1.32, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_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" + } + } + }, + "left_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" + } + } + }, + "halo": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, -360, 0] + }, + "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" + } + } + } + } + }, + "attack": { + "animation_length": 1, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-23.90662, 11.91236, 24.96938] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [72.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [72.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_fin": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [18.89595, 26.94622, 37.0662] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [18.89595, 26.94622, 37.0662] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_fin": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [18.89595, -26.94622, -37.0662] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [18.89595, -26.94622, -37.0662] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.5417": { + "vector": [0.03742, 9.00972, 6.31059] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [27.22644, -22.52101, -11.14843] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [29.87229, -22.01609, -12.15123] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "shark": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "vector": [15.00835, -0.0566, -0.1949] + }, + "0.2917": { + "vector": [15.00835, -0.0566, -0.1949] + }, + "0.5": { + "vector": [35.00835, -0.0566, -0.1949] + }, + "0.5833": { + "vector": [34.06837, -8.59433, 12.1853] + }, + "1.0": { + "pre": { + "vector": [0, 0, 0] + }, + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -4, 8] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, -4, 8] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-1, -4, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0.44, -4, -10.06] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-1, -4, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -4, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, -16, -9] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, -9, -9] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_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" + } + } + }, + "left_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" + } + } + }, + "halo": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "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-1.20.1/src/main/resources/assets/antarchy/blockstates/crawling_blight_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/crawling_blight_egg.json new file mode 100644 index 00000000..be0e9726 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/crawling_blight_egg.json @@ -0,0 +1,76 @@ +{ + "variants": { + "eggs=1,hatch=0": [ + { "model": "antarchy:block/crawling_blight_egg_1" }, + { "model": "antarchy:block/crawling_blight_egg_1", "y": 90 }, + { "model": "antarchy:block/crawling_blight_egg_1", "y": 180 }, + { "model": "antarchy:block/crawling_blight_egg_1", "y": 270 } + ], + "eggs=1,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_1" }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_1", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_1", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_1", "y": 270 } + ], + "eggs=1,hatch=2": [ + { "model": "antarchy:block/very_cracked_crawling_blight_egg_1" }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_1", "y": 90 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_1", "y": 180 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_1", "y": 270 } + ], + "eggs=2,hatch=0": [ + { "model": "antarchy:block/crawling_blight_egg_2" }, + { "model": "antarchy:block/crawling_blight_egg_2", "y": 90 }, + { "model": "antarchy:block/crawling_blight_egg_2", "y": 180 }, + { "model": "antarchy:block/crawling_blight_egg_2", "y": 270 } + ], + "eggs=2,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_2" }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_2", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_2", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_2", "y": 270 } + ], + "eggs=2,hatch=2": [ + { "model": "antarchy:block/very_cracked_crawling_blight_egg_2" }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_2", "y": 90 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_2", "y": 180 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_2", "y": 270 } + ], + "eggs=3,hatch=0": [ + { "model": "antarchy:block/crawling_blight_egg_3" }, + { "model": "antarchy:block/crawling_blight_egg_3", "y": 90 }, + { "model": "antarchy:block/crawling_blight_egg_3", "y": 180 }, + { "model": "antarchy:block/crawling_blight_egg_3", "y": 270 } + ], + "eggs=3,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_3" }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_3", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_3", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_3", "y": 270 } + ], + "eggs=3,hatch=2": [ + { "model": "antarchy:block/very_cracked_crawling_blight_egg_3" }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_3", "y": 90 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_3", "y": 180 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_3", "y": 270 } + ], + "eggs=4,hatch=0": [ + { "model": "antarchy:block/crawling_blight_egg_4" }, + { "model": "antarchy:block/crawling_blight_egg_4", "y": 90 }, + { "model": "antarchy:block/crawling_blight_egg_4", "y": 180 }, + { "model": "antarchy:block/crawling_blight_egg_4", "y": 270 } + ], + "eggs=4,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_4" }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_4", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_4", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_crawling_blight_egg_4", "y": 270 } + ], + "eggs=4,hatch=2": [ + { "model": "antarchy:block/very_cracked_crawling_blight_egg_4" }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_4", "y": 90 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_4", "y": 180 }, + { "model": "antarchy:block/very_cracked_crawling_blight_egg_4", "y": 270 } + ] + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/blockstates/flytrap_goo_block.json b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/flytrap_goo_block.json new file mode 100644 index 00000000..24b18afc --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/flytrap_goo_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "antarchy:block/flytrap_goo_block" + } + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/blockstates/skulking_fright_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/skulking_fright_egg.json new file mode 100644 index 00000000..e7cbf512 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/skulking_fright_egg.json @@ -0,0 +1,76 @@ +{ + "variants": { + "eggs=1,hatch=0": [ + { "model": "antarchy:block/skulking_fright_egg_1" }, + { "model": "antarchy:block/skulking_fright_egg_1", "y": 90 }, + { "model": "antarchy:block/skulking_fright_egg_1", "y": 180 }, + { "model": "antarchy:block/skulking_fright_egg_1", "y": 270 } + ], + "eggs=1,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_1" }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_1", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_1", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_1", "y": 270 } + ], + "eggs=1,hatch=2": [ + { "model": "antarchy:block/very_cracked_skulking_fright_egg_1" }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_1", "y": 90 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_1", "y": 180 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_1", "y": 270 } + ], + "eggs=2,hatch=0": [ + { "model": "antarchy:block/skulking_fright_egg_2" }, + { "model": "antarchy:block/skulking_fright_egg_2", "y": 90 }, + { "model": "antarchy:block/skulking_fright_egg_2", "y": 180 }, + { "model": "antarchy:block/skulking_fright_egg_2", "y": 270 } + ], + "eggs=2,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_2" }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_2", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_2", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_2", "y": 270 } + ], + "eggs=2,hatch=2": [ + { "model": "antarchy:block/very_cracked_skulking_fright_egg_2" }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_2", "y": 90 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_2", "y": 180 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_2", "y": 270 } + ], + "eggs=3,hatch=0": [ + { "model": "antarchy:block/skulking_fright_egg_3" }, + { "model": "antarchy:block/skulking_fright_egg_3", "y": 90 }, + { "model": "antarchy:block/skulking_fright_egg_3", "y": 180 }, + { "model": "antarchy:block/skulking_fright_egg_3", "y": 270 } + ], + "eggs=3,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_3" }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_3", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_3", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_3", "y": 270 } + ], + "eggs=3,hatch=2": [ + { "model": "antarchy:block/very_cracked_skulking_fright_egg_3" }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_3", "y": 90 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_3", "y": 180 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_3", "y": 270 } + ], + "eggs=4,hatch=0": [ + { "model": "antarchy:block/skulking_fright_egg_4" }, + { "model": "antarchy:block/skulking_fright_egg_4", "y": 90 }, + { "model": "antarchy:block/skulking_fright_egg_4", "y": 180 }, + { "model": "antarchy:block/skulking_fright_egg_4", "y": 270 } + ], + "eggs=4,hatch=1": [ + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_4" }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_4", "y": 90 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_4", "y": 180 }, + { "model": "antarchy:block/slightly_cracked_skulking_fright_egg_4", "y": 270 } + ], + "eggs=4,hatch=2": [ + { "model": "antarchy:block/very_cracked_skulking_fright_egg_4" }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_4", "y": 90 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_4", "y": 180 }, + { "model": "antarchy:block/very_cracked_skulking_fright_egg_4", "y": 270 } + ] + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/blockstates/springbug_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/springbug_egg.json new file mode 100644 index 00000000..ad413016 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/springbug_egg.json @@ -0,0 +1,20 @@ +{ + "variants": { + "hanging=false,rotated=false": { + "model": "antarchy:block/springbug_egg" + }, + "hanging=false,rotated=true": { + "model": "antarchy:block/springbug_egg", + "y": 90 + }, + "hanging=true,rotated=false": { + "model": "antarchy:block/springbug_egg", + "x": 180 + }, + "hanging=true,rotated=true": { + "model": "antarchy:block/springbug_egg", + "x": 180, + "y": 90 + } + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/blockstates/undertrial_spawner.json b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/undertrial_spawner.json new file mode 100644 index 00000000..649a83cc --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/undertrial_spawner.json @@ -0,0 +1,8 @@ +{ + "variants": { + "active=false,ominous=false": {"model": "antarchy:block/undertrial_spawner_inactive", "x": 180}, + "active=false,ominous=true": {"model": "antarchy:block/undertrial_spawner_inactive", "x": 180}, + "active=true,ominous=false": {"model": "antarchy:block/undertrial_spawner_active", "x": 180}, + "active=true,ominous=true": {"model": "antarchy:block/undertrial_spawner_active", "x": 180} + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/blockstates/undervault.json b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/undervault.json new file mode 100644 index 00000000..93e588a9 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/blockstates/undervault.json @@ -0,0 +1,16 @@ +{ + "variants": { + "active=false,facing=down": {"model": "antarchy:block/undervault_off", "x": 180}, + "active=false,facing=up": {"model": "antarchy:block/undervault_off", "x": 270}, + "active=false,facing=north": {"model": "antarchy:block/undervault_off"}, + "active=false,facing=south": {"model": "antarchy:block/undervault_off", "y": 180}, + "active=false,facing=east": {"model": "antarchy:block/undervault_off", "y": 90}, + "active=false,facing=west": {"model": "antarchy:block/undervault_off", "y": 270}, + "active=true,facing=down": {"model": "antarchy:block/undervault_on", "x": 180}, + "active=true,facing=up": {"model": "antarchy:block/undervault_on", "x": 270}, + "active=true,facing=north": {"model": "antarchy:block/undervault_on"}, + "active=true,facing=south": {"model": "antarchy:block/undervault_on", "y": 180}, + "active=true,facing=east": {"model": "antarchy:block/undervault_on", "y": 90}, + "active=true,facing=west": {"model": "antarchy:block/undervault_on", "y": 270} + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/geo/crawling_blight.geo.json b/common-1.20.1/src/main/resources/assets/antarchy/geo/crawling_blight.geo.json new file mode 100644 index 00000000..b073dc1d --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/geo/crawling_blight.geo.json @@ -0,0 +1,194 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.crawlingblight", + "texture_width": 256, + "texture_height": 256, + "visible_bounds_width": 9, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "root", + "pivot": [0, 0, 0] + }, + { + "name": "body", + "parent": "root", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-6, 0, -7], "size": [12, 12, 14], "uv": [0, 0]}, + {"origin": [-4, 2, -11], "size": [1, 2, 5], "pivot": [-3.5, 3, -7], "rotation": [24.14867, 20.70481, 9.00717], "uv": [0, 0]}, + {"origin": [3, 2, -11], "size": [1, 2, 5], "pivot": [3.5, 3, -7], "rotation": [24.14867, -20.70481, -9.00717], "uv": [0, 0], "mirror": true}, + {"origin": [-4, 8, -11], "size": [1, 2, 5], "pivot": [-3.5, 9, -7], "rotation": [-24.14867, 20.70481, -9.00717], "uv": [0, 0]}, + {"origin": [3, 8, -11], "size": [1, 2, 5], "pivot": [3.5, 9, -7], "rotation": [-24.14867, -20.70481, 9.00717], "uv": [0, 0], "mirror": true}, + {"origin": [-4, 2, -7], "size": [8, 8, 2], "uv": [104, 12]}, + {"origin": [-6, 0, -7], "size": [12, 0, 5], "pivot": [0, 0, -7], "rotation": [30, 0, -180], "uv": [100, 84]}, + {"origin": [-6, 0, -5], "size": [12, 0, 6], "pivot": [0, 0, -5], "rotation": [25, 0, -180], "uv": [100, 54]}, + {"origin": [-6, 0, -2], "size": [12, 0, 7], "pivot": [0, 0, -2], "rotation": [15, 0, -180], "uv": [100, 43]}, + {"origin": [-6, 0, 2], "size": [12, 0, 8], "pivot": [0, 0, 2], "rotation": [10, 0, -180], "uv": [92, 35]}, + {"origin": [-6, 0, 7], "size": [12, 0, 9], "pivot": [0, 0, 7], "rotation": [0, 0, 180], "uv": [92, 26]}, + {"origin": [-12, 6, -2], "size": [12, 0, 7], "pivot": [-6, 6, -2], "rotation": [20, 0, -90], "uv": [100, 43], "mirror": true}, + {"origin": [-12, 6, 2], "size": [12, 0, 8], "pivot": [-6, 6, 2], "rotation": [10, 0, -90], "uv": [92, 35], "mirror": true}, + {"origin": [-12, 6, 7], "size": [12, 0, 9], "pivot": [-6, 6, 7], "rotation": [5, 0, -90], "uv": [92, 26], "mirror": true}, + {"origin": [0, 6, 2], "size": [12, 0, 8], "pivot": [6, 6, 2], "rotation": [10, 0, 90], "uv": [92, 35]}, + {"origin": [0, 6, 7], "size": [12, 0, 9], "pivot": [6, 6, 7], "rotation": [5, 0, 90], "uv": [92, 26]}, + {"origin": [0, 6, -2], "size": [12, 0, 7], "pivot": [6, 6, -2], "rotation": [20, 0, 90], "uv": [100, 43]} + ] + }, + { + "name": "bone", + "parent": "body", + "pivot": [0, 6, -7], + "cubes": [ + {"origin": [-6, 9.85673, -2.40373], "size": [12, 0, 5], "pivot": [0, 6, -7], "rotation": [50, 0, 0], "uv": [100, 84]}, + {"origin": [-6, 10.24264, -0.75736], "size": [12, 0, 6], "pivot": [0, 6, -5], "rotation": [45, 0, 0], "uv": [100, 54]}, + {"origin": [-6, 11.19615, 1], "size": [12, 0, 7], "pivot": [0, 6, -2], "rotation": [30, 0, 0], "uv": [100, 43]}, + {"origin": [-6, 11.43785, 4.53571], "size": [12, 0, 8], "pivot": [0, 6, 2], "rotation": [25, 0, 0], "uv": [92, 35]}, + {"origin": [-6, 11.79555, 8.55291], "size": [12, 0, 9], "pivot": [0, 6, 7], "rotation": [15, 0, 0], "uv": [92, 26]} + ] + }, + { + "name": "rightjaw", + "parent": "body", + "pivot": [-6, 6, -7], + "cubes": [ + {"origin": [-6, 3, -13], "size": [4, 6, 6], "uv": [104, 0]} + ] + }, + { + "name": "leftjaw", + "parent": "body", + "pivot": [6, 6, -7], + "cubes": [ + {"origin": [2, 3, -13], "size": [4, 6, 6], "uv": [104, 0], "mirror": true} + ] + }, + { + "name": "tailbase", + "parent": "body", + "pivot": [0, 6, 7], + "cubes": [ + {"origin": [-5, 1, 7], "size": [10, 10, 14], "uv": [52, 46]} + ] + }, + { + "name": "tailmiddle", + "parent": "tailbase", + "pivot": [0, 6, 21], + "cubes": [ + {"origin": [-3.5, 2.5, 21], "size": [7, 7, 14], "uv": [48, 94]} + ] + }, + { + "name": "tailtip", + "parent": "tailmiddle", + "pivot": [0, 6, 35], + "cubes": [ + {"origin": [-1.5, 4.5, 35], "size": [3, 3, 14], "uv": [58, 26]}, + {"origin": [-4.5, 6, 39], "size": [9, 0, 20], "uv": [0, 26]} + ] + }, + { + "name": "rightfrontleg", + "parent": "root", + "pivot": [-6, 8, -3], + "cubes": [ + {"origin": [-18, 6, -6], "size": [12, 4, 4], "uv": [100, 60]} + ] + }, + { + "name": "rightfrontknee", + "parent": "rightfrontleg", + "pivot": [-18, 6, -4], + "cubes": [ + {"origin": [-18, 6, -5], "size": [3, 16, 2], "uv": [42, 115]} + ] + }, + { + "name": "rightfrontfoot", + "parent": "rightfrontknee", + "pivot": [-18, 18, -4], + "cubes": [ + {"origin": [-35, 18, -4], "size": [20, 4, 0], "uv": [100, 50]} + ] + }, + { + "name": "rightbackleg", + "parent": "root", + "pivot": [-6, 8, 4], + "cubes": [ + {"origin": [-18, 6, 3], "size": [12, 4, 4], "uv": [100, 60]} + ] + }, + { + "name": "rightbackknee", + "parent": "rightbackleg", + "pivot": [-18, 6, 5], + "cubes": [ + {"origin": [-18, 6, 4], "size": [3, 16, 2], "uv": [42, 115]} + ] + }, + { + "name": "rightbackfoot", + "parent": "rightbackknee", + "pivot": [-18, 18, 5], + "cubes": [ + {"origin": [-35, 18, 5], "size": [20, 4, 0], "uv": [100, 50]} + ] + }, + { + "name": "leftfrontleg", + "parent": "root", + "pivot": [6, 8, -3], + "cubes": [ + {"origin": [6, 6, -6], "size": [12, 4, 4], "uv": [100, 60], "mirror": true} + ] + }, + { + "name": "leftfrontknee", + "parent": "leftfrontleg", + "pivot": [18, 6, -4], + "cubes": [ + {"origin": [15, 6, -5], "size": [3, 16, 2], "uv": [42, 115], "mirror": true} + ] + }, + { + "name": "leftfrontfoot", + "parent": "leftfrontknee", + "pivot": [18, 18, -4], + "cubes": [ + {"origin": [15, 18, -4], "size": [20, 4, 0], "uv": [100, 50], "mirror": true} + ] + }, + { + "name": "leftbackleg", + "parent": "root", + "pivot": [6, 8, 4], + "cubes": [ + {"origin": [6, 6, 3], "size": [12, 4, 4], "uv": [100, 60], "mirror": true} + ] + }, + { + "name": "leftbackknee", + "parent": "leftbackleg", + "pivot": [18, 6, 5], + "cubes": [ + {"origin": [15, 6, 4], "size": [3, 16, 2], "uv": [42, 115], "mirror": true} + ] + }, + { + "name": "leftbackfoot", + "parent": "leftbackknee", + "pivot": [18, 18, 5], + "cubes": [ + {"origin": [15, 18, 5], "size": [20, 4, 0], "uv": [100, 50], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/geo/flytrap.geo.json b/common-1.20.1/src/main/resources/assets/antarchy/geo/flytrap.geo.json new file mode 100644 index 00000000..d8943375 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/geo/flytrap.geo.json @@ -0,0 +1,210 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.flytrap", + "texture_width": 256, + "texture_height": 256, + "visible_bounds_width": 8, + "visible_bounds_height": 7.5, + "visible_bounds_offset": [0, 3.25, 0] + }, + "bones": [ + { + "name": "root", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-16, 0, -16], "size": [32, 0, 32], "inflate": 0.01, "uv": [26, 2]} + ] + }, + { + "name": "base", + "parent": "root", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-8, 0, -8], "size": [16, 8, 16], "uv": [32, 61]} + ] + }, + { + "name": "stemLower", + "parent": "base", + "pivot": [0, 6, 0], + "cubes": [ + {"origin": [-4, 6, -4], "size": [8, 17, 8], "inflate": 0.05, "uv": [1, 18]} + ] + }, + { + "name": "stemMiddle", + "parent": "stemLower", + "pivot": [0, 23, 0], + "cubes": [ + {"origin": [-4, 23, -4], "size": [8, 17, 8], "inflate": 0.025, "uv": [0, 43]} + ] + }, + { + "name": "stemUpper", + "parent": "stemMiddle", + "pivot": [0, 40, 0], + "cubes": [ + {"origin": [-4, 40, -4], "size": [8, 17, 8], "uv": [0, 68]} + ] + }, + { + "name": "head", + "parent": "stemUpper", + "pivot": [0, 57, 0], + "cubes": [ + {"origin": [-8, 57, -8], "size": [16, 5, 16], "uv": [0, 93]}, + {"origin": [-8, 57, -8], "size": [16, 5, 16], "inflate": 0.5, "uv": [0, 114]} + ] + }, + { + "name": "petal_L", + "parent": "head", + "pivot": [0, 61, 0], + "cubes": [ + {"origin": [0, 61, -14], "size": [12, 24, 28], "uv": [64, 85], "mirror": true}, + {"origin": [-8, 61, -14], "size": [8, 24, 0], "pivot": [0, 73, -14], "rotation": [0, -22.5, 0], "uv": [32, 53], "mirror": true}, + {"origin": [-8, 61, 14], "size": [8, 24, 0], "pivot": [0, 73, 14], "rotation": [0, 22.5, 0], "uv": [32, 53], "mirror": true}, + {"origin": [-11, 85, -14], "size": [11, 0, 28], "pivot": [0, 85, 0], "rotation": [0, 0, 45], "uv": [5, 24], "mirror": true} + ] + }, + { + "name": "saliva_L", + "parent": "petal_L", + "pivot": [0, 75.5, -13], + "cubes": [ + {"origin": [0, 75, -20], "size": [0, 1, 7], "inflate": 0.01, "uv": [35, 13], "mirror": true} + ] + }, + { + "name": "saliva_L2", + "parent": "petal_L", + "pivot": [0, 80.5, -13], + "cubes": [ + {"origin": [0, 80, -24], "size": [0, 1, 11], "inflate": 0.01, "uv": [31, 10], "mirror": true} + ] + }, + { + "name": "petal_R", + "parent": "head", + "pivot": [0, 61, 0], + "cubes": [ + {"origin": [-12, 61, -14], "size": [12, 24, 28], "uv": [64, 85]}, + {"origin": [0, 61, -14], "size": [8, 24, 0], "pivot": [0, 73, -14], "rotation": [0, 22.5, 0], "uv": [32, 53]}, + {"origin": [0, 61, 14], "size": [8, 24, 0], "pivot": [0, 73, 14], "rotation": [0, -22.5, 0], "uv": [32, 53]}, + {"origin": [0, 85, -14], "size": [11, 0, 28], "pivot": [0, 85, 0], "rotation": [0, 0, -45], "uv": [5, 24]} + ] + }, + { + "name": "saliva_R", + "parent": "petal_R", + "pivot": [0, 75.5, -13], + "cubes": [ + {"origin": [0, 75, -20], "size": [0, 1, 7], "inflate": 0.01, "uv": [35, 13]} + ] + }, + { + "name": "saliva_R2", + "parent": "petal_R", + "pivot": [0, 80.5, -13], + "cubes": [ + {"origin": [0, 80, -24], "size": [0, 1, 11], "inflate": 0.01, "uv": [31, 10]} + ] + }, + { + "name": "tongueBase", + "parent": "head", + "pivot": [0, 61, 0], + "cubes": [ + {"origin": [-2, 61, -2], "size": [4, 8, 4], "uv": [12, 0]} + ] + }, + { + "name": "tongueMiddle", + "parent": "tongueBase", + "pivot": [0, 69, 0], + "cubes": [ + {"origin": [-1, 69, -1], "size": [2, 16, 2], "uv": [0, 0]} + ] + }, + { + "name": "tongueTip", + "parent": "tongueMiddle", + "pivot": [0, 85, 0], + "cubes": [ + {"origin": [0, 85, -1], "size": [0, 16, 2], "uv": [8, 0]}, + {"origin": [-1, 101, -1], "size": [2, 2, 2], "uv": [32, 6]} + ] + }, + { + "name": "leafRight", + "parent": "base", + "pivot": [-8, 8, 0], + "cubes": [ + {"origin": [-28, 8, -12], "size": [20, 0, 24], "uv": [72, 61]} + ] + }, + { + "name": "leafTipRight", + "parent": "leafRight", + "pivot": [-28, 8, 0], + "cubes": [ + {"origin": [-56, 8, -12], "size": [28, 0, 24], "uv": [31, 37]} + ] + }, + { + "name": "leafLeft", + "parent": "base", + "pivot": [8, 8, 0], + "cubes": [ + {"origin": [8, 8, -12], "size": [20, 0, 24], "uv": [72, 61], "mirror": true} + ] + }, + { + "name": "leafTipLeft", + "parent": "leafLeft", + "pivot": [28, 8, 0], + "cubes": [ + {"origin": [28, 8, -12], "size": [28, 0, 24], "uv": [31, 37], "mirror": true} + ] + }, + { + "name": "leafFront", + "parent": "base", + "pivot": [0, 8, -8], + "rotation": [0, 90, 0], + "cubes": [ + {"origin": [0, 8, -20], "size": [20, 0, 24], "uv": [72, 61], "mirror": true} + ] + }, + { + "name": "leafTipFront", + "parent": "leafFront", + "pivot": [20, 8, -8], + "cubes": [ + {"origin": [20, 8, -20], "size": [28, 0, 24], "uv": [31, 37], "mirror": true} + ] + }, + { + "name": "leafBack", + "parent": "base", + "pivot": [0, 8, 8], + "rotation": [0, -90, 0], + "cubes": [ + {"origin": [0, 8, -4], "size": [20, 0, 24], "uv": [72, 61], "mirror": true} + ] + }, + { + "name": "leafTipBack", + "parent": "leafBack", + "pivot": [20, 8, 8], + "cubes": [ + {"origin": [20, 8, -4], "size": [28, 0, 24], "uv": [31, 37], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/geo/skulking_fright.geo.json b/common-1.20.1/src/main/resources/assets/antarchy/geo/skulking_fright.geo.json new file mode 100644 index 00000000..8468810c --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/geo/skulking_fright.geo.json @@ -0,0 +1,281 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.skulkingfright", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 8, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "root", + "pivot": [0, 0, 0] + }, + { + "name": "body", + "parent": "root", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-6, 0, -7], "size": [12, 12, 14], "uv": [0, 0]} + ] + }, + { + "name": "upperRightJaw", + "parent": "body", + "pivot": [0, 6, -7], + "cubes": [ + {"origin": [4.5, 13.5, -21], "size": [4, 3, 14], "pivot": [4, 5.5, -14], "rotation": [0, 0, -90], "uv": [0, 50]}, + {"origin": [5.5, 16.5, -21], "size": [3, 3, 14], "pivot": [4, 8.5, -14], "rotation": [0, 0, -90], "uv": [0, 85]}, + {"origin": [8.5, 15.5, -21], "size": [3, 4, 14], "pivot": [7, 8.5, -14], "rotation": [0, 0, -90], "uv": [64, 47]}, + {"origin": [4.5, 15.5, -21], "size": [4, 4, 2], "pivot": [7, 8.5, -14], "rotation": [0, 0, -90], "uv": [34, 68]}, + {"origin": [8.5, -1.5, -20], "size": [6, 1, 13], "pivot": [11, 9.5, -14], "rotation": [0, 0, 90], "uv": [64, 65]}, + {"origin": [14.5, -7.5, -20], "size": [1, 6, 13], "pivot": [11, 9.5, -14], "rotation": [0, 0, 90], "uv": [34, 87]} + ] + }, + { + "name": "upperLeftJaw", + "parent": "body", + "pivot": [0, 6, -7], + "cubes": [ + {"origin": [-8.5, 13.5, -21], "size": [4, 3, 14], "pivot": [-4, 5.5, -14], "rotation": [0, 0, 90], "uv": [0, 50]}, + {"origin": [-8.5, 16.5, -21], "size": [3, 3, 14], "pivot": [-4, 8.5, -14], "rotation": [0, 0, 90], "uv": [0, 85]}, + {"origin": [-11.5, 15.5, -21], "size": [3, 4, 14], "pivot": [-7, 8.5, -14], "rotation": [0, 0, 90], "uv": [0, 67]}, + {"origin": [-8.5, 15.5, -21], "size": [4, 4, 2], "pivot": [-7, 8.5, -14], "rotation": [0, 0, 90], "uv": [34, 68]}, + {"origin": [-14.5, -1.5, -20], "size": [6, 1, 13], "pivot": [-11, 9.5, -14], "rotation": [0, 0, -90], "uv": [64, 79]}, + {"origin": [-15.5, -7.5, -20], "size": [1, 6, 13], "pivot": [-11, 9.5, -14], "rotation": [0, 0, -90], "uv": [88, 0]} + ] + }, + { + "name": "lowerRightJaw", + "parent": "body", + "pivot": [0, 6, -7], + "cubes": [ + {"origin": [4.5, -4.5, -21], "size": [4, 3, 14], "pivot": [4, 6.5, -14], "rotation": [0, 0, 90], "uv": [52, 0]}, + {"origin": [5.5, -7.5, -21], "size": [3, 3, 14], "pivot": [4, 3.5, -14], "rotation": [0, 0, 90], "uv": [0, 85]}, + {"origin": [8.5, -7.5, -21], "size": [3, 4, 14], "pivot": [7, 3.5, -14], "rotation": [0, 0, 90], "uv": [64, 47]}, + {"origin": [4.5, -7.5, -21], "size": [4, 4, 2], "pivot": [7, 3.5, -14], "rotation": [0, 0, 90], "uv": [34, 68]}, + {"origin": [8.5, -7.5, -20], "size": [6, 1, 13], "pivot": [11, 3.5, -14], "rotation": [0, 0, 90], "uv": [64, 79]}, + {"origin": [14.5, -6.5, -20], "size": [1, 6, 13], "pivot": [11, 10.5, -14], "rotation": [0, 0, 90], "uv": [88, 0]} + ] + }, + { + "name": "lowerLeftJaw", + "parent": "body", + "pivot": [0, 6, -7], + "cubes": [ + {"origin": [-8.5, -4.5, -21], "size": [4, 3, 14], "pivot": [-4, 6.5, -14], "rotation": [0, 0, -90], "uv": [52, 0]}, + {"origin": [-8.5, -7.5, -21], "size": [3, 3, 14], "pivot": [-4, 3.5, -14], "rotation": [0, 0, -90], "uv": [0, 85]}, + {"origin": [-11.5, -7.5, -21], "size": [3, 4, 14], "pivot": [-7, 3.5, -14], "rotation": [0, 0, -90], "uv": [0, 67]}, + {"origin": [-8.5, -7.5, -21], "size": [4, 4, 2], "pivot": [-7, 3.5, -14], "rotation": [0, 0, -90], "uv": [34, 68]}, + {"origin": [-14.5, -7.5, -20], "size": [6, 1, 13], "pivot": [-11, 3.5, -14], "rotation": [0, 0, -90], "uv": [64, 65]}, + {"origin": [-15.5, -6.5, -20], "size": [1, 6, 13], "pivot": [-11, 10.5, -14], "rotation": [0, 0, -90], "uv": [34, 87]} + ] + }, + { + "name": "tailbase", + "parent": "body", + "pivot": [0, 6, 7], + "cubes": [ + {"origin": [-5, 1, 7], "size": [10, 10, 14], "uv": [0, 26]} + ] + }, + { + "name": "tailmiddle", + "parent": "tailbase", + "pivot": [0, 6, 21], + "cubes": [ + {"origin": [-3.5, 2.5, 21], "size": [7, 7, 14], "uv": [48, 26]} + ] + }, + { + "name": "tailtip", + "parent": "tailmiddle", + "pivot": [0, 6, 35], + "cubes": [ + {"origin": [-5, 1, 35], "size": [10, 10, 14], "uv": [49, 95]} + ] + }, + { + "name": "leftWing1", + "parent": "body", + "pivot": [-2, 12, -7], + "cubes": [ + {"origin": [-2, 12, -7], "size": [0, 32, 8], "uv": [48, 47]} + ] + }, + { + "name": "leftWing2", + "parent": "body", + "pivot": [-3, 12, 0], + "cubes": [ + {"origin": [-3, 12, 0], "size": [0, 27, 8], "uv": [48, 47]} + ] + }, + { + "name": "rightWing1", + "parent": "body", + "pivot": [2, 12, -7], + "cubes": [ + {"origin": [2, 12, -7], "size": [0, 32, 8], "uv": [48, 47], "mirror": true} + ] + }, + { + "name": "rightWing2", + "parent": "body", + "pivot": [3, 12, 0], + "cubes": [ + {"origin": [3, 12, 0], "size": [0, 27, 8], "uv": [48, 47], "mirror": true} + ] + }, + { + "name": "rightfrontleg", + "parent": "root", + "pivot": [-6, 8, -3], + "cubes": [ + {"origin": [-18, 6, -6], "size": [12, 4, 4], "uv": [90, 23]} + ] + }, + { + "name": "rightfrontknee", + "parent": "rightfrontleg", + "pivot": [-18, 6, -4], + "cubes": [ + {"origin": [-18, 6, -5], "size": [3, 16, 2], "uv": [36, 50]} + ] + }, + { + "name": "rightfrontfoot", + "parent": "rightfrontknee", + "pivot": [-18, 18, -4], + "cubes": [ + {"origin": [-35, 18, -4], "size": [20, 4, 0], "uv": [52, 19]} + ] + }, + { + "name": "rightbackleg", + "parent": "root", + "pivot": [-6, 8, 4], + "cubes": [ + {"origin": [-18, 6, 3], "size": [12, 4, 4], "uv": [90, 23]} + ] + }, + { + "name": "rightbackknee", + "parent": "rightbackleg", + "pivot": [-18, 6, 5], + "cubes": [ + {"origin": [-18, 6, 4], "size": [3, 16, 2], "uv": [36, 50]} + ] + }, + { + "name": "rightbackfoot", + "parent": "rightbackknee", + "pivot": [-18, 18, 5], + "cubes": [ + {"origin": [-35, 18, 5], "size": [20, 4, 0], "uv": [52, 19]} + ] + }, + { + "name": "leftfrontleg", + "parent": "root", + "pivot": [6, 8, -3], + "cubes": [ + {"origin": [6, 6, -6], "size": [12, 4, 4], "uv": [90, 23], "mirror": true} + ] + }, + { + "name": "leftfrontknee", + "parent": "leftfrontleg", + "pivot": [18, 6, -4], + "cubes": [ + {"origin": [15, 6, -5], "size": [3, 16, 2], "uv": [36, 50], "mirror": true} + ] + }, + { + "name": "leftfrontfoot", + "parent": "leftfrontknee", + "pivot": [18, 18, -4], + "cubes": [ + {"origin": [15, 18, -4], "size": [20, 4, 0], "uv": [52, 19], "mirror": true} + ] + }, + { + "name": "leftmiddleleg", + "parent": "root", + "pivot": [6, 8, 1.5], + "cubes": [ + {"origin": [6, 6, -1.5], "size": [12, 4, 4], "uv": [90, 23], "mirror": true} + ] + }, + { + "name": "leftmiddleknee", + "parent": "leftmiddleleg", + "pivot": [18, 6, 0.5], + "cubes": [ + {"origin": [15, 6, -0.5], "size": [3, 16, 2], "uv": [36, 50], "mirror": true} + ] + }, + { + "name": "leftmiddlefoot", + "parent": "leftmiddleknee", + "pivot": [18, 18, 0.5], + "cubes": [ + {"origin": [15, 18, 0.5], "size": [20, 4, 0], "uv": [52, 19], "mirror": true} + ] + }, + { + "name": "rightmiddleleg", + "parent": "root", + "pivot": [-6, 8, 1.5], + "cubes": [ + {"origin": [-18, 6, -1.5], "size": [12, 4, 4], "uv": [90, 23]} + ] + }, + { + "name": "rightmiddleknee", + "parent": "rightmiddleleg", + "pivot": [-18, 6, 0.5], + "cubes": [ + {"origin": [-18, 6, -0.5], "size": [3, 16, 2], "uv": [36, 50]} + ] + }, + { + "name": "rightmiddlefoot", + "parent": "rightmiddleknee", + "pivot": [-18, 18, 0.5], + "cubes": [ + {"origin": [-35, 18, 0.5], "size": [20, 4, 0], "uv": [52, 19]} + ] + }, + { + "name": "leftbackleg", + "parent": "root", + "pivot": [6, 8, 4], + "cubes": [ + {"origin": [6, 6, 3], "size": [12, 4, 4], "uv": [90, 23], "mirror": true} + ] + }, + { + "name": "leftbackknee", + "parent": "leftbackleg", + "pivot": [18, 6, 5], + "cubes": [ + {"origin": [15, 6, 4], "size": [3, 16, 2], "uv": [36, 50], "mirror": true} + ] + }, + { + "name": "leftbackfoot", + "parent": "leftbackknee", + "pivot": [18, 18, 5], + "cubes": [ + {"origin": [15, 18, 5], "size": [20, 4, 0], "uv": [52, 19], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/geo/springbug.geo.json b/common-1.20.1/src/main/resources/assets/antarchy/geo/springbug.geo.json new file mode 100644 index 00000000..5ee68df6 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/geo/springbug.geo.json @@ -0,0 +1,287 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.springbug", + "texture_width": 512, + "texture_height": 512, + "visible_bounds_width": 10, + "visible_bounds_height": 9.5, + "visible_bounds_offset": [0, 4.25, 0] + }, + "bones": [ + { + "name": "root", + "pivot": [0, 0, 0] + }, + { + "name": "body", + "parent": "root", + "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]}, + {"origin": [-10, 81, 18], "size": [20, 16, 16], "uv": [224, 152]}, + {"origin": [-8, 97, -78], "size": [16, 12, 32], "uv": [176, 92]}, + {"origin": [-2.5, 85, -78], "size": [5, 12, 8], "uv": [129, 0]}, + {"origin": [0, 73, -78], "size": [0, 18, 15], "uv": [200, -15]}, + {"origin": [0, 91, -78], "size": [0, 6, 60], "uv": [268, -60]}, + {"origin": [0, 65, -74], "size": [0, 6, 56], "uv": [268, -50]}, + {"origin": [-18, 67, -16], "size": [8, 24, 32], "uv": [208, 0]}, + {"origin": [10, 67, -16], "size": [8, 24, 32], "uv": [208, 0], "mirror": true}, + {"origin": [-12, 57, -42], "size": [24, 8, 64], "uv": [0, 92]}, + {"origin": [-8, 57, -74], "size": [16, 8, 32], "uv": [192, 212]} + ] + }, + { + "name": "right_eye", + "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]} + ] + }, + { + "name": "left_eye", + "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} + ] + }, + { + "name": "rightGrip", + "parent": "torso", + "pivot": [-18, 78, -16], + "cubes": [ + {"origin": [-22, 76, -28], "size": [8, 4, 12], "uv": [268, 268]} + ] + }, + { + "name": "leftGrip", + "parent": "torso", + "pivot": [18, 78, -16], + "cubes": [ + {"origin": [14, 76, -28], "size": [8, 4, 12], "uv": [268, 268], "mirror": true} + ] + }, + { + "name": "rightAntenna", + "parent": "torso", + "pivot": [-10, 95, 14], + "cubes": [ + {"origin": [-42, 93, 14], "size": [32, 4, 4], "uv": [208, 77]} + ] + }, + { + "name": "leftAntenna", + "parent": "torso", + "pivot": [10, 95, 14], + "cubes": [ + {"origin": [10, 93, 14], "size": [32, 4, 4], "uv": [208, 77], "mirror": true} + ] + }, + { + "name": "rightArm", + "parent": "torso", + "pivot": [-12, 93, -17], + "cubes": [ + {"origin": [-14, 91, -35], "size": [4, 4, 20], "uv": [64, 232]} + ] + }, + { + "name": "rightElbow", + "parent": "rightArm", + "pivot": [-12, 95, -29], + "cubes": [ + {"origin": [-15, 91, -35], "size": [6, 32, 6], "uv": [204, 268]} + ] + }, + { + "name": "rightClaw", + "parent": "rightElbow", + "pivot": [-12, 123, -35], + "cubes": [ + {"origin": [-14, 115, -51], "size": [4, 8, 16], "uv": [164, 268]}, + {"origin": [-12, 115, -83], "size": [0, 8, 32], "uv": [0, 232]} + ] + }, + { + "name": "leftArm", + "parent": "torso", + "pivot": [12, 93, -17], + "cubes": [ + {"origin": [10, 91, -35], "size": [4, 4, 20], "uv": [64, 232], "mirror": true} + ] + }, + { + "name": "leftElbow", + "parent": "leftArm", + "pivot": [12, 95, -29], + "cubes": [ + {"origin": [9, 91, -35], "size": [6, 32, 6], "uv": [204, 268], "mirror": true} + ] + }, + { + "name": "leftClaw", + "parent": "leftElbow", + "pivot": [12, 123, -35], + "cubes": [ + {"origin": [10, 115, -51], "size": [4, 8, 16], "uv": [164, 268], "mirror": true}, + {"origin": [12, 115, -83], "size": [0, 8, 32], "uv": [0, 232], "mirror": true} + ] + }, + { + "name": "backRightThigh", + "parent": "body", + "pivot": [-12, 65, 14], + "cubes": [ + {"origin": [-28, 57, 10], "size": [16, 8, 8], "uv": [116, 268]} + ] + }, + { + "name": "backRightKnee", + "parent": "backRightThigh", + "pivot": [-28, 65, 14], + "rotation": [0, 0, -90], + "cubes": [ + {"origin": [-60, 55, 9], "size": [32, 11, 10], "inflate": 0.025, "uv": [208, 56]} + ] + }, + { + "name": "backRightLeg", + "parent": "backRightKnee", + "pivot": [-60, 57, 14], + "rotation": [0, 0, 90], + "cubes": [ + {"origin": [-108, 57, 10], "size": [48, 8, 8], "uv": [176, 136]} + ] + }, + { + "name": "backRightFoot", + "parent": "backRightLeg", + "pivot": [-108, 64, 14], + "rotation": [0, 0, -90], + "cubes": [ + {"origin": [-132, 60, 12], "size": [24, 4, 4], "inflate": 0.025, "uv": [224, 200]}, + {"origin": [-148, 60, 14], "size": [16, 4, 0], "uv": [208, 85]} + ] + }, + { + "name": "backLeftThigh", + "parent": "body", + "pivot": [12, 65, 14], + "cubes": [ + {"origin": [12, 57, 10], "size": [16, 8, 8], "uv": [116, 268], "mirror": true} + ] + }, + { + "name": "backLeftKnee", + "parent": "backLeftThigh", + "pivot": [28, 65, 14], + "rotation": [0, 0, 90], + "cubes": [ + {"origin": [28, 55, 9], "size": [32, 11, 10], "inflate": 0.025, "uv": [208, 56], "mirror": true} + ] + }, + { + "name": "backLeftLeg", + "parent": "backLeftKnee", + "pivot": [60, 57, 14], + "rotation": [0, 0, -90], + "cubes": [ + {"origin": [60, 57, 10], "size": [48, 8, 8], "uv": [176, 136], "mirror": true} + ] + }, + { + "name": "backLeftFoot", + "parent": "backLeftLeg", + "pivot": [108, 64, 14], + "rotation": [0, 0, 90], + "cubes": [ + {"origin": [108, 60, 12], "size": [24, 4, 4], "inflate": 0.025, "uv": [224, 200], "mirror": true}, + {"origin": [132, 60, 14], "size": [16, 4, 0], "uv": [208, 85], "mirror": true} + ] + }, + { + "name": "frontLeftThigh", + "parent": "body", + "pivot": [12, 65, -14], + "cubes": [ + {"origin": [12, 57, -18], "size": [16, 8, 8], "uv": [116, 268], "mirror": true} + ] + }, + { + "name": "frontLeftKnee", + "parent": "frontLeftThigh", + "pivot": [28, 65, -14], + "rotation": [0, 0, 90], + "cubes": [ + {"origin": [28, 56, -19], "size": [32, 11, 10], "inflate": 0.025, "uv": [208, 56], "mirror": true} + ] + }, + { + "name": "frontLeftLeg", + "parent": "frontLeftKnee", + "pivot": [60, 57, -14], + "rotation": [0, 0, -90], + "cubes": [ + {"origin": [60, 57, -18], "size": [48, 8, 8], "uv": [176, 136], "mirror": true} + ] + }, + { + "name": "frontLeftFoot", + "parent": "frontLeftLeg", + "pivot": [108, 64, -14], + "rotation": [0, 0, 90], + "cubes": [ + {"origin": [108, 60, -16], "size": [24, 4, 4], "inflate": 0.025, "uv": [224, 200], "mirror": true}, + {"origin": [132, 60, -14], "size": [16, 4, 0], "uv": [208, 85], "mirror": true} + ] + }, + { + "name": "frontRightThigh", + "parent": "body", + "pivot": [-12, 65, -14], + "cubes": [ + {"origin": [-28, 57, -18], "size": [16, 8, 8], "uv": [116, 268]} + ] + }, + { + "name": "frontRightKnee", + "parent": "frontRightThigh", + "pivot": [-28, 65, -14], + "rotation": [0, 0, -90], + "cubes": [ + {"origin": [-60, 55, -19], "size": [32, 11, 10], "inflate": 0.025, "uv": [208, 56]} + ] + }, + { + "name": "frontRightLeg", + "parent": "frontRightKnee", + "pivot": [-60, 57, -14], + "rotation": [0, 0, 90], + "cubes": [ + {"origin": [-108, 57, -18], "size": [48, 8, 8], "uv": [176, 136]} + ] + }, + { + "name": "frontRightFoot", + "parent": "frontRightLeg", + "pivot": [-108, 64, -14], + "rotation": [0, 0, -90], + "cubes": [ + {"origin": [-132, 60, -16], "size": [24, 4, 4], "inflate": 0.025, "uv": [224, 200]}, + {"origin": [-148, 60, -14], "size": [16, 4, 0], "uv": [208, 85]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/geo/stratoshark.geo.json b/common-1.20.1/src/main/resources/assets/antarchy/geo/stratoshark.geo.json new file mode 100644 index 00000000..aa4ba54b --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/geo/stratoshark.geo.json @@ -0,0 +1,171 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 6, + "visible_bounds_height": 5, + "visible_bounds_offset": [0, 1.5, 0] + }, + "bones": [ + { + "name": "shark", + "pivot": [0, 9.5, -9.5] + }, + { + "name": "torso", + "parent": "shark", + "pivot": [0, 9.5, -9.5], + "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, 21, -9], "size": [2, 7, 6], "inflate": 0.01, "uv": [51, 0]} + ] + }, + { + "name": "tail", + "parent": "torso", + "pivot": [0, 8.90533, 0.125], + "cubes": [ + {"origin": [-5, 3, 0], "size": [10, 12, 14], "uv": [0, 39]} + ] + }, + { + "name": "tail2", + "parent": "tail", + "pivot": [0, 8.87377, 10.83333], + "cubes": [ + {"origin": [-3, 4, 11], "size": [6, 9, 17], "uv": [44, 59]}, + {"origin": [-1.5, 9.5, 23], "size": [3, 7, 13], "pivot": [0.5, 13, 28], "rotation": [45, 0, 0], "uv": [0, 78]}, + {"origin": [-1.5, -0.5, 22], "size": [3, 7, 13], "inflate": 0.01, "pivot": [0.5, 3, 30], "rotation": [-45, 0, 0], "uv": [31, 85]} + ] + }, + { + "name": "head", + "parent": "torso", + "pivot": [0, 8.92857, -22], + "cubes": [ + {"origin": [-7, 7, -33], "size": [14, 9, 11], "uv": [48, 39]}, + {"origin": [-5.5, 7, -41], "size": [11, 9, 8], "uv": [76, 0]}, + {"origin": [-4.5, 5.75, -40], "size": [9, 2, 0], "uv": [87, 38]}, + {"origin": [-4.5, 5.75, -40], "size": [0, 2, 10], "uv": [76, 26]}, + {"origin": [4.5, 5, -40], "size": [0, 2, 10], "uv": [87, 30], "mirror": true}, + {"origin": [-4.5, 10, -49], "size": [9, 6, 8], "uv": [63, 85]} + ] + }, + { + "name": "left_wing", + "parent": "head", + "pivot": [8, 16, -27.5], + "cubes": [ + {"origin": [8, 16, -33], "size": [16, 0, 15], "uv": [48, 99], "mirror": true} + ] + }, + { + "name": "left_wing2", + "parent": "left_wing", + "pivot": [24, 16, -27.5], + "cubes": [ + {"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]} + ] + }, + { + "name": "halo", + "parent": "head", + "pivot": [0, 17.5, -37], + "cubes": [ + {"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]} + ] + }, + { + "name": "jaw", + "parent": "head", + "pivot": [0, 7, -22], + "cubes": [ + {"origin": [-5, 7.5, -29], "size": [0, 3, 7], "uv": [70, -7]}, + {"origin": [-5, 7.5, -29], "size": [2, 3, 0], "uv": [80, 21]}, + {"origin": [-3, 7.5, -37], "size": [0, 3, 8], "uv": [76, 22]}, + {"origin": [5, 7.5, -29], "size": [0, 3, 7], "uv": [70, -7], "mirror": true}, + {"origin": [3, 7.5, -29], "size": [2, 3, 0], "uv": [80, 21], "mirror": true}, + {"origin": [-3, 7.5, -37], "size": [6, 3, 0], "uv": [76, 33], "mirror": true}, + {"origin": [3, 7.5, -37], "size": [0, 3, 8], "uv": [76, 22], "mirror": true}, + {"origin": [-6, 4, -30], "size": [12, 4, 8], "uv": [76, 17]}, + {"origin": [-4, 4, -38], "size": [8, 4, 8], "uv": [73, 59]} + ] + }, + { + "name": "right_fin", + "parent": "torso", + "pivot": [-4.25, 5.5, -11.25], + "cubes": [ + {"origin": [-16.5, 4, -17], "size": [12, 3, 10], "inflate": 0.01, "uv": [0, 65]}, + {"origin": [-23.5, 4, -14], "size": [7, 3, 7], "inflate": 0.01, "uv": [90, 73]} + ] + }, + { + "name": "left_fin", + "parent": "torso", + "pivot": [4.25, 5.5, -11.25], + "cubes": [ + {"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} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/de_de.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/de_de.json index e72f4b4c..9eecf3e6 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/de_de.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/de_de.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "Blass Nyxite", "block.antarchy.nyxite_spike": "Nyxite-Stachel", "block.antarchy.potent_nyxite": "Potent Nyxite", - "block.antarchy.triffid_goo_block": "Triffid Schleim-Block", + "block.antarchy.flytrap_goo_block": "Flytrap Schleim-Block", "block.antarchy.elythia_portal": "Elythia-Portal", "block.antarchy.cloud_block": "Wolke-Block", "block.antarchy.thoraxis_portal": "Thoraxis-Portal", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "Regenbogen-Ameise", "entity.antarchy.diamond_minecart": "Die Diamantlore", "entity.antarchy.dr_trayaurus": "Dr. Trayaurus", - "entity.antarchy.cloud_shark": "Wolkenhai", + "entity.antarchy.stratoshark": "Wolkenhai", "entity.antarchy.kraken": "Der Kraken", "entity.antarchy.missile_squid": "Raketenkalmar", "entity.antarchy.octopus_bomb": "Oktopusbombe", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "Molevore", "entity.antarchy.mantis": "Gottesanbeterin", "entity.antarchy.alpha_mantis": "Alpha-Gottesanbeterin", - "entity.antarchy.triffid": "Triffid", + "entity.antarchy.flytrap": "Flytrap", "entity.antarchy.toreterror": "Toreterror", "entity.antarchy.water_bomb": "Wasserbombe", "subtitles.antarchy.mantis_ambient": "Gottesanbeterin klickt", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "Benimmhammer", "tooltip.antarchy.attitude_adjuster.grounded": "Schleudert Ziele am Boden nach oben; Ziele in der Luft werden auf den Boden geschmettert.", "tooltip.antarchy.attitude_adjuster.slam": "Rechtsklicke in der Luft, um auf den Boden zu schmettern.", - "item.antarchy.cloud_shark_fin": "Wolkenhai-Flosse", - "item.antarchy.cloud_shark_fin_soup": "Wolkenhai-Flosse-Suppe", - "tooltip.antarchy.cloud_shark_fin_soup": "Gewährt Stärke und Sanften Fall.", + "item.antarchy.stratoshark_fin": "Wolkenhai-Flosse", + "item.antarchy.stratoshark_fin_soup": "Wolkenhai-Flosse-Suppe", + "tooltip.antarchy.stratoshark_fin_soup": "Gewährt Stärke und Sanften Fall.", "tooltip.antarchy.critter_cage.empty": "Rechtsklick zum Werfen", "tooltip.antarchy.critter_cage.contains": "Enthält: %s", "tooltip.antarchy.critter_cage.release": "Rechtsklick zum Freilassen", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "Maximale Blutglasherzen", "item.antarchy.molevore_nose": "Molevore-Nase", "item.antarchy.moleworm": "Moleworm", - "item.antarchy.triffid_spawn_egg": "Triffid-Spawn-Ei", + "item.antarchy.flytrap_spawn_egg": "Flytrap-Spawn-Ei", "item.antarchy.infested_rooted_dirt": "Befallen Verwurzelt Erde", "item.antarchy.infested_coarse_dirt": "Befallen Grob Erde", "item.antarchy.pale_nyxite": "Blass Nyxite", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "König-Schuppe", "item.antarchy.queen_scale": "Königin-Schuppe", - "item.antarchy.jumpy_bug_leg": "Sprungkäfer-Bein", - "item.antarchy.jumpy_boots": "Sprungstiefel", - "tooltip.antarchy.jumpy_boots": "Schleiche zum Aufladen und springe dann, um nach oben zu schnellen.", + "item.antarchy.springbug_leg": "Sprungkäfer-Bein", + "item.antarchy.springy_boots": "Sprungstiefel", + "tooltip.antarchy.springy_boots": "Schleiche zum Aufladen und springe dann, um nach oben zu schnellen.", "item.antarchy.brutalfly_wing": "Brutalfly-Flügel", "item.antarchy.brutalfly_elytra": "Brutalfly-Elytren", "tooltip.antarchy.brutalfly_elytra.flap": "Halte beim Fliegen %s gedrückt, um mit den Flügeln zu schlagen", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "Amerikanisch: %s", "item.antarchy.root_beer": "Root Beer", "item.antarchy.primordial_scute": "Urzeitlich-Hornplatte", - "item.antarchy.triffid_goo": "Triffid Schleim", - "item.antarchy.triffid_goo_block": "Triffid Schleim-Block", - "tooltip.antarchy.triffid_goo_block": "Bei hoher Geschwindigkeit prallst du nach oben ab, andernfalls sinkst du hindurch.", + "item.antarchy.flytrap_goo": "Flytrap Schleim", + "item.antarchy.flytrap_goo_block": "Flytrap Schleim-Block", + "tooltip.antarchy.flytrap_goo_block": "Bei hoher Geschwindigkeit prallst du nach oben ab, andernfalls sinkst du hindurch.", "item.antarchy.cloud_bucket": "Wolke-Eimer", "tooltip.antarchy.cloud_bucket.midair": "Kann in der Luft platziert werden", "item.antarchy.lumen_bucket": "Lumen-Eimer", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "Linksklicke erneut auf angebundene Beute, um den Stachel loszureißen.", "item.antarchy.fallen_king_crown": "Krone des gefallenen Königs", "tooltip.antarchy.fallen_king_crown.hero": "Das Töten feindlicher Kreaturen gewährt Held des Dorfes", - "item.antarchy.vortex_eye": "Wirbel-Auge", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "Ultimativer Helm", "item.antarchy.ultimate_chestplate": "Ultimativer Brustpanzer", "item.antarchy.ultimate_leggings": "Ultimativer Beinschutz", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "Raupe-Spawn-Ei", "item.antarchy.butterfly_spawn_egg": "Schmetterling-Spawn-Ei", "item.antarchy.brutalfly_spawn_egg": "Brutalfly-Spawn-Ei", - "item.antarchy.cloud_shark_spawn_egg": "Wolkenhai-Spawn-Ei", + "item.antarchy.stratoshark_spawn_egg": "Wolkenhai-Spawn-Ei", "item.antarchy.kraken_spawn_egg": "Äh, nein. Lass das.", "item.antarchy.missile_squid_spawn_egg": "Raketenkalmar-Spawn-Ei", "item.antarchy.octopus_bomb_spawn_egg": "Oktopusbombe-Spawn-Ei", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "Die Termite ist bereit, ihr Ziel zu öffnen.", "message.antarchy.termite_needs_reagent": "Diese Termite benötigt ein Reagenz, bevor sie ihr Ziel öffnen kann.", "death.attack.spit_bug_disrespect": "%1$s wurde vom Spuckkäfer respektlos behandelt", - "death.attack.jumpy_bug_jump": "%1$s wurde vom Sprungkäfer angesprungen", + "death.attack.springbug_jump": "%1$s wurde vom Sprungkäfer angesprungen", "death.attack.hercules_beetle_obliteration": "%1$s wurde vom Herkuleskäfer ausgelöscht", "message.antarchy.big_bertha.mode": "Big-Bertha-Modus: %s", "message.antarchy.big_bertha.mode.basilisk": "Basilisk", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "Verhindert, dass sich Ziele bewegen.", "effect.antarchy.inverted": "Umgekehrt", "effect.antarchy.inverted.description": "Kehrt die Schwerkraft des Ziels um.", + "effect.antarchy.commanded.description": "Kämpft für den Spieler, der das Ziel kommandiert hat.", + "effect.antarchy.dilated.description": "Verlangsamt den Zeitablauf für das betroffene Wesen.", "effect.antarchy.stinky": "Stinkend", "effect.antarchy.stinky.description": "Vertreibt passive und neutrale Kreaturen und zieht Gliederfüßer an.", "effect.antarchy.gooped.description": "Verlangsamt Bewegung und Angriffsgeschwindigkeit.", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "Wachstum", "effect.antarchy.bloodglass_ward": "Blutglasbarriere", "effect.antarchy.bloodglass_ward.description": "Verleiht Herzen, die zersplittern und einen gesamten Treffer absorbieren. Sie regenerieren sich mit der Zeit.", - "death.attack.triffid_mauling": "%1$s wurde von einer Pflanze zu Tode zerfleischt", - "death.attack.triffid_mauling.player": "%1$s wurde von einer Pflanze zu Tode zerfleischt", - "death.attack.triffid_swallow": "%1$s wurde von einem Triffid verschlungen", - "death.attack.triffid_swallow.player": "%1$s wurde von einem Triffid verschlungen", + "death.attack.flytrap_mauling": "%1$s wurde von einer Pflanze zu Tode zerfleischt", + "death.attack.flytrap_mauling.player": "%1$s wurde von einer Pflanze zu Tode zerfleischt", + "death.attack.flytrap_swallow": "%1$s wurde von einem Flytrap verschlungen", + "death.attack.flytrap_swallow.player": "%1$s wurde von einem Flytrap verschlungen", "potion.antarchy.haste": "Eiletrank", "potion.antarchy.strong_haste": "Starker Eiletrank", "tooltip.antarchy.big_bertha.mode": "Modus: %s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "Ameisen beißt", "subtitles.antarchy.ant_gather": "Ameisen sammeln", "subtitles.antarchy.ant_nest": "Ameisennest raschelt", - "subtitles.antarchy.cloud_shark_bite": "Wolkenhai beißt", - "subtitles.antarchy.cloud_shark_idle": "Wolkenhai ist zu hören", - "subtitles.antarchy.cloud_shark_hurt": "Wolkenhai wird verletzt", - "subtitles.antarchy.cloud_shark_death": "Wolkenhai stirbt", - "subtitles.antarchy.cloud_shark_fly": "Wolkenhai fliegt", + "subtitles.antarchy.stratoshark_bite": "Wolkenhai beißt", + "subtitles.antarchy.stratoshark_idle": "Wolkenhai ist zu hören", + "subtitles.antarchy.stratoshark_hurt": "Wolkenhai wird verletzt", + "subtitles.antarchy.stratoshark_death": "Wolkenhai stirbt", + "subtitles.antarchy.stratoshark_fly": "Wolkenhai fliegt", "subtitles.antarchy.caterpillar_idle": "Raupe ist zu hören", "subtitles.antarchy.caterpillar_hurt": "Raupe wird verletzt", "subtitles.antarchy.caterpillar_crawl": "Raupe kriecht", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "Albtraum stirbt", "subtitles.antarchy.nightmare_bite": "Albtraum beißt", "subtitles.antarchy.nightmare_flap": "Albtraum schlägt mit den Flügeln", - "subtitles.antarchy.triffid_attack": "Triffid greift an", - "subtitles.antarchy.triffid_grab": "Triffid packt zu", - "subtitles.antarchy.triffid_hurt": "Triffid wird verletzt", - "subtitles.antarchy.triffid_death": "Triffid stirbt", - "subtitles.antarchy.triffid_hiss": "Triffid zischt", - "subtitles.antarchy.triffid_growl": "Triffid knurrt", + "subtitles.antarchy.flytrap_attack": "Flytrap greift an", + "subtitles.antarchy.flytrap_grab": "Flytrap packt zu", + "subtitles.antarchy.flytrap_hurt": "Flytrap wird verletzt", + "subtitles.antarchy.flytrap_death": "Flytrap stirbt", + "subtitles.antarchy.flytrap_hiss": "Flytrap zischt", + "subtitles.antarchy.flytrap_growl": "Flytrap knurrt", "subtitles.antarchy.gravity_gun_pickup": "Gravitationskanone hebt etwas auf", "subtitles.antarchy.gravity_gun_drop": "Gravitationskanone lässt los", "subtitles.antarchy.gravity_gun_hold_loop": "Gravitationskanone summt", "subtitles.antarchy.gravity_gun_launch": "Gravitationskanone schleudert", "subtitles.antarchy.gravity_gun_dryfire": "Gravitationskanone klickt leer", + "subtitles.antarchy.antimetal_place": "Antimetall klirrt", + "subtitles.antarchy.antimetal_step": "Antimetall klickt", + "subtitles.antarchy.antimetal_scaffold": "Antimetallgerüst rasselt", "subtitles.antarchy.bed_bug_ambient": "Bettwanze zwitschert", "subtitles.antarchy.bed_bug_hurt": "Bettwanze wird verletzt", "subtitles.antarchy.bed_bug_attack": "Bettwanze beißt", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "Bernsteinflechte", "block.antarchy.bile_vein": "Gallenader", "block.antarchy.creepvine": "Creepvine", - "block.antarchy.creeping_horror_egg": "Kriechender Schrecken-Ei", - "block.antarchy.lurking_terror_egg": "Lauernder Terror-Ei", + "block.antarchy.crawling_blight_egg": "Kriechender Schrecken-Ei", + "block.antarchy.skulking_fright_egg": "Lauernder Terror-Ei", "entity.antarchy.termite": "Termite", - "entity.antarchy.jumpy_bug": "Sprungkäfer", + "entity.antarchy.springbug": "Sprungkäfer", "entity.antarchy.spit_bug": "Spuckkäfer", "entity.antarchy.stink_bug": "Stinkwanze", "entity.antarchy.rolly_polly": "Rollassel", - "entity.antarchy.creeping_horror": "Kriechender Schrecken", - "entity.antarchy.lurking_terror": "Lauernder Terror", + "entity.antarchy.crawling_blight": "Kriechender Schrecken", + "entity.antarchy.skulking_fright": "Lauernder Terror", "entity.antarchy.hercules_beetle": "Herkuleskäfer", - "item.antarchy.jumpy_bug_spawn_egg": "Sprungkäfer-Spawn-Ei", + "item.antarchy.springbug_spawn_egg": "Sprungkäfer-Spawn-Ei", "item.antarchy.spit_bug_spawn_egg": "Spuckkäfer-Spawn-Ei", "item.antarchy.stink_bug_spawn_egg": "Stinkwanze-Spawn-Ei", "item.antarchy.termite_spawn_egg": "Termite-Spawn-Ei", "item.antarchy.rolly_polly_spawn_egg": "Rollassel-Spawn-Ei", - "item.antarchy.creeping_horror_spawn_egg": "Kriechender Schrecken-Spawn-Ei", - "item.antarchy.lurking_terror_spawn_egg": "Lauernder Terror-Spawn-Ei", + "item.antarchy.crawling_blight_spawn_egg": "Kriechender Schrecken-Spawn-Ei", + "item.antarchy.skulking_fright_spawn_egg": "Lauernder Terror-Spawn-Ei", "item.antarchy.hercules_beetle_spawn_egg": "Herkuleskäfer-Spawn-Ei", "item.antarchy.chitin": "Chitin", "block.antarchy.polished_broodstone": "Poliert Broodstone", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "Leuchtkappenpilzblock", "block.antarchy.molting_vines": "Häutungsranken", "item.antarchy.broodfruit": "Brutfrucht", - "block.antarchy.jumpy_bug_egg": "Sprungkäfer-Ei", - "subtitles.antarchy.creeping_horror_growl": "Kriechender Schrecken knurrt", - "subtitles.antarchy.creeping_horror_hurt": "Kriechender Schrecken wird verletzt", - "subtitles.antarchy.creeping_horror_bite": "Kriechender Schrecken beißt", - "subtitles.antarchy.lurking_terror_snarl": "Lauernder Terror faucht", - "subtitles.antarchy.lurking_terror_hurt": "Lauernder Terror wird verletzt", - "subtitles.antarchy.lurking_terror_bite": "Lauernder Terror beißt", - "subtitles.antarchy.lurking_terror_fly_loop": "Lauernder Terror fliegt", + "block.antarchy.springbug_egg": "Sprungkäfer-Ei", + "subtitles.antarchy.crawling_blight_growl": "Kriechender Schrecken knurrt", + "subtitles.antarchy.crawling_blight_hurt": "Kriechender Schrecken wird verletzt", + "subtitles.antarchy.crawling_blight_bite": "Kriechender Schrecken beißt", + "subtitles.antarchy.skulking_fright_snarl": "Lauernder Terror faucht", + "subtitles.antarchy.skulking_fright_hurt": "Lauernder Terror wird verletzt", + "subtitles.antarchy.skulking_fright_bite": "Lauernder Terror beißt", + "subtitles.antarchy.skulking_fright_fly_loop": "Lauernder Terror fliegt", "subtitles.antarchy.stink_bug_fart": "Stinkwanze furzt", "subtitles.antarchy.stink_bug_idle": "Stinkwanze ist zu hören", "subtitles.antarchy.rolly_polly_idle": "Rollassel ist zu hören", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "Jerry wird verletzt", "subtitles.antarchy.jerry_death": "Jerry stirbt", "subtitles.antarchy.jerry_attack": "Jerry greift an", - "subtitles.antarchy.jumpy_bug_idle": "Sprungkäfer ist zu hören", + "subtitles.antarchy.springbug_idle": "Sprungkäfer ist zu hören", "subtitles.antarchy.spit_bug_idle": "Spuckkäfer ist zu hören", - "subtitles.antarchy.jumpy_bug_hurt": "Sprungkäfer wird verletzt", - "subtitles.antarchy.jumpy_bug_jump": "Sprungkäfer springt", + "subtitles.antarchy.springbug_hurt": "Sprungkäfer wird verletzt", + "subtitles.antarchy.springbug_jump": "Sprungkäfer springt", "subtitles.antarchy.spit_bug_hurt": "Spuckkäfer wird verletzt", "subtitles.antarchy.spit_bug_spit": "Spuckkäfer spuckt", "subtitles.antarchy.brutalfly_spit": "Brutalfly spuckt", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json index 260b2f50..0ba1bb83 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/en_us.json @@ -37,8 +37,76 @@ "block.antarchy.peach_sapling": "Peach Sapling", "block.antarchy.peach_sign": "Peach Sign", "block.antarchy.peach_hanging_sign": "Peach Hanging Sign", + "block.antarchy.nadir_log": "Nadir Log", + "block.antarchy.nadir_wood": "Nadir Wood", + "block.antarchy.stripped_nadir_log": "Stripped Nadir Log", + "block.antarchy.stripped_nadir_wood": "Stripped Nadir Wood", + "block.antarchy.nadir_planks": "Nadir Planks", + "block.antarchy.nadir_stairs": "Nadir Stairs", + "block.antarchy.nadir_slab": "Nadir Slab", + "block.antarchy.nadir_fence": "Nadir Fence", + "block.antarchy.nadir_fence_gate": "Nadir Fence Gate", + "block.antarchy.nadir_door": "Nadir Door", + "block.antarchy.nadir_trapdoor": "Nadir Trapdoor", + "block.antarchy.nadir_pressure_plate": "Nadir Pressure Plate", + "block.antarchy.nadir_button": "Nadir Button", + "block.antarchy.nadir_veil": "Nadir Veil", + "block.antarchy.nadir_sapling": "Nadir Sapling", + "block.antarchy.nadir_sign": "Nadir Sign", + "block.antarchy.nadir_hanging_sign": "Nadir Hanging Sign", + "block.antarchy.royal_log": "Royal Log", + "block.antarchy.royal_wood": "Royal Wood", + "block.antarchy.stripped_royal_log": "Stripped Royal Log", + "block.antarchy.stripped_royal_wood": "Stripped Royal Wood", + "block.antarchy.royal_planks": "Royal Planks", + "block.antarchy.royal_stairs": "Royal Stairs", + "block.antarchy.royal_slab": "Royal Slab", + "block.antarchy.royal_fence": "Royal Fence", + "block.antarchy.royal_fence_gate": "Royal Fence Gate", + "block.antarchy.royal_door": "Royal Door", + "block.antarchy.royal_trapdoor": "Royal Trapdoor", + "block.antarchy.royal_pressure_plate": "Royal Pressure Plate", + "block.antarchy.royal_button": "Royal Button", + "block.antarchy.royal_leaves": "Royal Leaves", + "block.antarchy.royal_flowering_leaves": "Flowering Royal Leaves", + "block.antarchy.royal_sapling": "Royal Sapling", + "block.antarchy.royal_sign": "Royal Sign", + "block.antarchy.royal_hanging_sign": "Royal Hanging Sign", + "block.antarchy.truffalo_log": "Truffalo Log", + "block.antarchy.truffalo_wood": "Truffalo Wood", + "block.antarchy.stripped_truffalo_log": "Stripped Truffalo Log", + "block.antarchy.stripped_truffalo_wood": "Stripped Truffalo Wood", + "block.antarchy.truffalo_planks": "Truffalo Planks", + "block.antarchy.truffalo_stairs": "Truffalo Stairs", + "block.antarchy.truffalo_slab": "Truffalo Slab", + "block.antarchy.truffalo_fence": "Truffalo Fence", + "block.antarchy.truffalo_fence_gate": "Truffalo Fence Gate", + "block.antarchy.truffalo_door": "Truffalo Door", + "block.antarchy.truffalo_trapdoor": "Truffalo Trapdoor", + "block.antarchy.truffalo_pressure_plate": "Truffalo Pressure Plate", + "block.antarchy.truffalo_button": "Truffalo Button", + "block.antarchy.truffalo_sapling": "Truffalo Sapling", + "block.antarchy.truffalo_sign": "Truffalo Sign", + "block.antarchy.truffalo_hanging_sign": "Truffalo Hanging Sign", + "block.antarchy.white_truffalo_tuft": "White Truffalo Tuft", + "block.antarchy.orange_truffalo_tuft": "Orange Truffalo Tuft", + "block.antarchy.magenta_truffalo_tuft": "Magenta Truffalo Tuft", + "block.antarchy.light_blue_truffalo_tuft": "Light Blue Truffalo Tuft", + "block.antarchy.yellow_truffalo_tuft": "Yellow Truffalo Tuft", + "block.antarchy.lime_truffalo_tuft": "Lime Truffalo Tuft", + "block.antarchy.pink_truffalo_tuft": "Pink Truffalo Tuft", + "block.antarchy.gray_truffalo_tuft": "Gray Truffalo Tuft", + "block.antarchy.light_gray_truffalo_tuft": "Light Gray Truffalo Tuft", + "block.antarchy.cyan_truffalo_tuft": "Cyan Truffalo Tuft", + "block.antarchy.purple_truffalo_tuft": "Purple Truffalo Tuft", + "block.antarchy.blue_truffalo_tuft": "Blue Truffalo Tuft", + "block.antarchy.brown_truffalo_tuft": "Brown Truffalo Tuft", + "block.antarchy.green_truffalo_tuft": "Green Truffalo Tuft", + "block.antarchy.red_truffalo_tuft": "Red Truffalo Tuft", + "block.antarchy.black_truffalo_tuft": "Black Truffalo Tuft", "block.antarchy.orange_milkweed": "Orange Milkweed", "block.antarchy.pink_milkweed": "Pink Milkweed", + "block.antarchy.glimmering_reed": "Glimmering Reed", "block.antarchy.camellia": "Camellia", "block.antarchy.spider_lily": "Spider Lily", "block.antarchy.lotus": "Lotus", @@ -46,6 +114,10 @@ "item.antarchy.critter_cage": "Critter Cage", "block.antarchy.giant_lily_pad": "Giant Lily Pad", "block.antarchy.seashell": "Seashell", + "block.antarchy.lucid_anchor": "Lucid Anchor", + "block.antarchy.undertrial_spawner": "Undertrial Spawner", + "block.antarchy.undervault": "Undervault", + "item.antarchy.undertrial_key": "Undertrial Key", "block.antarchy.critter_cage_block": "Critter Cage", "block.antarchy.hushweed": "Hushweed", "block.antarchy.umbral_moss_block": "Umbral Moss Block", @@ -94,7 +166,7 @@ "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.flytrap_goo_block": "Flytrap Goo Block", "block.antarchy.elythia_portal": "Elythia Portal", "block.antarchy.cloud_block": "Cloud Block", "block.antarchy.thoraxis_portal": "Thoraxis Portal", @@ -111,7 +183,6 @@ "block.antarchy.antimetal_activator_rail": "Antimetal Activator Rail", "block.antarchy.upper": "Upper", "container.antarchy.upper": "Upper", - "block.antarchy.lucid_anchor": "Lucid Anchor", "block.antarchy.cornea_stalk": "Cornea Stalk", "block.antarchy.corn_crop": "Corn Crop", "block.antarchy.dream_torch": "Dream Torch", @@ -139,6 +210,22 @@ "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.typhonite": "Typhonite", + "block.antarchy.typhonite_bricks": "Typhonite Bricks", + "block.antarchy.chiseled_typhonite": "Chiseled Typhonite", + "block.antarchy.polished_typhonite": "Polished Typhonite", + "block.antarchy.veined_typhonite": "Veined Typhonite", + "block.antarchy.typhonite_spike": "Typhonite Spike", + "block.antarchy.typhonite_stairs": "Typhonite Stairs", + "block.antarchy.typhonite_slab": "Typhonite Slab", + "block.antarchy.typhonite_wall": "Typhonite Wall", + "block.antarchy.typhonite_brick_stairs": "Typhonite Brick Stairs", + "block.antarchy.typhonite_brick_slab": "Typhonite Brick Slab", + "block.antarchy.typhonite_brick_wall": "Typhonite Brick Wall", + "block.antarchy.polished_typhonite_stairs": "Polished Typhonite Stairs", + "block.antarchy.polished_typhonite_slab": "Polished Typhonite Slab", + "block.antarchy.polished_typhonite_wall": "Polished Typhonite Wall", + "block.antarchy.spiraling_vines": "Spiraling Vines", "block.antarchy.whirlflower": "Whirlflower", "block.antarchy.bed_bug_egg": "Bed Bug Egg", "block.antarchy.wasp_nest": "Wasp Nest", "block.antarchy.red_ant_nest": "Red Ant Nest", @@ -150,6 +237,8 @@ "block.antarchy.deepslate_titanium_ore": "Deepslate Titanium Ore", "block.antarchy.bluestone_ore": "Bluestone Ore", "block.antarchy.bluestone_block": "Bluestone Block", + "block.antarchy.vortex_lens": "Vortex Lens", + "tooltip.antarchy.vortex_lens": "Redstone power sucks entities into its beam; Bluestone power blasts them away. Stronger signal, bigger vortex.", "block.antarchy.bluestone_repeater": "Bluestone Repeater", "block.antarchy.bluestone_comparator": "Bluestone Comparator", "block.antarchy.bluestone_torch": "Bluestone Torch", @@ -175,8 +264,6 @@ "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.", - "tooltip.antarchy.lucid_anchor.pyramid": "Requires an Antimetal Beacon pyramid above it", - "tooltip.antarchy.lucid_anchor.path": "Projects Inverted downward while it has an unobstructed path to the world below", "tooltip.antarchy.bluestone_placement": "Places below blocks", "tooltip.antarchy.ceiling_compatible_placement": "Can also be placed on ceilings", "tooltip.antarchy.antimetal_scaffolding": "Acts as normal scaffolding, or inverted scaffolding while your gravity is flipped", @@ -209,7 +296,7 @@ "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.stratoshark": "Stratoshark", "entity.antarchy.kraken": "The Kraken", "entity.antarchy.missile_squid": "Missile Squid", "entity.antarchy.octopus_bomb": "Octopus Bomb", @@ -218,12 +305,17 @@ "entity.antarchy.wasp": "Wasp", "entity.antarchy.bomber": "Bomber", "entity.antarchy.moleworm": "Moleworm", + "entity.antarchy.worm": "Worm", "entity.antarchy.molevore": "Molevore", "entity.antarchy.mantis": "Mantis", "entity.antarchy.alpha_mantis": "Alpha Mantis", - "entity.antarchy.triffid": "Triffid", + "entity.antarchy.flytrap": "Flytrap", "entity.antarchy.toreterror": "Toreterror", "entity.antarchy.water_bomb": "Water Bomb", + "subtitles.antarchy.manticore_idle": "Manticore growls", + "subtitles.antarchy.manticore_walk": "Manticore walks", + "subtitles.antarchy.manticore_fly": "Manticore flies", + "subtitles.antarchy.manticore_bite": "Manticore bites", "subtitles.antarchy.mantis_ambient": "Mantis clicks", "subtitles.antarchy.mantis_hurt": "Mantis screeches", "subtitles.antarchy.mantis_attack": "Mantis snaps", @@ -241,9 +333,9 @@ "item.antarchy.attitude_adjuster": "Attitude Adjuster", "tooltip.antarchy.attitude_adjuster.grounded": "Smashes targets on the ground upward, targets in the air slam onto the ground.", "tooltip.antarchy.attitude_adjuster.slam": "Use while airborne to ground slam.", - "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.stratoshark_fin": "Stratoshark Fin", + "item.antarchy.stratoshark_fin_soup": "Stratoshark Fin Soup", + "tooltip.antarchy.stratoshark_fin_soup": "Grants Strength and Slow Falling.", "tooltip.antarchy.critter_cage.empty": "Use to throw", "tooltip.antarchy.critter_cage.contains": "Contains: %s", "tooltip.antarchy.critter_cage.release": "Use to release", @@ -271,12 +363,31 @@ "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.typhonite": "Typhonite", + "item.antarchy.typhonite_bricks": "Typhonite Bricks", + "item.antarchy.chiseled_typhonite": "Chiseled Typhonite", + "item.antarchy.polished_typhonite": "Polished Typhonite", + "item.antarchy.veined_typhonite": "Veined Typhonite", + "item.antarchy.typhonite_spike": "Typhonite Spike", + "item.antarchy.typhonite_stairs": "Typhonite Stairs", + "item.antarchy.typhonite_slab": "Typhonite Slab", + "item.antarchy.typhonite_wall": "Typhonite Wall", + "item.antarchy.typhonite_brick_stairs": "Typhonite Brick Stairs", + "item.antarchy.typhonite_brick_slab": "Typhonite Brick Slab", + "item.antarchy.typhonite_brick_wall": "Typhonite Brick Wall", + "item.antarchy.polished_typhonite_stairs": "Polished Typhonite Stairs", + "item.antarchy.polished_typhonite_slab": "Polished Typhonite Slab", + "item.antarchy.polished_typhonite_wall": "Polished Typhonite Wall", + "item.antarchy.spiraling_vines": "Spiraling Vines", + "item.antarchy.whirlflower": "Whirlflower", "item.antarchy.dream_torch": "Dream Torch", "item.antarchy.dream_lantern": "Dream Lantern", "item.antarchy.dream_campfire": "Dream Campfire", "item.antarchy.giant_lily_pad": "Giant Lily Pad", "item.antarchy.seashell": "Seashell", "item.antarchy.nightmare_scale": "Nightmare Scale", + "item.antarchy.music_disc_underside": "Music Disc", + "jukebox_song.antarchy.underside": "docshrekbot - underside", "item.antarchy.nightmare_helmet": "Nightmare Helmet", "item.antarchy.nightmare_chestplate": "Nightmare Chestplate", "item.antarchy.nightmare_leggings": "Nightmare Leggings", @@ -293,7 +404,11 @@ "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.worm_tooth": "Worm Tooth", + "item.antarchy.worm_hook": "Worm Hook", + "tooltip.antarchy.worm_hook.throw": "Right-click a block to fire and attach", + "tooltip.antarchy.worm_hook.reel": "Sneak to reel in, right-click again to detach", + "item.antarchy.flytrap_spawn_egg": "Flytrap Spawn Egg", "item.antarchy.infested_rooted_dirt": "Infested Rooted Dirt", "item.antarchy.infested_coarse_dirt": "Infested Coarse Dirt", "item.antarchy.pale_nyxite": "Pale Nyxite", @@ -338,6 +453,23 @@ "item.antarchy.ouranwood_acorn": "Ouranwood Acorn", "item.antarchy.ouranwood_boat": "Ouranwood Boat", "item.antarchy.ouranwood_chest_boat": "Ouranwood Chest Boat", + "item.antarchy.hoverboard": "Hoverboard", + "item.antarchy.hoverboard_white": "White Hoverboard", + "item.antarchy.hoverboard_orange": "Orange Hoverboard", + "item.antarchy.hoverboard_magenta": "Magenta Hoverboard", + "item.antarchy.hoverboard_light_blue": "Light Blue Hoverboard", + "item.antarchy.hoverboard_yellow": "Yellow Hoverboard", + "item.antarchy.hoverboard_lime": "Lime Hoverboard", + "item.antarchy.hoverboard_pink": "Pink Hoverboard", + "item.antarchy.hoverboard_gray": "Gray Hoverboard", + "item.antarchy.hoverboard_light_gray": "Light Gray Hoverboard", + "item.antarchy.hoverboard_cyan": "Cyan Hoverboard", + "item.antarchy.hoverboard_purple": "Purple Hoverboard", + "item.antarchy.hoverboard_blue": "Blue Hoverboard", + "item.antarchy.hoverboard_brown": "Brown Hoverboard", + "item.antarchy.hoverboard_green": "Green Hoverboard", + "item.antarchy.hoverboard_red": "Red Hoverboard", + "item.antarchy.hoverboard_black": "Black Hoverboard", "item.antarchy.raw_venison": "Raw Venison", "item.antarchy.cooked_venison": "Cooked Venison", "item.antarchy.peach_sapling": "Peach Sapling", @@ -349,8 +481,27 @@ "item.antarchy.peach_hanging_sign": "Peach Hanging Sign", "item.antarchy.peach_boat": "Peach Boat", "item.antarchy.peach_chest_boat": "Peach Chest Boat", + "item.antarchy.nadir_sign": "Nadir Sign", + "item.antarchy.nadir_hanging_sign": "Nadir Hanging Sign", + "item.antarchy.nadir_boat": "Nadir Boat", + "item.antarchy.nadir_chest_boat": "Nadir Chest Boat", + "entity.antarchy.nadir_boat": "Nadir Boat", + "entity.antarchy.nadir_chest_boat": "Nadir Chest Boat", + "item.antarchy.royal_sign": "Royal Sign", + "item.antarchy.royal_hanging_sign": "Royal Hanging Sign", + "item.antarchy.royal_boat": "Royal Boat", + "item.antarchy.royal_chest_boat": "Royal Chest Boat", + "entity.antarchy.royal_boat": "Royal Boat", + "entity.antarchy.royal_chest_boat": "Royal Chest Boat", + "item.antarchy.truffalo_sign": "Truffalo Sign", + "item.antarchy.truffalo_hanging_sign": "Truffalo Hanging Sign", + "item.antarchy.truffalo_boat": "Truffalo Boat", + "item.antarchy.truffalo_chest_boat": "Truffalo Chest Boat", + "entity.antarchy.truffalo_boat": "Truffalo Boat", + "entity.antarchy.truffalo_chest_boat": "Truffalo Chest Boat", "item.antarchy.orange_milkweed": "Orange Milkweed", "item.antarchy.pink_milkweed": "Pink Milkweed", + "item.antarchy.glimmering_reed": "Glimmering Reed", "item.antarchy.camellia": "Camellia", "item.antarchy.spider_lily": "Spider Lily", "item.antarchy.hushweed": "Hushweed", @@ -381,21 +532,46 @@ "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.dash": "Reaches distant targets you look at; a full swing grants brief immunity.", "tooltip.antarchy.blood_crystal_katana.trail": "Leaves a crimson trail behind you.", + "item.antarchy.eye_of_the_storm": "Eye of the Storm", + "tooltip.antarchy.eye_of_the_storm.updraft": "Use to ride a rising vortex skyward.", + "tooltip.antarchy.eye_of_the_storm.surge": "Attack to hurl a homing tornado that scoops up foes and drags them along.", + "item.antarchy.royal_guardian_helmet": "Royal Guardian Helmet", + "item.antarchy.royal_guardian_chestplate": "Royal Guardian Chestplate", + "item.antarchy.royal_guardian_leggings": "Royal Guardian Leggings", + "item.antarchy.royal_guardian_boots": "Royal Guardian Boots", + "item.antarchy.royal_guardian_sword": "Royal Guardian Sword", + "item.antarchy.royal_guardian_shield": "Royal Guardian Shield", + "item.antarchy.royal_assailant_helmet": "Royal Assailant Helmet", + "item.antarchy.royal_assailant_chestplate": "Royal Assailant Chestplate", + "item.antarchy.royal_assailant_leggings": "Royal Assailant Leggings", + "item.antarchy.royal_assailant_boots": "Royal Assailant Boots", + "item.antarchy.royal_assailant_battleaxe": "Royal Assailant Battle Axe", + "item.antarchy.royal_assailant_staff": "Royal Assailant Staff", + "tooltip.antarchy.royal_assailant_staff": "Opens paired tears that summon four allied Manticores for 30 seconds.", + "tooltip.antarchy.royal_assailant_battleaxe.black_hole": "Use to create a Black Hole", + "tooltip.antarchy.royal_assailant_battleaxe.dilation": "Hits apply Temporal Dilation", + "tooltip.antarchy.royal_guardian_shield.command": "Use to command the nearest mob", + "tooltip.antarchy.royal_assailant_chestplate.invert": "Press the inversion key to toggle inverted gravity on and off.", + "tooltip.antarchy.royal_assailant_boots.fall": "Cancels fall damage while falling upward.", "item.antarchy.mantis_claw": "Mantis Claw", "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "King Scale", "item.antarchy.queen_scale": "Queen Scale", "item.antarchy.jerry_nucleus": "Jerry Nucleus", "tooltip.antarchy.jerry_nucleus.hatch": "While holding, interact with any bug egg or turtle egg to hatch it instantly.", - "key.antarchy.dorrie_charge_jump": "Dorrie Charge Jump", - "key.antarchy.hercules_beetle_charge": "Hercules Beetle Charge", - "key.antarchy.hercules_beetle_flight_toggle": "Hercules Beetle Flight Toggle", - "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.", + "key.antarchy.mount_special": "Mount: Special / Charge", + "key.antarchy.mount_flight_toggle": "Mount: Toggle Flight", + "item.antarchy.springbug_leg": "Springbug Leg", + "item.antarchy.springy_boots": "Springy Boots", + "tooltip.antarchy.springy_boots": "Sneak to charge, then jump to spring upward.", "item.antarchy.brutalfly_wing": "Brutalfly Wing", "item.antarchy.brutalfly_elytra": "Brutalfly Elytra", + "item.antarchy.manticore_wing": "Manticore Wing", + "item.antarchy.manticore_wings": "Manticore Wings", + "tooltip.antarchy.manticore_wings": "While flying, collide with non-allied creatures to deal heavy damage.", + "item.antarchy.broodfruit_cobbler": "Broodfruit Cobbler", "tooltip.antarchy.brutalfly_elytra.flap": "While flying, hold %s to flap your wings", "item.antarchy.cornea_ear": "Ear of Cornea", "item.antarchy.corn": "Corn", @@ -407,9 +583,9 @@ "item.antarchy.american_name": "American %s", "item.antarchy.root_beer": "Root Beer", "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.flytrap_goo": "Flytrap Goo", + "item.antarchy.flytrap_goo_block": "Flytrap Goo Block", + "tooltip.antarchy.flytrap_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.lumen_bucket": "Lumen Bucket", @@ -419,7 +595,12 @@ "tooltip.antarchy.scorpion_whip.snap": "Attack with tethered prey 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.vortex_charge": "Vortex Charge", + "entity.antarchy.upward_falling_block": "Falling Antigravel", + "entity.antarchy.vortex": "Vortex", + "entity.antarchy.wind_vortex": "Wind Vortex", + "entity.antarchy.dimensional_tear": "Dimensional Tear", + "item.antarchy.vortex_spawn_egg": "Vortex Spawn Egg", "item.antarchy.ultimate_helmet": "Ultimate Helmet", "item.antarchy.ultimate_chestplate": "Ultimate Chestplate", "item.antarchy.ultimate_leggings": "Ultimate Leggings", @@ -450,6 +631,7 @@ "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.portal_gun": "Portal Gun", "item.antarchy.miners_dream": "Miner's Dream", "tooltip.antarchy.miners_dream.line1": "Use to carve a winding cave.", "tooltip.antarchy.miners_dream.line2": "Leaves valuable blocks untouched.", @@ -515,7 +697,7 @@ "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.stratoshark_spawn_egg": "Stratoshark 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", @@ -528,12 +710,15 @@ "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.worm_spawn_egg": "Worm 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.elythia_meadow": "Elythian Meadows", + "biome.antarchy.truffalo_forest": "Truffalo Forest", + "biome.antarchy.elythia_ocean": "Elythian Ocean", "biome.antarchy.butterfly_fields": "Butterfly Fields", "biome.antarchy.ouranwood_forest": "Ouranwood Forest", "biome.antarchy.glimmering_pools": "Glimmering Pools", @@ -553,7 +738,7 @@ "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.", "death.attack.spit_bug_disrespect": "%1$s was disrespected by Spit Bug", - "death.attack.jumpy_bug_jump": "%1$s was jumped by Jumpy Bug", + "death.attack.springbug_jump": "%1$s was jumped by Springbug", "death.attack.hercules_beetle_obliteration": "%1$s was obliterated by Hercules Beetle", "message.antarchy.big_bertha.mode": "Big Bertha Mode: %s", "message.antarchy.big_bertha.mode.none": "None", @@ -576,6 +761,12 @@ "effect.antarchy.paralyzed.description": "Prevents targets from moving.", "effect.antarchy.inverted": "Inverted", "effect.antarchy.inverted.description": "Inverts the target's gravity.", + "effect.antarchy.commanded": "Commanded", + "effect.antarchy.commanded.description": "Fights for the player who commanded it.", + "effect.antarchy.dilated": "Temporal Dilation", + "effect.antarchy.dilated.description": "Slows the passage of time for the affected entity.", + "effect.antarchy.contracted": "Temporal Contraction", + "effect.antarchy.contracted.description": "Speeds the passage of time for the affected entity.", "effect.antarchy.stinky": "Stinky", "effect.antarchy.stinky.description": "Repels passive and neutral mobs, attracts arthropods.", "effect.antarchy.gooped": "Gooped", @@ -585,19 +776,13 @@ "effect.antarchy.bloodglass_ward": "Bloodglass Ward", "effect.antarchy.bloodglass_ward.description": "Gives hearts that shatter, absorbing an entire hit of damage. They regenerate over time.", "effect.antarchy.glimmering": "Glimmering", - "effect.antarchy.glimmering.description": "Passes through entities and attacks unharmed, like a spirit.", - "effect.antarchy.dilated": "Dilated", - "effect.antarchy.dilated.description": "Slows the passage of time for the affected entity.", - "effect.antarchy.contracted": "Temporal Contraction", - "effect.antarchy.contracted.description": "Speeds the passage of time for the affected entity.", - "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", + "effect.antarchy.glimmering.description": "Passes through entities and attacks unharmed, like a spirit. Grants a lighter step and a higher jump.", + "death.attack.flytrap_mauling": "%1$s was mauled to death by a plant", + "death.attack.flytrap_mauling.player": "%1$s was mauled to death by a plant", + "death.attack.flytrap_swallow": "%1$s was swallowed by a flytrap", + "death.attack.flytrap_swallow.player": "%1$s was swallowed by a flytrap", "potion.antarchy.haste": "Haste Potion", "potion.antarchy.strong_haste": "Strong Haste Potion", - "potion.antarchy.time_dilation": "Potion of Time Dilation", - "potion.antarchy.long_time_dilation": "Potion of Strong Time Dilation", "tooltip.antarchy.big_bertha.mode": "Mode: %s", "tooltip.antarchy.big_bertha.toggle_mode": "Shift + use to cycle boss modes.", "tooltip.antarchy.big_bertha.mode.none": "Hits deal a small amount of bonus damage.", @@ -617,6 +802,9 @@ "tooltip.antarchy.gravity_gun.secondary": "Usage: 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.portal_gun.primary": "Attack: fire a blue portal.", + "tooltip.antarchy.portal_gun.secondary": "Use: fire an orange portal.", + "tooltip.antarchy.portal_gun.reset": "Sneak + use: fizzle your active portals.", "tooltip.antarchy.antimetal_inversion": "Inverts entites directly below it", "tooltip.antarchy.diamond_minecart.forward": "Will be implemented later.", "tooltip.antarchy.diamond_minecart.rails": " ", @@ -629,13 +817,19 @@ "advancements.antarchy.visit_cavaryn.description": "Enter the infested dimension of Cavaryn.", "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.a_lovely_world.title": "A Lovely World", + "advancements.antarchy.a_lovely_world.description": "You found a strangely familiar house in Elythia.", "advancements.antarchy.cops_n_robbers.title": "Cops N Robbers!", "advancements.antarchy.cops_n_robbers.description": "This is just a nostalgic structure, no affiliation with Sky :)", "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.long_live_the_prince.title": "Long Live the Prince", + "advancements.antarchy.long_live_the_prince.description": "Hatch and tame a Prince.", + "advancements.antarchy.long_live_the_princess.title": "Long Live the Princess", + "advancements.antarchy.long_live_the_princess.description": "Hatch and tame a Princess.", + "advancements.antarchy.the_lab.title": "Hey everyone, Dan here", "advancements.antarchy.the_lab.description": "Discover Dr. Trayaurus\u0027 lab.", - "advancements.antarchy.sweater_dreams.title": "Sweater Dreams", + "advancements.antarchy.sweater_dreams.title": "Sweeter Dreams", "advancements.antarchy.sweater_dreams.description": "Defeat the Nightmare.", "advancements.antarchy.stone_cold.title": "Stone Cold", "advancements.antarchy.stone_cold.description": "Defeat a Basilisk.", @@ -646,11 +840,11 @@ "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.shark_weak.description": "Defeat a Stratoshark.", "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.soups_up.description": "Eat Stratoshark 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", @@ -661,6 +855,8 @@ "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.royal_assailant_staff.title": "Fly my pretties!", + "advancements.antarchy.royal_assailant_staff.description": "Obtain the Royal Assailant Staff.", "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", @@ -709,20 +905,19 @@ "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.size_ray_fire": "Size Ray fires", "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.stratoshark_bite": "Stratoshark bites", + "subtitles.antarchy.stratoshark_idle": "Stratoshark idles", + "subtitles.antarchy.stratoshark_hurt": "Stratoshark hurts", + "subtitles.antarchy.stratoshark_death": "Stratoshark dies", + "subtitles.antarchy.stratoshark_fly": "Stratoshark flies", "subtitles.antarchy.caterpillar_idle": "Caterpillar idles", "subtitles.antarchy.caterpillar_hurt": "Caterpillar hurts", "subtitles.antarchy.caterpillar_crawl": "Caterpillar crawls", @@ -736,6 +931,10 @@ "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.dimensional_tear_open": "A dimensional tear opens", + "subtitles.antarchy.dimensional_tear_idle": "A dimensional tear shimmers", + "subtitles.antarchy.dimensional_tear_creature_leaves": "A creature emerges from the tear", + "subtitles.antarchy.dimensional_tear_close": "A dimensional tear closes", "subtitles.antarchy.thoraxis_lucid_pools_additions": "Lucid Pools curse", "subtitles.antarchy.thoraxis_lucid_pools_mood": "Lucid Pools murmur", "subtitles.antarchy.lucid_ambient": "Lucid hums", @@ -762,17 +961,26 @@ "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.flytrap_attack": "Flytrap attacks", + "subtitles.antarchy.flytrap_grab": "Flytrap grabs", + "subtitles.antarchy.flytrap_hurt": "Flytrap hurts", + "subtitles.antarchy.flytrap_death": "Flytrap dies", + "subtitles.antarchy.flytrap_hiss": "Flytrap hisses", + "subtitles.antarchy.flytrap_growl": "Flytrap 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.antimetal_place": "Antimetal clangs", + "subtitles.antarchy.antimetal_step": "Antimetal clinks", + "subtitles.antarchy.antimetal_scaffold": "Antimetal scaffolding rattles", + "subtitles.antarchy.portal_gun_fire_blue": "Portal Gun fires", + "subtitles.antarchy.portal_gun_fire_orange": "Portal Gun fires", + "subtitles.antarchy.portal_gun_invalid_surface": "Portal fizzles", + "subtitles.antarchy.portal_open_blue": "Blue portal opens", + "subtitles.antarchy.portal_open_orange": "Orange portal opens", + "subtitles.antarchy.portal_fizzle": "Portal fizzles", "subtitles.antarchy.bed_bug_ambient": "Bed Bug chirps", "subtitles.antarchy.bed_bug_hurt": "Bed Bug hurts", "subtitles.antarchy.bed_bug_attack": "Bed Bug bites", @@ -796,6 +1004,11 @@ "subtitles.antarchy.molevore_attack": "Molevore attacks", "subtitles.antarchy.molevore_dig": "Molevore digs", "subtitles.antarchy.duct_tape_use": "Duct Tape tears", + "subtitles.antarchy.worm_hook_flying": "Worm Hook whooshes", + "subtitles.antarchy.blood_crystal_katana_dash": "Blood Crystal Katana dashes", + "subtitles.antarchy.blood_crystal_armor_equip": "Blood Crystal Armor equips", + "subtitles.antarchy.bloodglass_ward_heart_break": "Bloodglass heart shatters", + "subtitles.antarchy.bloodglass_ward_heart_regen": "Bloodglass heart reforms", "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", @@ -829,23 +1042,80 @@ "subtitles.antarchy.water_cannon_fire": "Water Cannon fires", "subtitles.antarchy.toreterror_jump_up": "Toreterror jumps", "subtitles.antarchy.toreterror_jump_land": "Toreterror lands", + "subtitles.antarchy.king_idle": "The King rumbles", + "subtitles.antarchy.king_walk": "The King's footfalls", + "subtitles.antarchy.king_fly_loop": "The King's wings beat", + "subtitles.antarchy.king_wing_flap": "The King's wings surge", + "subtitles.antarchy.king_bite": "The King bites", + "subtitles.antarchy.king_stomp": "The King stomps", + "subtitles.antarchy.king_roar": "The King roars", + "subtitles.antarchy.king_hurt": "The King is struck", + "subtitles.antarchy.king_death": "The King falls", + "subtitles.antarchy.king_beam_shoot": "The King fires a beam", + "subtitles.antarchy.king_fireball_shoot": "The King breathes fire", + "subtitles.antarchy.king_ice_spikes": "The King summons ice spikes", + "subtitles.antarchy.king_decree_cast": "The King pronounces a Decree", + "subtitles.antarchy.king_decree": "The King issues a Decree", + "subtitles.antarchy.king_success": "The King acknowledges compliance", + "subtitles.antarchy.king_judgement": "The King passes Judgement", + "subtitles.antarchy.queen_idle": "The Queen murmurs", + "subtitles.antarchy.queen_walk": "The Queen's footfalls", + "subtitles.antarchy.queen_fly_loop": "The Queen's wings beat", + "subtitles.antarchy.queen_wing_flap": "The Queen's wings surge", + "subtitles.antarchy.queen_bite": "The Queen bites", + "subtitles.antarchy.queen_stomp": "The Queen stomps", + "subtitles.antarchy.queen_roar": "The Queen roars", + "subtitles.antarchy.queen_hurt": "The Queen is struck", + "subtitles.antarchy.queen_death": "The Queen falls", + "subtitles.antarchy.queen_beam_shoot": "The Queen fires a beam", + "subtitles.antarchy.queen_beam_start": "The Queen's beam charges", + "subtitles.antarchy.queen_beam_loop": "The Queen's beam sweeps", + "subtitles.antarchy.queen_beam_end": "The Queen's beam fades", + "subtitles.antarchy.queen_black_hole_shoot": "The Queen tears open a singularity", + "subtitles.antarchy.queen_cast_shoot": "The Queen casts", + "subtitles.antarchy.prince_idle": "The Prince chitters", + "subtitles.antarchy.prince_bite": "The Prince bites", + "subtitles.antarchy.prince_shoot": "The Prince spits a volley", + "subtitles.antarchy.prince_fly": "The Prince's wings beat", + "subtitles.antarchy.prince_step": "The Prince's footfalls", + "subtitles.antarchy.princess_idle": "The Princess chitters", + "subtitles.antarchy.princess_bite": "The Princess bites", + "subtitles.antarchy.princess_shoot": "The Princess spits a volley", + "subtitles.antarchy.princess_fly": "The Princess's wings beat", + "subtitles.antarchy.princess_step": "The Princess's footfalls", "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.potion.effect.time_dilation": "Potion of Time Dilation", - "item.minecraft.potion.effect.long_time_dilation": "Potion of Strong Time Dilation", - "item.minecraft.splash_potion.effect.time_dilation": "Splash Potion of Time Dilation", - "item.minecraft.splash_potion.effect.long_time_dilation": "Splash Potion of Strong Time Dilation", - "item.minecraft.lingering_potion.effect.time_dilation": "Lingering Potion of Time Dilation", - "item.minecraft.lingering_potion.effect.long_time_dilation": "Lingering Potion of Strong Time Dilation", - "item.minecraft.tipped_arrow.effect.time_dilation": "Arrow of Time Dilation", - "item.minecraft.tipped_arrow.effect.long_time_dilation": "Arrow of Strong Time Dilation", "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.command": "Potion of Command", + "item.minecraft.potion.effect.long_command": "Potion of Command", + "item.minecraft.splash_potion.effect.command": "Splash Potion of Command", + "item.minecraft.splash_potion.effect.long_command": "Splash Potion of Command", + "item.minecraft.lingering_potion.effect.command": "Lingering Potion of Command", + "item.minecraft.lingering_potion.effect.long_command": "Lingering Potion of Command", + "item.minecraft.tipped_arrow.effect.command": "Arrow of Command", + "item.minecraft.tipped_arrow.effect.long_command": "Arrow of Command", + "item.minecraft.potion.effect.time_dilation": "Potion of Temporal Dilation", + "item.minecraft.potion.effect.long_time_dilation": "Potion of Strong Temporal Dilation", + "item.minecraft.splash_potion.effect.time_dilation": "Splash Potion of Temporal Dilation", + "item.minecraft.splash_potion.effect.long_time_dilation": "Splash Potion of Strong Temporal Dilation", + "item.minecraft.lingering_potion.effect.time_dilation": "Lingering Potion of Temporal Dilation", + "item.minecraft.lingering_potion.effect.long_time_dilation": "Lingering Potion of Strong Temporal Dilation", + "item.minecraft.tipped_arrow.effect.time_dilation": "Arrow of Temporal Dilation", + "item.minecraft.tipped_arrow.effect.long_time_dilation": "Arrow of Strong Temporal Dilation", + "item.minecraft.potion.effect.time_contraction": "Potion of Temporal Contraction", + "item.minecraft.splash_potion.effect.time_contraction": "Splash Potion of Temporal Contraction", + "item.minecraft.lingering_potion.effect.time_contraction": "Lingering Potion of Temporal Contraction", + "item.minecraft.tipped_arrow.effect.time_contraction": "Arrow of Temporal Contraction", + "item.minecraft.potion.effect.long_time_contraction": "Potion of Strong Temporal Contraction", + "item.minecraft.splash_potion.effect.long_time_contraction": "Splash Potion of Strong Temporal Contraction", + "item.minecraft.lingering_potion.effect.long_time_contraction": "Lingering Potion of Strong Temporal Contraction", + "item.minecraft.tipped_arrow.effect.long_time_contraction": "Arrow of Strong Temporal Contraction", "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", @@ -904,6 +1174,12 @@ "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.", + "advancements.antarchy.enter_the_speed_force.title": "Enter the speed force", + "advancements.antarchy.enter_the_speed_force.description": "Gain Temporal Contraction.", + "advancements.antarchy.probably_wondering_how_i_got_here.title": "You're probably wondering how I got here", + "advancements.antarchy.probably_wondering_how_i_got_here.description": "Gain Temporal Dilation.", + "advancements.antarchy.temporal_contradiction.title": "Temporal Contradiction", + "advancements.antarchy.temporal_contradiction.description": "Have Temporal Dilation and Temporal Contraction active at the same time.", "entity.antarchy.cheep": "Cheep", "item.antarchy.cheep": "Cheep", "item.antarchy.cheep_spawn_egg": "Cheep Spawn Egg", @@ -913,6 +1189,7 @@ "biome.antarchy.umbral_hills": "Umbral Hills", "biome.antarchy.lucid_pools": "Lucid Pools", "biome.antarchy.dream_dunes": "Dream Dunes", + "biome.antarchy.vortex_expanse": "Vortex Expanse", "biome.antarchy.cloud_sea": "Cloud Sea", "block.antarchy.wild_corn": "Wild Corn", "trim_material.antarchy.blood_crystal": "Blood Crystal", @@ -920,21 +1197,6 @@ "trim_material.antarchy.nightmare_scale": "Nightmare Scale", "trim_material.antarchy.uranium": "Uranium", "trim_material.antarchy.titanium": "Titanium", - "trim_material.antarchy.tigers_eye": "Tiger's Eye", - "item.antarchy.tigers_eye": "Tiger's Eye", - "item.antarchy.tigers_eye_helmet": "Tiger's Eye Helmet", - "item.antarchy.tigers_eye_chestplate": "Tiger's Eye Chestplate", - "item.antarchy.tigers_eye_leggings": "Tiger's Eye Leggings", - "item.antarchy.tigers_eye_boots": "Tiger's Eye Boots", - "item.antarchy.tigers_eye_armor.passive": "Up to 10% detection reduction", - "item.antarchy.tigers_eye_armor.full_set": "Full Set: Adaptive Camouflage", - "item.antarchy.tigers_eye_armor.activate": "Press %s to mimic the block beneath you", - "item.antarchy.tigers_eye_armor.active_bonus": "Doubles detection reduction while active", - "key.antarchy.tigers_eye_camouflage": "Adaptive Camouflage", - "message.antarchy.tiger_eye_camouflage.activated": "Adaptive Camouflage activated", - "message.antarchy.tiger_eye_camouflage.disabled": "Adaptive Camouflage disabled", - "message.antarchy.tiger_eye_camouflage.full_set_required": "A full set of Tiger's Eye armor is required", - "message.antarchy.tiger_eye_camouflage.invalid_block": "There is no suitable block beneath you", "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", @@ -954,6 +1216,8 @@ "advancements.antarchy.mucus_obtained.title": "Gazuntite!", "advancements.antarchy.mucus_obtained.description": "Obtain some Mucus.", "block.antarchy.cavaryn_portal": "Cavaryn Portal", + "biome.antarchy.cavaryn_moleworm_caves": "Moleworm Caves", + "biome.antarchy.wormy_caves": "Wormy Caves", "block.antarchy.termite_nest": "Termite Nest", "block.antarchy.chitin_spike": "Chitin Spike", "block.antarchy.chitin_block": "Chitin Block", @@ -963,27 +1227,41 @@ "block.antarchy.amber_moss_carpet": "Amber Moss Carpet", "block.antarchy.amber_lichen": "Amber Lichen", "block.antarchy.mucus": "Mucus", - "tooltip.antarchy.mucus_slippery": "Makes the block it's on slippery like ice", + "tooltip.antarchy.mucus_slippery": "Makes the block it's on even more slippery than ice", "block.antarchy.bile_vein": "Bile Vein", "block.antarchy.creepvine": "Creepvine", - "block.antarchy.creeping_horror_egg": "Creeping Horror Egg", - "block.antarchy.lurking_terror_egg": "Lurking Terror Egg", + "block.antarchy.crawling_blight_egg": "Crawling Blight Egg", + "block.antarchy.skulking_fright_egg": "Skulking Fright Egg", "entity.antarchy.termite": "Termite", - "entity.antarchy.jumpy_bug": "Jumpy Bug", + "entity.antarchy.springbug": "Springbug", "entity.antarchy.spit_bug": "Spit Bug", "entity.antarchy.stink_bug": "Stink Bug", "entity.antarchy.rolly_polly": "Rolly Polly", - "entity.antarchy.creeping_horror": "Creeping Horror", - "entity.antarchy.lurking_terror": "Lurking Terror", + "entity.antarchy.crawling_blight": "Crawling Blight", + "entity.antarchy.skulking_fright": "Skulking Fright", "entity.antarchy.hercules_beetle": "Hercules Beetle", - "item.antarchy.jumpy_bug_spawn_egg": "Jumpy Bug Spawn Egg", + "entity.antarchy.prince": "Prince", + "entity.antarchy.princess": "Princess", + "entity.antarchy.king": "The King", + "entity.antarchy.queen": "The Queen", + "entity.antarchy.manticore": "Manticore", + "entity.antarchy.royal_black_hole": "Singularity", + "entity.antarchy.royal_bolt": "Royal Bolt", + "block.antarchy.prince_egg": "Prince Egg", + "block.antarchy.princess_egg": "Princess Egg", + "item.antarchy.springbug_spawn_egg": "Springbug Spawn Egg", "item.antarchy.spit_bug_spawn_egg": "Spit Bug Spawn Egg", "item.antarchy.stink_bug_spawn_egg": "Stink Bug Spawn Egg", "item.antarchy.termite_spawn_egg": "Termite Spawn Egg", "item.antarchy.rolly_polly_spawn_egg": "Rolly Polly Spawn Egg", - "item.antarchy.creeping_horror_spawn_egg": "Creeping Horror Spawn Egg", - "item.antarchy.lurking_terror_spawn_egg": "Lurking Terror Spawn Egg", + "item.antarchy.crawling_blight_spawn_egg": "Crawling Blight Spawn Egg", + "item.antarchy.skulking_fright_spawn_egg": "Skulking Fright Spawn Egg", "item.antarchy.hercules_beetle_spawn_egg": "Hercules Beetle Spawn Egg", + "item.antarchy.king_spawn_egg": "King Spawn Egg", + "item.antarchy.queen_spawn_egg": "Queen Spawn Egg", + "item.antarchy.manticore_spawn_egg": "Manticore Spawn Egg", + "item.antarchy.prince_spawn_egg": "Prince Spawn Egg", + "item.antarchy.princess_spawn_egg": "Princess Spawn Egg", "item.antarchy.chitin": "Chitin", "block.antarchy.polished_broodstone": "Polished Broodstone", "block.antarchy.chiseled_broodstone": "Chiseled Broodstone", @@ -1010,7 +1288,7 @@ "block.antarchy.glowcap_mushroom_block": "Glowcap Mushroom Block", "block.antarchy.molting_vines": "Molting Vines", "item.antarchy.broodfruit": "Broodfruit", - "block.antarchy.jumpy_bug_egg": "Jumpy Bug Egg", + "block.antarchy.springbug_egg": "Springbug Egg", "block.antarchy.spit_bug_egg": "Spit Bug Egg", "block.antarchy.jerry_egg": "Jerry Egg", "entity.antarchy.jerry": "Jerry", @@ -1020,13 +1298,13 @@ "block.antarchy.biowart": "Biowart", "block.antarchy.biowart_tendrils": "Biowart Tendrils", "biome.antarchy.biowart_caves": "Biowart Caves", - "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.crawling_blight_growl": "Crawling Blight growls", + "subtitles.antarchy.crawling_blight_hurt": "Crawling Blight hurts", + "subtitles.antarchy.crawling_blight_bite": "Crawling Blight bites", + "subtitles.antarchy.skulking_fright_snarl": "Skulking Fright snarls", + "subtitles.antarchy.skulking_fright_hurt": "Skulking Fright hurts", + "subtitles.antarchy.skulking_fright_bite": "Skulking Fright bites", + "subtitles.antarchy.skulking_fright_fly_loop": "Skulking Fright flies", "subtitles.antarchy.stink_bug_fart": "Stink Bug farts", "subtitles.antarchy.cavaryn_heartbeat": "Cavaryn pulses", "subtitles.antarchy.stink_bug_idle": "Stink Bug idles", @@ -1040,10 +1318,10 @@ "subtitles.antarchy.hercules_beetle_cry": "Hercules Beetle roars", "subtitles.antarchy.hercules_beetle_charge_start": "Hercules Beetle charges up", "subtitles.antarchy.hercules_beetle_knocked_down": "Hercules Beetle is knocked down", - "subtitles.antarchy.jumpy_bug_idle": "Jumpy Bug idles", + "subtitles.antarchy.springbug_idle": "Springbug idles", "subtitles.antarchy.spit_bug_idle": "Spit Bug idles", - "subtitles.antarchy.jumpy_bug_hurt": "Jumpy Bug hurts", - "subtitles.antarchy.jumpy_bug_jump": "Jumpy Bug jumps", + "subtitles.antarchy.springbug_hurt": "Springbug hurts", + "subtitles.antarchy.springbug_jump": "Springbug jumps", "subtitles.antarchy.spit_bug_hurt": "Spit Bug hurts", "subtitles.antarchy.spit_bug_spit": "Spit Bug spits", "subtitles.antarchy.brutalfly_spit": "Brutalfly spits", @@ -1056,8 +1334,187 @@ "advancements.antarchy.bug_apetit.description": "Eat Cooked Bug Meat.", "advancements.antarchy.behavioral_correction.title": "Behavioral Correction", "advancements.antarchy.behavioral_correction.description": "Obtain an Attitude Adjuster.", + "advancements.antarchy.let_it_die.title": "Let It Die!", + "advancements.antarchy.let_it_die.description": "Obtain any Truffalo Tuft.", + "advancements.antarchy.let_it_grow.title": "Let It Grow!", + "advancements.antarchy.let_it_grow.description": "Grow a Truffalo Sapling.", "advancements.antarchy.beetle_buddies.title": "Beetle Buddies", "advancements.antarchy.beetle_buddies.description": "Tame a Hercules Beetle.", "advancements.antarchy.herculean_task.title": "Herculean Task", - "advancements.antarchy.herculean_task.description": "Slay a Hercules Beetle." + "advancements.antarchy.herculean_task.description": "Slay a Hercules Beetle.", + "item.antarchy.tigers_eye": "Tiger's Eye", + "block.antarchy.tigers_eye_block": "Block of Tiger's Eye", + "item.antarchy.tigers_eye_helmet": "Tiger's Eye Helmet", + "item.antarchy.tigers_eye_chestplate": "Tiger's Eye Chestplate", + "item.antarchy.tigers_eye_leggings": "Tiger's Eye Leggings", + "item.antarchy.tigers_eye_boots": "Tiger's Eye Boots", + "trim_material.antarchy.tigers_eye": "Tiger's Eye", + "item.antarchy.tigers_eye_armor.passive": "Up to 10% detection reduction", + "item.antarchy.tigers_eye_armor.full_set": "Full Set: Adaptive Camouflage", + "item.antarchy.tigers_eye_armor.activate": "Press %s to mimic the block beneath you", + "item.antarchy.tigers_eye_armor.active_bonus": "Doubles detection reduction while active", + "key.antarchy.tigers_eye_camouflage": "Adaptive Camouflage", + "key.antarchy.royal_inversion_toggle": "Royal Assailant: Toggle Inversion", + "message.antarchy.tiger_eye_camouflage.activated": "Adaptive Camouflage activated", + "message.antarchy.tiger_eye_camouflage.disabled": "Adaptive Camouflage disabled", + "message.antarchy.tiger_eye_camouflage.full_set_required": "A full set of Tiger's Eye armor is required", + "message.antarchy.tiger_eye_camouflage.invalid_block": "There is no suitable block beneath you", + "music.antarchy.lucid_lullaby": "Lucid Lullaby", + "music.antarchy.lucid_lullaby.credit": "hewo_", + "music.antarchy.whistling_void": "Whistling Void", + "music.antarchy.whistling_void.credit": "docshrekbot", + "music.antarchy.venenatus": "Venenatus", + "music.antarchy.venenatus.credit": "hewo_", + "music.antarchy.wistful_wanderings": "Wistful Wanderings", + "music.antarchy.wistful_wanderings.credit": "hewo_", + "tooltip.antarchy.lucid_anchor.pyramid": "Requires an Antimetal Beacon pyramid above it", + "tooltip.antarchy.lucid_anchor.path": "Projects Inverted downward while it has an unobstructed path to the world below", + "block.antarchy.myrmite_stairs": "Myrmite Stairs", + "block.antarchy.myrmite_slab": "Myrmite Slab", + "block.antarchy.myrmite_wall": "Myrmite Wall", + "block.antarchy.polished_myrmite": "Polished Myrmite", + "block.antarchy.polished_myrmite_stairs": "Polished Myrmite Stairs", + "block.antarchy.polished_myrmite_slab": "Polished Myrmite Slab", + "block.antarchy.polished_myrmite_wall": "Polished Myrmite Wall", + "block.antarchy.chiseled_myrmite": "Chiseled Myrmite", + "block.antarchy.myrmite_bricks": "Myrmite Bricks", + "block.antarchy.myrmite_brick_stairs": "Myrmite Brick Stairs", + "block.antarchy.myrmite_brick_slab": "Myrmite Brick Slab", + "block.antarchy.myrmite_brick_wall": "Myrmite Brick Wall", + "block.antarchy.mossy_myrmite_bricks": "Mossy Myrmite Bricks", + "block.antarchy.mossy_myrmite_brick_stairs": "Mossy Myrmite Brick Stairs", + "block.antarchy.mossy_myrmite_brick_slab": "Mossy Myrmite Brick Slab", + "block.antarchy.mossy_myrmite_brick_wall": "Mossy Myrmite Brick Wall", + "block.antarchy.myrmite_pillar": "Myrmite Pillar", + "block.antarchy.mossy_broodstone_bricks": "Mossy Broodstone Bricks", + "block.antarchy.mossy_broodstone_brick_stairs": "Mossy Broodstone Brick Stairs", + "block.antarchy.mossy_broodstone_brick_slab": "Mossy Broodstone Brick Slab", + "block.antarchy.mossy_broodstone_brick_wall": "Mossy Broodstone Brick Wall", + "block.antarchy.mossy_nyxite_bricks": "Mossy Nyxite Bricks", + "block.antarchy.mossy_nyxite_brick_stairs": "Mossy Nyxite Brick Stairs", + "block.antarchy.mossy_nyxite_brick_slab": "Mossy Nyxite Brick Slab", + "block.antarchy.mossy_nyxite_brick_wall": "Mossy Nyxite Brick Wall", + "block.antarchy.packed_loam": "Packed Loam", + "block.antarchy.loam_bricks": "Loam Bricks", + "block.antarchy.loam_brick_stairs": "Loam Brick Stairs", + "block.antarchy.loam_brick_slab": "Loam Brick Slab", + "block.antarchy.loam_brick_wall": "Loam Brick Wall", + "block.antarchy.chiseled_loam_bricks": "Chiseled Loam Bricks", + "item.antarchy.cooked_cheep": "Cooked Cheep", + "item.antarchy.cheep_bucket": "Bucket of Cheep", + "block.antarchy.nadir_nyxium": "Nadir Nyxium", + "block.antarchy.verdant_nyxium": "Verdant Nyxium", + "block.antarchy.typhonite_pillar": "Typhonite Pillar", + "block.antarchy.nadir_fern": "Nadir Fern", + "block.antarchy.large_nadir_fern": "Large Nadir Fern", + "block.antarchy.duskbell": "Duskbell", + "block.antarchy.nadir_roots": "Nadir Roots", + "block.antarchy.verdant_roots": "Verdant Roots", + "block.antarchy.gorevine": "Gorevine" + ,"decree.antarchy.the_sky_is_mine": "THE SKY IS MINE" + ,"decree.antarchy.the_sky_is_mine.subtitle": "Stay grounded." + ,"decree.antarchy.do_not_run": "DO NOT RUN" + ,"decree.antarchy.do_not_run.subtitle": "Stop sprinting." + ,"decree.antarchy.kneel": "KNEEL" + ,"decree.antarchy.kneel.subtitle": "Crouch within five seconds." + ,"decree.antarchy.close_quarters": "CLOSE QUARTERS" + ,"decree.antarchy.close_quarters.subtitle": "Projectiles are forbidden." + ,"decree.antarchy.come_no_closer": "COME NO CLOSER" + ,"decree.antarchy.come_no_closer.subtitle": "Keep out of the King's inner radius." + ,"decree.antarchy.fight_me_coward": "FIGHT ME, COWARD!" + ,"decree.antarchy.fight_me_coward.subtitle": "Approach the King." + ,"decree.antarchy.no_respite": "NO RESPITE" + ,"decree.antarchy.no_respite.subtitle": "Healing is sealed." + ,"decree.antarchy.no_retreat": "NO RETREAT" + ,"decree.antarchy.no_retreat.subtitle": "Do not flee the King's presence." + ,"decree.antarchy.keep_your_distance": "KEEP YOUR DISTANCE" + ,"decree.antarchy.keep_your_distance.subtitle": "Stay out of the King's reach." + ,"decree.antarchy.stand_tall": "STAND TALL" + ,"decree.antarchy.stand_tall.subtitle": "Do not crouch before the King." + ,"decree.antarchy.stand_your_ground": "STAND YOUR GROUND" + ,"decree.antarchy.stand_your_ground.subtitle": "Do not stray from where you stand." + ,"decree.antarchy.hands_off_the_crown": "HANDS OFF THE CROWN" + ,"decree.antarchy.hands_off_the_crown.subtitle": "Strike the King and be judged." + ,"decree.antarchy.advance": "ADVANCE" + ,"decree.antarchy.advance.subtitle": "Close on the King or be judged." + ,"decree.antarchy.show_no_mercy": "SHOW NO MERCY" + ,"decree.antarchy.show_no_mercy.subtitle": "Keep dealing damage." + ,"menu.antarchy.royal_judgment": "Royal Judgment" + ,"enchantment.antarchy.feather_rising": "Feather Rising" + ,"enchantment.antarchy.chronosphere": "Chronosphere" + ,"block.antarchy.computer": "Computer" + ,"item.antarchy.computer": "Computer" + ,"item.antarchy.floppy_disk": "Floppy Disk" + ,"item.antarchy.floppy_disk.tooltip": "Put in a computer to find out more" + ,"screen.antarchy.computer": "ANTINTOSH OS" + ,"guide.antarchy.category.general": "GENERAL" + ,"guide.antarchy.category.elythia": "ELYTHIA" + ,"guide.antarchy.category.thoraxis": "THORAXIS" + ,"guide.antarchy.category.cavaryn": "CAVARYN" + ,"guide.antarchy.missing_title": "CORRUPTED FILE" + ,"guide.antarchy.missing_disk_title": "UNREADABLE DISK" + ,"guide.antarchy.disk.introduction.title": "INITIAL BOOT NOTES" + ,"guide.antarchy.disk.chronosphere.title": "CHRONOSPHERE DATA" + ,"guide.antarchy.disk.toreterror_arena.title": "TORETERROR ARENA DATA" + ,"guide.antarchy.disk.high_fructose_corn_syrup.title": "CORN SYRUP DATA" + ,"guide.antarchy.disk.elythia.title": "ELYTHIA ACCESS RECORD" + ,"guide.antarchy.disk.flying_squirrel.title": "FLYING SQUIRREL FIELD NOTES" + ,"guide.antarchy.disk.cavaryn.title": "CAVARYN ACCESS RECORD" + ,"guide.antarchy.disk.thoraxis.title": "THORAXIS ACCESS RECORD" + ,"guide.antarchy.disk.temporal_fields.title": "TEMPORAL FIELDS MANUAL" + ,"guide.antarchy.disk.bloodglass.title": "BLOODGLASS SURVIVAL NOTES" + ,"guide.antarchy.disk.vortex.title": "VORTEX CONTROL NOTES" + ,"guide.antarchy.entry.introduction.title": "SYSTEM INITIALIZED" + ,"guide.antarchy.entry.introduction.subtitle": "A machine for remembering what should have stayed forgotten." + ,"guide.antarchy.entry.introduction.description": "Insert recovered floppy disks to expand this archive. The machine remembers. The machine does not forgive." + ,"guide.antarchy.entry.chronosphere.title": "Chronosphere" + ,"guide.antarchy.entry.chronosphere.subtitle": "Temporal equipment record" + ,"guide.antarchy.entry.chronosphere.description": "A record for the Chronosphere enchantment will be expanded here. Further data is pending." + ,"guide.antarchy.entry.toreterror_arena.title": "Toreterror Arena" + ,"guide.antarchy.entry.toreterror_arena.subtitle": "Structure location fragment" + ,"guide.antarchy.entry.toreterror_arena.description": "The nearest arena is rumored to lie beyond the current horizon. Directional analysis is pending in this prototype." + ,"guide.antarchy.entry.elythia.title": "Elythia" + ,"guide.antarchy.entry.elythia.subtitle": "Dimension and portal access record" + ,"guide.antarchy.entry.elythia.description": "Elythia is reached through an Elythia portal made with a valid frame. A sacrificed Brown Ant activates the portal. The dimension contains oceans, meadows, forests, coral spikes, and other surface biomes." + ,"guide.antarchy.entry.flying_squirrel.title": "Flying Squirrel" + ,"guide.antarchy.entry.flying_squirrel.subtitle": "Elythia companion record" + ,"guide.antarchy.entry.flying_squirrel.description": "You wanna get nuts? Let’s get nuts. Flying squirrels like nuts, trees, and making a dramatic exit. Feed one to befriend it, then give it plenty of canopy to climb through. If you tell it to, it will perch on top of your head. If it falls, do not panic. It may be gliding. If you fall, you have my permission to panic." + ,"guide.antarchy.entry.cavaryn.title": "Cavaryn" + ,"guide.antarchy.entry.cavaryn.subtitle": "Dimension and portal access record" + ,"guide.antarchy.entry.cavaryn.description": "Cavaryn is reached through a Cavaryn portal made with a valid frame. A sacrificed Termite activates the portal. The dimension is a deep network of caves, including Glowcap, Biowart, Moleworm, Wormy, and Brooding Tunnel regions." + ,"guide.antarchy.entry.thoraxis.title": "Thoraxis" + ,"guide.antarchy.entry.thoraxis.subtitle": "Dimension and portal access record" + ,"guide.antarchy.entry.thoraxis.description": "Thoraxis is reached through a Thoraxis portal made with a valid frame. A sacrificed Red Ant activates the portal. Its vertical progression includes Dream Dunes, Umbral Hills, Lucid Pools, and Nadir Forest." + ,"guide.antarchy.entry.temporal_fields.title": "Temporal Fields" + ,"guide.antarchy.entry.temporal_fields.subtitle": "Time dilation and Chronosphere reference" + ,"guide.antarchy.entry.temporal_fields.description": "Time Dilation and Time Contraction alter the rate of affected entities. Chronosphere armor creates a player-centered field at 35 percent rate; higher levels expand its radius." + ,"guide.antarchy.entry.bloodglass.title": "Bloodglass" + ,"guide.antarchy.entry.bloodglass.subtitle": "Reactive protection system" + ,"guide.antarchy.entry.bloodglass.description": "Blood Crystal armor grants Bloodglass Hearts that block an incoming hit, shatter, and recharge. Blood Crystal Apples grant temporary Bloodglass Ward, and the Katana provides launch, dash, and crimson-trail mobility." + ,"guide.antarchy.entry.vortex.title": "Vortex Systems" + ,"guide.antarchy.entry.vortex.subtitle": "Vortex Lens and Eye of the Storm reference" + ,"guide.antarchy.entry.vortex.description": "Redstone power pulls entities into a Vortex Lens beam while Bluestone power blasts them away. The Eye of the Storm launches an updraft and can hurl a homing tornado that carries foes." + ,"guide.antarchy.entry.nightmare.title": "Nightmare" + ,"guide.antarchy.entry.nightmare.subtitle": "Thoraxis hostile entity record" + ,"guide.antarchy.entry.nightmare.description": "A hostile entity recorded in the deepest Thoraxis regions. The recovered model is presented in monochrome archive mode." + ,"guide.antarchy.entry.high_fructose_corn_syrup.title": "High Fructose Corn Syrup" + ,"guide.antarchy.entry.high_fructose_corn_syrup.subtitle": "Nutritional and operational notes" + ,"guide.antarchy.entry.high_fructose_corn_syrup.description": "A sweet substance of uncertain strategic value. Doctoral enthusiasm surrounding it is statistically suspicious." + ,"screen.antarchy.computer.first_use.title": "INITIAL PASSWORD SETUP" + ,"screen.antarchy.computer.first_use.prompt": "CREATE A PASSWORD TO CONTINUE" + ,"screen.antarchy.computer.first_use.confirm": "CONFIRM PASSWORD" + ,"screen.antarchy.computer.busy": "COMPUTER IN USE" + ,"screen.antarchy.computer.eject_denied": "ACCESS DENIED: SETTINGS REQUIRED" + ,"screen.antarchy.computer.ejected": "DISK EJECTED" + ,"antintosh.antarchy.desktop.archive": "ARCHIVE" + ,"antintosh.antarchy.desktop.settings": "SETTINGS" + ,"antintosh.antarchy.desktop.terminal": "TERMINAL" + ,"antintosh.antarchy.desktop.antpaint": "ANTPAINT" + ,"antintosh.antarchy.desktop.antmail": "ANTMAIL" + ,"antintosh.antarchy.desktop.text_editor": "TEXT EDITOR" + ,"antintosh.antarchy.antmail.compose": "COMPOSE MESSAGE" + ,"antintosh.antarchy.antmail.attach_text": "ATTACH TEXT FILE" + ,"antintosh.antarchy.antmail.attach_image": "ATTACH ANTPAINT IMAGE" + ,"antintosh.antarchy.antmail.save_attachment": "SAVE ATTACHMENT" + ,"antintosh.antarchy.antmail.address": "COMPUTER ADDRESS" } diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/es_es.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/es_es.json index d2ce8428..dd76c4b6 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/es_es.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/es_es.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "Nyxite pálido", "block.antarchy.nyxite_spike": "Púa de Nyxite", "block.antarchy.potent_nyxite": "Nyxite potente", - "block.antarchy.triffid_goo_block": "Bloque de Triffid Baba", + "block.antarchy.flytrap_goo_block": "Bloque de Flytrap Baba", "block.antarchy.elythia_portal": "Portal de Elythia", "block.antarchy.cloud_block": "Bloque de Nube", "block.antarchy.thoraxis_portal": "Portal de Thoraxis", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "Hormiga arcoíris", "entity.antarchy.diamond_minecart": "La vagoneta de diamante", "entity.antarchy.dr_trayaurus": "Dr. Trayaurus", - "entity.antarchy.cloud_shark": "Tiburón de nube", + "entity.antarchy.stratoshark": "Tiburón de nube", "entity.antarchy.kraken": "El Kraken", "entity.antarchy.missile_squid": "Calamar misil", "entity.antarchy.octopus_bomb": "Bomba pulpo", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "Molevore", "entity.antarchy.mantis": "Mantis", "entity.antarchy.alpha_mantis": "Mantis alfa", - "entity.antarchy.triffid": "Triffid", + "entity.antarchy.flytrap": "Flytrap", "entity.antarchy.toreterror": "Toreterror", "entity.antarchy.water_bomb": "Bomba de agua", "subtitles.antarchy.mantis_ambient": "Mantis hace clics", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "Ajustador de actitud", "tooltip.antarchy.attitude_adjuster.grounded": "Lanza hacia arriba a los objetivos en el suelo y estrella contra el suelo a los que están en el aire.", "tooltip.antarchy.attitude_adjuster.slam": "Haz clic derecho en el aire para realizar un golpe contra el suelo.", - "item.antarchy.cloud_shark_fin": "Aleta de Tiburón de nube", - "item.antarchy.cloud_shark_fin_soup": "Sopa de Aleta de Tiburón de nube", - "tooltip.antarchy.cloud_shark_fin_soup": "Otorga Fuerza y Caída lenta.", + "item.antarchy.stratoshark_fin": "Aleta de Tiburón de nube", + "item.antarchy.stratoshark_fin_soup": "Sopa de Aleta de Tiburón de nube", + "tooltip.antarchy.stratoshark_fin_soup": "Otorga Fuerza y Caída lenta.", "tooltip.antarchy.critter_cage.empty": "Clic derecho para lanzar", "tooltip.antarchy.critter_cage.contains": "Contiene: %s", "tooltip.antarchy.critter_cage.release": "Clic derecho para liberar", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "Máximo de Corazones de Cristalsangre", "item.antarchy.molevore_nose": "Nariz de Molevore", "item.antarchy.moleworm": "Moleworm", - "item.antarchy.triffid_spawn_egg": "Huevo generador de Triffid", + "item.antarchy.flytrap_spawn_egg": "Huevo generador de Flytrap", "item.antarchy.infested_rooted_dirt": "Enraizada Tierra infestado", "item.antarchy.infested_coarse_dirt": "Estéril Tierra infestado", "item.antarchy.pale_nyxite": "Nyxite pálido", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "Escama de Rey", "item.antarchy.queen_scale": "Escama de Reina", - "item.antarchy.jumpy_bug_leg": "Pata de Bicho saltarín", - "item.antarchy.jumpy_boots": "Botas saltarinas", - "tooltip.antarchy.jumpy_boots": "Agáchate para cargar y luego salta para impulsarte hacia arriba.", + "item.antarchy.springbug_leg": "Pata de Bicho saltarín", + "item.antarchy.springy_boots": "Botas saltarinas", + "tooltip.antarchy.springy_boots": "Agáchate para cargar y luego salta para impulsarte hacia arriba.", "item.antarchy.brutalfly_wing": "Ala de Brutalfly", "item.antarchy.brutalfly_elytra": "Élitros de Brutalfly", "tooltip.antarchy.brutalfly_elytra.flap": "Mientras vuelas, mantén %s para batir las alas", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "%s americano", "item.antarchy.root_beer": "Cerveza de raíz", "item.antarchy.primordial_scute": "Escama de Primordial", - "item.antarchy.triffid_goo": "Triffid Baba", - "item.antarchy.triffid_goo_block": "Bloque de Triffid Baba", - "tooltip.antarchy.triffid_goo_block": "A gran velocidad rebotas hacia arriba; de lo contrario, te hundes.", + "item.antarchy.flytrap_goo": "Flytrap Baba", + "item.antarchy.flytrap_goo_block": "Bloque de Flytrap Baba", + "tooltip.antarchy.flytrap_goo_block": "A gran velocidad rebotas hacia arriba; de lo contrario, te hundes.", "item.antarchy.cloud_bucket": "Cubo de Nube", "tooltip.antarchy.cloud_bucket.midair": "Se puede colocar en el aire", "item.antarchy.lumen_bucket": "Cubo de Lumen", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "Vuelve a hacer clic izquierdo sobre la presa atada para arrancar el aguijón.", "item.antarchy.fallen_king_crown": "Corona del Rey Caído", "tooltip.antarchy.fallen_king_crown.hero": "Otorga Héroe de la aldea al matar criaturas hostiles", - "item.antarchy.vortex_eye": "Ojo de Vórtice", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "Casco definitivo", "item.antarchy.ultimate_chestplate": "Peto definitivo", "item.antarchy.ultimate_leggings": "Grebas definitivas", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "Huevo generador de Oruga", "item.antarchy.butterfly_spawn_egg": "Huevo generador de Mariposa", "item.antarchy.brutalfly_spawn_egg": "Huevo generador de Brutalfly", - "item.antarchy.cloud_shark_spawn_egg": "Huevo generador de Tiburón de nube", + "item.antarchy.stratoshark_spawn_egg": "Huevo generador de Tiburón de nube", "item.antarchy.kraken_spawn_egg": "Eh, no. No lo hagas.", "item.antarchy.missile_squid_spawn_egg": "Huevo generador de Calamar misil", "item.antarchy.octopus_bomb_spawn_egg": "Huevo generador de Bomba pulpo", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "La termita está lista para abrir su destino.", "message.antarchy.termite_needs_reagent": "Esta termita necesita un reactivo antes de poder abrir su destino.", "death.attack.spit_bug_disrespect": "El bicho escupidor le faltó al respeto a %1$s", - "death.attack.jumpy_bug_jump": "El bicho saltarín saltó sobre %1$s", + "death.attack.springbug_jump": "El bicho saltarín saltó sobre %1$s", "death.attack.hercules_beetle_obliteration": "El escarabajo hércules aniquiló a %1$s", "message.antarchy.big_bertha.mode": "Modo de Gran Bertha: %s", "message.antarchy.big_bertha.mode.basilisk": "Basilisco", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "Impide que los objetivos se muevan.", "effect.antarchy.inverted": "Invertido", "effect.antarchy.inverted.description": "Invierte la gravedad del objetivo.", + "effect.antarchy.commanded.description": "Lucha por el jugador que lo comandó.", + "effect.antarchy.dilated.description": "Ralentiza el paso del tiempo para la criatura afectada.", "effect.antarchy.stinky": "Apestoso", "effect.antarchy.stinky.description": "Ahuyenta a las criaturas pasivas y neutrales, y atrae a los artrópodos.", "effect.antarchy.gooped.description": "Reduce la velocidad de movimiento y de ataque.", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "Crecimiento", "effect.antarchy.bloodglass_ward": "Guardia de Cristalsangre", "effect.antarchy.bloodglass_ward.description": "Otorga corazones que se hacen añicos y absorben un golpe completo de daño. Se regeneran con el tiempo.", - "death.attack.triffid_mauling": "Una planta despedazó a %1$s", - "death.attack.triffid_mauling.player": "Una planta despedazó a %1$s", - "death.attack.triffid_swallow": "Un Triffid se tragó a %1$s", - "death.attack.triffid_swallow.player": "Un Triffid se tragó a %1$s", + "death.attack.flytrap_mauling": "Una planta despedazó a %1$s", + "death.attack.flytrap_mauling.player": "Una planta despedazó a %1$s", + "death.attack.flytrap_swallow": "Un Flytrap se tragó a %1$s", + "death.attack.flytrap_swallow.player": "Un Flytrap se tragó a %1$s", "potion.antarchy.haste": "Poción de Prisa", "potion.antarchy.strong_haste": "Poción de Prisa fuerte", "tooltip.antarchy.big_bertha.mode": "Modo: %s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "Hormigas muerden", "subtitles.antarchy.ant_gather": "Hormigas recolectan", "subtitles.antarchy.ant_nest": "Nido de hormigas cruje", - "subtitles.antarchy.cloud_shark_bite": "Tiburón de nube muerde", - "subtitles.antarchy.cloud_shark_idle": "Tiburón de nube hace ruido", - "subtitles.antarchy.cloud_shark_hurt": "Tiburón de nube recibe daño", - "subtitles.antarchy.cloud_shark_death": "Tiburón de nube muere", - "subtitles.antarchy.cloud_shark_fly": "Tiburón de nube vuela", + "subtitles.antarchy.stratoshark_bite": "Tiburón de nube muerde", + "subtitles.antarchy.stratoshark_idle": "Tiburón de nube hace ruido", + "subtitles.antarchy.stratoshark_hurt": "Tiburón de nube recibe daño", + "subtitles.antarchy.stratoshark_death": "Tiburón de nube muere", + "subtitles.antarchy.stratoshark_fly": "Tiburón de nube vuela", "subtitles.antarchy.caterpillar_idle": "Oruga hace ruido", "subtitles.antarchy.caterpillar_hurt": "Oruga recibe daño", "subtitles.antarchy.caterpillar_crawl": "Oruga se arrastra", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "Pesadilla muere", "subtitles.antarchy.nightmare_bite": "Pesadilla muerde", "subtitles.antarchy.nightmare_flap": "Pesadilla aletea", - "subtitles.antarchy.triffid_attack": "Triffid ataca", - "subtitles.antarchy.triffid_grab": "Triffid agarra", - "subtitles.antarchy.triffid_hurt": "Triffid recibe daño", - "subtitles.antarchy.triffid_death": "Triffid muere", - "subtitles.antarchy.triffid_hiss": "Triffid sisea", - "subtitles.antarchy.triffid_growl": "Triffid gruñe", + "subtitles.antarchy.flytrap_attack": "Flytrap ataca", + "subtitles.antarchy.flytrap_grab": "Flytrap agarra", + "subtitles.antarchy.flytrap_hurt": "Flytrap recibe daño", + "subtitles.antarchy.flytrap_death": "Flytrap muere", + "subtitles.antarchy.flytrap_hiss": "Flytrap sisea", + "subtitles.antarchy.flytrap_growl": "Flytrap gruñe", "subtitles.antarchy.gravity_gun_pickup": "Pistola gravitatoria recoge", "subtitles.antarchy.gravity_gun_drop": "Pistola gravitatoria suelta", "subtitles.antarchy.gravity_gun_hold_loop": "Pistola gravitatoria zumba", "subtitles.antarchy.gravity_gun_launch": "Pistola gravitatoria lanza", "subtitles.antarchy.gravity_gun_dryfire": "Pistola gravitatoria dispara en seco", + "subtitles.antarchy.antimetal_place": "El antimetal repica", + "subtitles.antarchy.antimetal_step": "El antimetal tintinea", + "subtitles.antarchy.antimetal_scaffold": "El andamio de antimetal traquetea", "subtitles.antarchy.bed_bug_ambient": "Chinche de cama gorjea", "subtitles.antarchy.bed_bug_hurt": "Chinche de cama recibe daño", "subtitles.antarchy.bed_bug_attack": "Chinche de cama muerde", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "Liquen ámbar", "block.antarchy.bile_vein": "Veta de bilis", "block.antarchy.creepvine": "Enredadera rastrera", - "block.antarchy.creeping_horror_egg": "Huevo de Horror rastrero", - "block.antarchy.lurking_terror_egg": "Huevo de Terror acechante", + "block.antarchy.crawling_blight_egg": "Huevo de Horror rastrero", + "block.antarchy.skulking_fright_egg": "Huevo de Terror acechante", "entity.antarchy.termite": "Termita", - "entity.antarchy.jumpy_bug": "Bicho saltarín", + "entity.antarchy.springbug": "Bicho saltarín", "entity.antarchy.spit_bug": "Bicho escupidor", "entity.antarchy.stink_bug": "Chinche apestosa", "entity.antarchy.rolly_polly": "Cochinilla", - "entity.antarchy.creeping_horror": "Horror rastrero", - "entity.antarchy.lurking_terror": "Terror acechante", + "entity.antarchy.crawling_blight": "Horror rastrero", + "entity.antarchy.skulking_fright": "Terror acechante", "entity.antarchy.hercules_beetle": "Escarabajo hércules", - "item.antarchy.jumpy_bug_spawn_egg": "Huevo generador de Bicho saltarín", + "item.antarchy.springbug_spawn_egg": "Huevo generador de Bicho saltarín", "item.antarchy.spit_bug_spawn_egg": "Huevo generador de Bicho escupidor", "item.antarchy.stink_bug_spawn_egg": "Huevo generador de Chinche apestosa", "item.antarchy.termite_spawn_egg": "Huevo generador de Termita", "item.antarchy.rolly_polly_spawn_egg": "Huevo generador de Cochinilla", - "item.antarchy.creeping_horror_spawn_egg": "Huevo generador de Horror rastrero", - "item.antarchy.lurking_terror_spawn_egg": "Huevo generador de Terror acechante", + "item.antarchy.crawling_blight_spawn_egg": "Huevo generador de Horror rastrero", + "item.antarchy.skulking_fright_spawn_egg": "Huevo generador de Terror acechante", "item.antarchy.hercules_beetle_spawn_egg": "Huevo generador de Escarabajo hércules", "item.antarchy.chitin": "Quitina", "block.antarchy.polished_broodstone": "Broodstone pulido", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "Bloque de hongo sombrilluz", "block.antarchy.molting_vines": "Enredaderas de muda", "item.antarchy.broodfruit": "Fruto de cría", - "block.antarchy.jumpy_bug_egg": "Huevo de Bicho saltarín", - "subtitles.antarchy.creeping_horror_growl": "Horror rastrero gruñe", - "subtitles.antarchy.creeping_horror_hurt": "Horror rastrero recibe daño", - "subtitles.antarchy.creeping_horror_bite": "Horror rastrero muerde", - "subtitles.antarchy.lurking_terror_snarl": "Terror acechante gruñe", - "subtitles.antarchy.lurking_terror_hurt": "Terror acechante recibe daño", - "subtitles.antarchy.lurking_terror_bite": "Terror acechante muerde", - "subtitles.antarchy.lurking_terror_fly_loop": "Terror acechante vuela", + "block.antarchy.springbug_egg": "Huevo de Bicho saltarín", + "subtitles.antarchy.crawling_blight_growl": "Horror rastrero gruñe", + "subtitles.antarchy.crawling_blight_hurt": "Horror rastrero recibe daño", + "subtitles.antarchy.crawling_blight_bite": "Horror rastrero muerde", + "subtitles.antarchy.skulking_fright_snarl": "Terror acechante gruñe", + "subtitles.antarchy.skulking_fright_hurt": "Terror acechante recibe daño", + "subtitles.antarchy.skulking_fright_bite": "Terror acechante muerde", + "subtitles.antarchy.skulking_fright_fly_loop": "Terror acechante vuela", "subtitles.antarchy.stink_bug_fart": "Chinche apestosa se tira un pedo", "subtitles.antarchy.stink_bug_idle": "Chinche apestosa hace ruido", "subtitles.antarchy.rolly_polly_idle": "Cochinilla hace ruido", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "Jerry sufre daño", "subtitles.antarchy.jerry_death": "Jerry muere", "subtitles.antarchy.jerry_attack": "Jerry ataca", - "subtitles.antarchy.jumpy_bug_idle": "Bicho saltarín hace ruido", + "subtitles.antarchy.springbug_idle": "Bicho saltarín hace ruido", "subtitles.antarchy.spit_bug_idle": "Bicho escupidor hace ruido", - "subtitles.antarchy.jumpy_bug_hurt": "Bicho saltarín recibe daño", - "subtitles.antarchy.jumpy_bug_jump": "Bicho saltarín salta", + "subtitles.antarchy.springbug_hurt": "Bicho saltarín recibe daño", + "subtitles.antarchy.springbug_jump": "Bicho saltarín salta", "subtitles.antarchy.spit_bug_hurt": "Bicho escupidor recibe daño", "subtitles.antarchy.spit_bug_spit": "Bicho escupidor escupe", "subtitles.antarchy.brutalfly_spit": "Brutalfly escupe", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/fr_fr.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/fr_fr.json index 2ce45048..1bb5b8ef 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/fr_fr.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/fr_fr.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "Nyxite pâle", "block.antarchy.nyxite_spike": "Pointe de Nyxite", "block.antarchy.potent_nyxite": "Nyxite puissant", - "block.antarchy.triffid_goo_block": "Bloc de Triffid Glu", + "block.antarchy.flytrap_goo_block": "Bloc de Flytrap Glu", "block.antarchy.elythia_portal": "Portail de Elythia", "block.antarchy.cloud_block": "Bloc de Nuage", "block.antarchy.thoraxis_portal": "Portail de Thoraxis", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "Fourmi arc-en-ciel", "entity.antarchy.diamond_minecart": "Le wagonnet de diamant", "entity.antarchy.dr_trayaurus": "Dr. Trayaurus", - "entity.antarchy.cloud_shark": "Requin des nuages", + "entity.antarchy.stratoshark": "Requin des nuages", "entity.antarchy.kraken": "Le Kraken", "entity.antarchy.missile_squid": "Calmar-missile", "entity.antarchy.octopus_bomb": "Bombe-pieuvre", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "Molevore", "entity.antarchy.mantis": "Mante religieuse", "entity.antarchy.alpha_mantis": "Mante alpha", - "entity.antarchy.triffid": "Triffid", + "entity.antarchy.flytrap": "Flytrap", "entity.antarchy.toreterror": "Toreterror", "entity.antarchy.water_bomb": "Bombe à eau", "subtitles.antarchy.mantis_ambient": "Mante religieuse cliquette", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "Ajusteur d’attitude", "tooltip.antarchy.attitude_adjuster.grounded": "Projette les cibles au sol vers le haut et écrase au sol celles qui sont dans les airs.", "tooltip.antarchy.attitude_adjuster.slam": "Faites un clic droit dans les airs pour vous écraser au sol.", - "item.antarchy.cloud_shark_fin": "Aileron de Requin des nuages", - "item.antarchy.cloud_shark_fin_soup": "Soupe de Aileron de Requin des nuages", - "tooltip.antarchy.cloud_shark_fin_soup": "Accorde Force et Chute lente.", + "item.antarchy.stratoshark_fin": "Aileron de Requin des nuages", + "item.antarchy.stratoshark_fin_soup": "Soupe de Aileron de Requin des nuages", + "tooltip.antarchy.stratoshark_fin_soup": "Accorde Force et Chute lente.", "tooltip.antarchy.critter_cage.empty": "Clic droit pour lancer", "tooltip.antarchy.critter_cage.contains": "Contient : %s", "tooltip.antarchy.critter_cage.release": "Clic droit pour libérer", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "Maximum de Cœurs de verre-sang", "item.antarchy.molevore_nose": "Nez de Molevore", "item.antarchy.moleworm": "Moleworm", - "item.antarchy.triffid_spawn_egg": "Œuf d’apparition de Triffid", + "item.antarchy.flytrap_spawn_egg": "Œuf d’apparition de Flytrap", "item.antarchy.infested_rooted_dirt": "Racinée Terre infesté", "item.antarchy.infested_coarse_dirt": "Stérile Terre infesté", "item.antarchy.pale_nyxite": "Nyxite pâle", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "Écaille de Roi", "item.antarchy.queen_scale": "Écaille de Reine", - "item.antarchy.jumpy_bug_leg": "Patte de Insecte sauteur", - "item.antarchy.jumpy_boots": "Bottes bondissantes", - "tooltip.antarchy.jumpy_boots": "Accroupissez-vous pour charger, puis sautez pour bondir vers le haut.", + "item.antarchy.springbug_leg": "Patte de Insecte sauteur", + "item.antarchy.springy_boots": "Bottes bondissantes", + "tooltip.antarchy.springy_boots": "Accroupissez-vous pour charger, puis sautez pour bondir vers le haut.", "item.antarchy.brutalfly_wing": "Aile de Brutalfly", "item.antarchy.brutalfly_elytra": "Élytres de Brutalfly", "tooltip.antarchy.brutalfly_elytra.flap": "En vol, maintenez %s pour battre des ailes", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "%s américain", "item.antarchy.root_beer": "Racinette", "item.antarchy.primordial_scute": "Écaille de Primordial", - "item.antarchy.triffid_goo": "Triffid Glu", - "item.antarchy.triffid_goo_block": "Bloc de Triffid Glu", - "tooltip.antarchy.triffid_goo_block": "À grande vitesse, vous rebondissez vers le haut ; sinon, vous vous enfoncez dedans.", + "item.antarchy.flytrap_goo": "Flytrap Glu", + "item.antarchy.flytrap_goo_block": "Bloc de Flytrap Glu", + "tooltip.antarchy.flytrap_goo_block": "À grande vitesse, vous rebondissez vers le haut ; sinon, vous vous enfoncez dedans.", "item.antarchy.cloud_bucket": "Seau de Nuage", "tooltip.antarchy.cloud_bucket.midair": "Peut être placé dans les airs", "item.antarchy.lumen_bucket": "Seau de Lumen", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "Frappez à nouveau la proie liée pour arracher le dard.", "item.antarchy.fallen_king_crown": "Couronne du Roi déchu", "tooltip.antarchy.fallen_king_crown.hero": "Accorde Héros du village lorsque vous tuez des créatures hostiles", - "item.antarchy.vortex_eye": "Œil de Vortex", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "Casque ultime", "item.antarchy.ultimate_chestplate": "Plastron ultime", "item.antarchy.ultimate_leggings": "Jambières ultimes", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "Œuf d’apparition de Chenille", "item.antarchy.butterfly_spawn_egg": "Œuf d’apparition de Papillon", "item.antarchy.brutalfly_spawn_egg": "Œuf d’apparition de Brutalfly", - "item.antarchy.cloud_shark_spawn_egg": "Œuf d’apparition de Requin des nuages", + "item.antarchy.stratoshark_spawn_egg": "Œuf d’apparition de Requin des nuages", "item.antarchy.kraken_spawn_egg": "Euh, non. Ne fais pas ça.", "item.antarchy.missile_squid_spawn_egg": "Œuf d’apparition de Calmar-missile", "item.antarchy.octopus_bomb_spawn_egg": "Œuf d’apparition de Bombe-pieuvre", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "La termite est prête à ouvrir sa destination.", "message.antarchy.termite_needs_reagent": "Cette termite a besoin d’un réactif avant de pouvoir ouvrir sa destination.", "death.attack.spit_bug_disrespect": "%1$s a été humilié par l’insecte cracheur", - "death.attack.jumpy_bug_jump": "%1$s s’est fait sauter dessus par l’insecte sauteur", + "death.attack.springbug_jump": "%1$s s’est fait sauter dessus par l’insecte sauteur", "death.attack.hercules_beetle_obliteration": "%1$s a été anéanti par le scarabée Hercule", "message.antarchy.big_bertha.mode": "Mode de Grosse Bertha : %s", "message.antarchy.big_bertha.mode.basilisk": "Basilic", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "Empêche les cibles de se déplacer.", "effect.antarchy.inverted": "Inversé", "effect.antarchy.inverted.description": "Inverse la gravité de la cible.", + "effect.antarchy.commanded.description": "Combat pour le joueur qui l’a commandé.", + "effect.antarchy.dilated.description": "Ralentit le passage du temps pour l’entité affectée.", "effect.antarchy.stinky": "Puant", "effect.antarchy.stinky.description": "Repousse les créatures passives et neutres, et attire les arthropodes.", "effect.antarchy.gooped.description": "Ralentit la vitesse de déplacement et d'attaque.", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "Croissance", "effect.antarchy.bloodglass_ward": "Égide de verre-sang", "effect.antarchy.bloodglass_ward.description": "Accorde des cœurs qui se brisent et absorbent un coup entier de dégâts. Ils se régénèrent avec le temps.", - "death.attack.triffid_mauling": "%1$s a été déchiqueté par une plante", - "death.attack.triffid_mauling.player": "%1$s a été déchiqueté par une plante", - "death.attack.triffid_swallow": "%1$s a été avalé par un Triffid", - "death.attack.triffid_swallow.player": "%1$s a été avalé par un Triffid", + "death.attack.flytrap_mauling": "%1$s a été déchiqueté par une plante", + "death.attack.flytrap_mauling.player": "%1$s a été déchiqueté par une plante", + "death.attack.flytrap_swallow": "%1$s a été avalé par un Flytrap", + "death.attack.flytrap_swallow.player": "%1$s a été avalé par un Flytrap", "potion.antarchy.haste": "Potion de Célérité", "potion.antarchy.strong_haste": "Potion de Célérité puissante", "tooltip.antarchy.big_bertha.mode": "Mode : %s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "Fourmis mordent", "subtitles.antarchy.ant_gather": "Fourmis récoltent", "subtitles.antarchy.ant_nest": "Nid de fourmis bruisse", - "subtitles.antarchy.cloud_shark_bite": "Requin des nuages mord", - "subtitles.antarchy.cloud_shark_idle": "Requin des nuages se fait entendre", - "subtitles.antarchy.cloud_shark_hurt": "Requin des nuages est blessé", - "subtitles.antarchy.cloud_shark_death": "Requin des nuages meurt", - "subtitles.antarchy.cloud_shark_fly": "Requin des nuages vole", + "subtitles.antarchy.stratoshark_bite": "Requin des nuages mord", + "subtitles.antarchy.stratoshark_idle": "Requin des nuages se fait entendre", + "subtitles.antarchy.stratoshark_hurt": "Requin des nuages est blessé", + "subtitles.antarchy.stratoshark_death": "Requin des nuages meurt", + "subtitles.antarchy.stratoshark_fly": "Requin des nuages vole", "subtitles.antarchy.caterpillar_idle": "Chenille se fait entendre", "subtitles.antarchy.caterpillar_hurt": "Chenille est blessé", "subtitles.antarchy.caterpillar_crawl": "Chenille rampe", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "Cauchemar meurt", "subtitles.antarchy.nightmare_bite": "Cauchemar mord", "subtitles.antarchy.nightmare_flap": "Cauchemar bat des ailes", - "subtitles.antarchy.triffid_attack": "Triffid attaque", - "subtitles.antarchy.triffid_grab": "Triffid agrippe", - "subtitles.antarchy.triffid_hurt": "Triffid est blessé", - "subtitles.antarchy.triffid_death": "Triffid meurt", - "subtitles.antarchy.triffid_hiss": "Triffid siffle", - "subtitles.antarchy.triffid_growl": "Triffid gronde", + "subtitles.antarchy.flytrap_attack": "Flytrap attaque", + "subtitles.antarchy.flytrap_grab": "Flytrap agrippe", + "subtitles.antarchy.flytrap_hurt": "Flytrap est blessé", + "subtitles.antarchy.flytrap_death": "Flytrap meurt", + "subtitles.antarchy.flytrap_hiss": "Flytrap siffle", + "subtitles.antarchy.flytrap_growl": "Flytrap gronde", "subtitles.antarchy.gravity_gun_pickup": "Canon à gravité ramasse", "subtitles.antarchy.gravity_gun_drop": "Canon à gravité relâche", "subtitles.antarchy.gravity_gun_hold_loop": "Canon à gravité bourdonne", "subtitles.antarchy.gravity_gun_launch": "Canon à gravité projette", "subtitles.antarchy.gravity_gun_dryfire": "Canon à gravité tire à vide", + "subtitles.antarchy.antimetal_place": "L'antimétal résonne", + "subtitles.antarchy.antimetal_step": "L'antimétal cliquette", + "subtitles.antarchy.antimetal_scaffold": "L'échafaudage d'antimétal cliquette", "subtitles.antarchy.bed_bug_ambient": "Punaise de lit pépie", "subtitles.antarchy.bed_bug_hurt": "Punaise de lit est blessé", "subtitles.antarchy.bed_bug_attack": "Punaise de lit mord", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "Lichen ambré", "block.antarchy.bile_vein": "Veine de bile", "block.antarchy.creepvine": "Liane rampante", - "block.antarchy.creeping_horror_egg": "Œuf de Horreur rampante", - "block.antarchy.lurking_terror_egg": "Œuf de Terreur tapie", + "block.antarchy.crawling_blight_egg": "Œuf de Horreur rampante", + "block.antarchy.skulking_fright_egg": "Œuf de Terreur tapie", "entity.antarchy.termite": "Termite", - "entity.antarchy.jumpy_bug": "Insecte sauteur", + "entity.antarchy.springbug": "Insecte sauteur", "entity.antarchy.spit_bug": "Insecte cracheur", "entity.antarchy.stink_bug": "Punaise puante", "entity.antarchy.rolly_polly": "Cloporte", - "entity.antarchy.creeping_horror": "Horreur rampante", - "entity.antarchy.lurking_terror": "Terreur tapie", + "entity.antarchy.crawling_blight": "Horreur rampante", + "entity.antarchy.skulking_fright": "Terreur tapie", "entity.antarchy.hercules_beetle": "Scarabée Hercule", - "item.antarchy.jumpy_bug_spawn_egg": "Œuf d’apparition de Insecte sauteur", + "item.antarchy.springbug_spawn_egg": "Œuf d’apparition de Insecte sauteur", "item.antarchy.spit_bug_spawn_egg": "Œuf d’apparition de Insecte cracheur", "item.antarchy.stink_bug_spawn_egg": "Œuf d’apparition de Punaise puante", "item.antarchy.termite_spawn_egg": "Œuf d’apparition de Termite", "item.antarchy.rolly_polly_spawn_egg": "Œuf d’apparition de Cloporte", - "item.antarchy.creeping_horror_spawn_egg": "Œuf d’apparition de Horreur rampante", - "item.antarchy.lurking_terror_spawn_egg": "Œuf d’apparition de Terreur tapie", + "item.antarchy.crawling_blight_spawn_egg": "Œuf d’apparition de Horreur rampante", + "item.antarchy.skulking_fright_spawn_egg": "Œuf d’apparition de Terreur tapie", "item.antarchy.hercules_beetle_spawn_egg": "Œuf d’apparition de Scarabée Hercule", "item.antarchy.chitin": "Chitine", "block.antarchy.polished_broodstone": "Broodstone poli", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "Bloc de champignon lumichapeau", "block.antarchy.molting_vines": "Lianes de mue", "item.antarchy.broodfruit": "Fruit de couvée", - "block.antarchy.jumpy_bug_egg": "Œuf de Insecte sauteur", - "subtitles.antarchy.creeping_horror_growl": "Horreur rampante gronde", - "subtitles.antarchy.creeping_horror_hurt": "Horreur rampante est blessé", - "subtitles.antarchy.creeping_horror_bite": "Horreur rampante mord", - "subtitles.antarchy.lurking_terror_snarl": "Terreur tapie grogne", - "subtitles.antarchy.lurking_terror_hurt": "Terreur tapie est blessé", - "subtitles.antarchy.lurking_terror_bite": "Terreur tapie mord", - "subtitles.antarchy.lurking_terror_fly_loop": "Terreur tapie vole", + "block.antarchy.springbug_egg": "Œuf de Insecte sauteur", + "subtitles.antarchy.crawling_blight_growl": "Horreur rampante gronde", + "subtitles.antarchy.crawling_blight_hurt": "Horreur rampante est blessé", + "subtitles.antarchy.crawling_blight_bite": "Horreur rampante mord", + "subtitles.antarchy.skulking_fright_snarl": "Terreur tapie grogne", + "subtitles.antarchy.skulking_fright_hurt": "Terreur tapie est blessé", + "subtitles.antarchy.skulking_fright_bite": "Terreur tapie mord", + "subtitles.antarchy.skulking_fright_fly_loop": "Terreur tapie vole", "subtitles.antarchy.stink_bug_fart": "Punaise puante pète", "subtitles.antarchy.stink_bug_idle": "Punaise puante se fait entendre", "subtitles.antarchy.rolly_polly_idle": "Cloporte se fait entendre", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "Jerry souffre", "subtitles.antarchy.jerry_death": "Jerry meurt", "subtitles.antarchy.jerry_attack": "Jerry attaque", - "subtitles.antarchy.jumpy_bug_idle": "Insecte sauteur se fait entendre", + "subtitles.antarchy.springbug_idle": "Insecte sauteur se fait entendre", "subtitles.antarchy.spit_bug_idle": "Insecte cracheur se fait entendre", - "subtitles.antarchy.jumpy_bug_hurt": "Insecte sauteur est blessé", - "subtitles.antarchy.jumpy_bug_jump": "Insecte sauteur saute", + "subtitles.antarchy.springbug_hurt": "Insecte sauteur est blessé", + "subtitles.antarchy.springbug_jump": "Insecte sauteur saute", "subtitles.antarchy.spit_bug_hurt": "Insecte cracheur est blessé", "subtitles.antarchy.spit_bug_spit": "Insecte cracheur crache", "subtitles.antarchy.brutalfly_spit": "Brutalfly crache", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/it_it.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/it_it.json index c9d3e61a..e5ceab2e 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/it_it.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/it_it.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "Nyxite pallido", "block.antarchy.nyxite_spike": "Spuntone di Nyxite", "block.antarchy.potent_nyxite": "Nyxite potente", - "block.antarchy.triffid_goo_block": "Blocco di Melma di Triffid", + "block.antarchy.flytrap_goo_block": "Blocco di Melma di Flytrap", "block.antarchy.elythia_portal": "Portale di Elythia", "block.antarchy.cloud_block": "Blocco di Nuvola", "block.antarchy.thoraxis_portal": "Portale di Thoraxis", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "Formica arcobaleno", "entity.antarchy.diamond_minecart": "Il carrello di diamante", "entity.antarchy.dr_trayaurus": "Dott. Trayaurus", - "entity.antarchy.cloud_shark": "Squalo delle nuvole", + "entity.antarchy.stratoshark": "Squalo delle nuvole", "entity.antarchy.kraken": "Il Kraken", "entity.antarchy.missile_squid": "Calamaro missile", "entity.antarchy.octopus_bomb": "Bomba polpo", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "Molevore", "entity.antarchy.mantis": "Mantide", "entity.antarchy.alpha_mantis": "Mantide alfa", - "entity.antarchy.triffid": "Triffid", + "entity.antarchy.flytrap": "Flytrap", "entity.antarchy.toreterror": "Toreterror", "entity.antarchy.water_bomb": "Bomba d’acqua", "subtitles.antarchy.mantis_ambient": "La mantide scatta", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "Correttore d’atteggiamento", "tooltip.antarchy.attitude_adjuster.grounded": "Scaglia in aria i bersagli a terra e schianta al suolo quelli in volo.", "tooltip.antarchy.attitude_adjuster.slam": "Fai clic destro in aria per schiantarti al suolo.", - "item.antarchy.cloud_shark_fin": "Pinna di squalo delle nuvole", - "item.antarchy.cloud_shark_fin_soup": "Zuppa di pinna di squalo delle nuvole", - "tooltip.antarchy.cloud_shark_fin_soup": "Conferisce Forza e Caduta lenta.", + "item.antarchy.stratoshark_fin": "Pinna di squalo delle nuvole", + "item.antarchy.stratoshark_fin_soup": "Zuppa di pinna di squalo delle nuvole", + "tooltip.antarchy.stratoshark_fin_soup": "Conferisce Forza e Caduta lenta.", "tooltip.antarchy.critter_cage.empty": "Fai clic destro per lanciare", "tooltip.antarchy.critter_cage.contains": "Contiene: %s", "tooltip.antarchy.critter_cage.release": "Fai clic destro per liberare", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "Cuori di vetrosangue massimi", "item.antarchy.molevore_nose": "Naso di Molevore", "item.antarchy.moleworm": "Moleworm", - "item.antarchy.triffid_spawn_egg": "Uovo generatore di Triffid", + "item.antarchy.flytrap_spawn_egg": "Uovo generatore di Flytrap", "item.antarchy.infested_rooted_dirt": "Terra con radici infestato", "item.antarchy.infested_coarse_dirt": "Terra brulla infestato", "item.antarchy.pale_nyxite": "Nyxite pallido", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "Scaglia di Re", "item.antarchy.queen_scale": "Scaglia di Regina", - "item.antarchy.jumpy_bug_leg": "Zampa di Insetto saltatore", - "item.antarchy.jumpy_boots": "Stivali saltatori", - "tooltip.antarchy.jumpy_boots": "Accovacciati per caricare, poi salta per balzare verso l’alto.", + "item.antarchy.springbug_leg": "Zampa di Insetto saltatore", + "item.antarchy.springy_boots": "Stivali saltatori", + "tooltip.antarchy.springy_boots": "Accovacciati per caricare, poi salta per balzare verso l’alto.", "item.antarchy.brutalfly_wing": "Ala di Brutalfly", "item.antarchy.brutalfly_elytra": "Elitre di Brutalfly", "tooltip.antarchy.brutalfly_elytra.flap": "Durante il volo, tieni premuto %s per battere le ali", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "%s americano", "item.antarchy.root_beer": "Birra di radice", "item.antarchy.primordial_scute": "Scuto di Primordiale", - "item.antarchy.triffid_goo": "Melma di Triffid", - "item.antarchy.triffid_goo_block": "Blocco di Melma di Triffid", - "tooltip.antarchy.triffid_goo_block": "Ad alta velocità rimbalzi verso l’alto; altrimenti ci sprofondi attraverso.", + "item.antarchy.flytrap_goo": "Melma di Flytrap", + "item.antarchy.flytrap_goo_block": "Blocco di Melma di Flytrap", + "tooltip.antarchy.flytrap_goo_block": "Ad alta velocità rimbalzi verso l’alto; altrimenti ci sprofondi attraverso.", "item.antarchy.cloud_bucket": "Secchio di Nuvola", "tooltip.antarchy.cloud_bucket.midair": "Può essere posizionato a mezz’aria", "item.antarchy.lumen_bucket": "Secchio di Lumen", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "Colpisci di nuovo la preda legata per strappare via il pungiglione.", "item.antarchy.fallen_king_crown": "Corona del Re Caduto", "tooltip.antarchy.fallen_king_crown.hero": "Conferisce Eroe del villaggio quando uccidi creature ostili", - "item.antarchy.vortex_eye": "Occhio di Vortice", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "Elmo di Supremo", "item.antarchy.ultimate_chestplate": "Corazza di Supremo", "item.antarchy.ultimate_leggings": "Gambali di Supremo", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "Uovo generatore di Bruco", "item.antarchy.butterfly_spawn_egg": "Uovo generatore di Farfalla", "item.antarchy.brutalfly_spawn_egg": "Uovo generatore di Brutalfly", - "item.antarchy.cloud_shark_spawn_egg": "Uovo generatore di Squalo delle nuvole", + "item.antarchy.stratoshark_spawn_egg": "Uovo generatore di Squalo delle nuvole", "item.antarchy.kraken_spawn_egg": "Ehm, no. Non farlo.", "item.antarchy.missile_squid_spawn_egg": "Uovo generatore di Calamaro missile", "item.antarchy.octopus_bomb_spawn_egg": "Uovo generatore di Bomba polpo", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "La termite è pronta ad aprire la sua destinazione.", "message.antarchy.termite_needs_reagent": "Questa termite ha bisogno di un reagente prima di poter aprire la destinazione.", "death.attack.spit_bug_disrespect": "%1$s è stato umiliato dall’Insetto sputatore", - "death.attack.jumpy_bug_jump": "%1$s è stato assalito dall’Insetto saltatore", + "death.attack.springbug_jump": "%1$s è stato assalito dall’Insetto saltatore", "death.attack.hercules_beetle_obliteration": "%1$s è stato annientato dallo Scarabeo Ercole", "message.antarchy.big_bertha.mode": "Modalità Big Bertha: %s", "message.antarchy.big_bertha.mode.basilisk": "Basilisco", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "Impedisce ai bersagli di muoversi.", "effect.antarchy.inverted": "Invertito", "effect.antarchy.inverted.description": "Inverte la gravità del bersaglio.", + "effect.antarchy.commanded.description": "Combatte per il giocatore che lo ha comandato.", + "effect.antarchy.dilated.description": "Rallenta il passare del tempo per l’entità colpita.", "effect.antarchy.stinky": "Puzzolente", "effect.antarchy.stinky.description": "Respinge le creature passive e neutrali e attira gli artropodi.", "effect.antarchy.gooped.description": "Riduce la velocità di movimento e di attacco.", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "Crescita", "effect.antarchy.bloodglass_ward": "Protezione di vetrosangue", "effect.antarchy.bloodglass_ward.description": "Conferisce cuori che si frantumano assorbendo un colpo intero di danno. Si rigenerano col tempo.", - "death.attack.triffid_mauling": "%1$s è stato sbranato a morte da una pianta", - "death.attack.triffid_mauling.player": "%1$s è stato sbranato a morte da una pianta", - "death.attack.triffid_swallow": "%1$s è stato inghiottito da un Triffid", - "death.attack.triffid_swallow.player": "%1$s è stato inghiottito da un Triffid", + "death.attack.flytrap_mauling": "%1$s è stato sbranato a morte da una pianta", + "death.attack.flytrap_mauling.player": "%1$s è stato sbranato a morte da una pianta", + "death.attack.flytrap_swallow": "%1$s è stato inghiottito da un Flytrap", + "death.attack.flytrap_swallow.player": "%1$s è stato inghiottito da un Flytrap", "potion.antarchy.haste": "Pozione di Rapidità", "potion.antarchy.strong_haste": "Pozione forte di Rapidità", "tooltip.antarchy.big_bertha.mode": "Modalità: %s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "Le formiche mordono", "subtitles.antarchy.ant_gather": "Le formiche raccolgono", "subtitles.antarchy.ant_nest": "Il formicaio fruscia", - "subtitles.antarchy.cloud_shark_bite": "Lo squalo delle nuvole morde", - "subtitles.antarchy.cloud_shark_idle": "Lo squalo delle nuvole emette un verso", - "subtitles.antarchy.cloud_shark_hurt": "Lo squalo delle nuvole si ferisce", - "subtitles.antarchy.cloud_shark_death": "Lo squalo delle nuvole muore", - "subtitles.antarchy.cloud_shark_fly": "Lo squalo delle nuvole vola", + "subtitles.antarchy.stratoshark_bite": "Lo squalo delle nuvole morde", + "subtitles.antarchy.stratoshark_idle": "Lo squalo delle nuvole emette un verso", + "subtitles.antarchy.stratoshark_hurt": "Lo squalo delle nuvole si ferisce", + "subtitles.antarchy.stratoshark_death": "Lo squalo delle nuvole muore", + "subtitles.antarchy.stratoshark_fly": "Lo squalo delle nuvole vola", "subtitles.antarchy.caterpillar_idle": "Il bruco emette un verso", "subtitles.antarchy.caterpillar_hurt": "Il bruco si ferisce", "subtitles.antarchy.caterpillar_crawl": "Il bruco striscia", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "L’Incubo muore", "subtitles.antarchy.nightmare_bite": "L’Incubo morde", "subtitles.antarchy.nightmare_flap": "L’Incubo batte le ali", - "subtitles.antarchy.triffid_attack": "Il Triffid attacca", - "subtitles.antarchy.triffid_grab": "Il Triffid afferra", - "subtitles.antarchy.triffid_hurt": "Il Triffid si ferisce", - "subtitles.antarchy.triffid_death": "Il Triffid muore", - "subtitles.antarchy.triffid_hiss": "Il Triffid sibila", - "subtitles.antarchy.triffid_growl": "Il Triffid ringhia", + "subtitles.antarchy.flytrap_attack": "Il Flytrap attacca", + "subtitles.antarchy.flytrap_grab": "Il Flytrap afferra", + "subtitles.antarchy.flytrap_hurt": "Il Flytrap si ferisce", + "subtitles.antarchy.flytrap_death": "Il Flytrap muore", + "subtitles.antarchy.flytrap_hiss": "Il Flytrap sibila", + "subtitles.antarchy.flytrap_growl": "Il Flytrap ringhia", "subtitles.antarchy.gravity_gun_pickup": "Il cannone gravitazionale solleva", "subtitles.antarchy.gravity_gun_drop": "Il cannone gravitazionale lascia cadere", "subtitles.antarchy.gravity_gun_hold_loop": "Il cannone gravitazionale ronza", "subtitles.antarchy.gravity_gun_launch": "Il cannone gravitazionale lancia", "subtitles.antarchy.gravity_gun_dryfire": "Il cannone gravitazionale scatta a vuoto", + "subtitles.antarchy.antimetal_place": "L'antimetallo rimbomba", + "subtitles.antarchy.antimetal_step": "L'antimetallo tintinna", + "subtitles.antarchy.antimetal_scaffold": "L'impalcatura di antimetallo sferraglia", "subtitles.antarchy.bed_bug_ambient": "La cimice dei letti cinguetta", "subtitles.antarchy.bed_bug_hurt": "La cimice dei letti si ferisce", "subtitles.antarchy.bed_bug_attack": "La cimice dei letti morde", @@ -868,8 +873,8 @@ "advancements.antarchy.gravity_gun_craft.description": "Fabbrica un Cannone gravitazionale.", "block.antarchy.cavaryn_portal": "Portale per Cavaryn", "block.antarchy.termite_nest": "Nido di Termite", - "block.antarchy.chitin_spike": "Spuntone di Chitin", - "block.antarchy.chitin_block": "Blocco di Chitin", + "block.antarchy.chitin_spike": "Spuntone di Chiten", + "block.antarchy.chitin_block": "Blocco di Chiten", "block.antarchy.myrmite": "Myrmite", "block.antarchy.broodstone": "Broodstone", "block.antarchy.amber_moss_block": "Blocco di muschio ambrato", @@ -877,25 +882,25 @@ "block.antarchy.amber_lichen": "Lichene ambrato", "block.antarchy.bile_vein": "Vena di bile", "block.antarchy.creepvine": "Creepvine", - "block.antarchy.creeping_horror_egg": "Uovo di Orrore strisciante", - "block.antarchy.lurking_terror_egg": "Uovo di Terrore in agguato", + "block.antarchy.crawling_blight_egg": "Uovo di Orrore strisciante", + "block.antarchy.skulking_fright_egg": "Uovo di Terrore in agguato", "entity.antarchy.termite": "Termite", - "entity.antarchy.jumpy_bug": "Insetto saltatore", + "entity.antarchy.springbug": "Insetto saltatore", "entity.antarchy.spit_bug": "Insetto sputatore", "entity.antarchy.stink_bug": "Cimice puzzolente", "entity.antarchy.rolly_polly": "Porcellino di terra", - "entity.antarchy.creeping_horror": "Orrore strisciante", - "entity.antarchy.lurking_terror": "Terrore in agguato", + "entity.antarchy.crawling_blight": "Orrore strisciante", + "entity.antarchy.skulking_fright": "Terrore in agguato", "entity.antarchy.hercules_beetle": "Scarabeo Ercole", - "item.antarchy.jumpy_bug_spawn_egg": "Uovo generatore di Insetto saltatore", + "item.antarchy.springbug_spawn_egg": "Uovo generatore di Insetto saltatore", "item.antarchy.spit_bug_spawn_egg": "Uovo generatore di Insetto sputatore", "item.antarchy.stink_bug_spawn_egg": "Uovo generatore di Cimice puzzolente", "item.antarchy.termite_spawn_egg": "Uovo generatore di Termite", "item.antarchy.rolly_polly_spawn_egg": "Uovo generatore di Porcellino di terra", - "item.antarchy.creeping_horror_spawn_egg": "Uovo generatore di Orrore strisciante", - "item.antarchy.lurking_terror_spawn_egg": "Uovo generatore di Terrore in agguato", + "item.antarchy.crawling_blight_spawn_egg": "Uovo generatore di Orrore strisciante", + "item.antarchy.skulking_fright_spawn_egg": "Uovo generatore di Terrore in agguato", "item.antarchy.hercules_beetle_spawn_egg": "Uovo generatore di Scarabeo Ercole", - "item.antarchy.chitin": "Chitin", + "item.antarchy.chitin": "Chiten", "block.antarchy.polished_broodstone": "Broodstone levigato", "block.antarchy.chiseled_broodstone": "Broodstone cesellato", "block.antarchy.broodstone_bricks": "Mattoni di Broodstone", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "Blocco di fungo Glowcap", "block.antarchy.molting_vines": "Rampicanti della muta", "item.antarchy.broodfruit": "Broodfruit", - "block.antarchy.jumpy_bug_egg": "Uovo di Insetto saltatore", - "subtitles.antarchy.creeping_horror_growl": "L’orrore strisciante ringhia", - "subtitles.antarchy.creeping_horror_hurt": "L’orrore strisciante si ferisce", - "subtitles.antarchy.creeping_horror_bite": "L’orrore strisciante morde", - "subtitles.antarchy.lurking_terror_snarl": "Il terrore in agguato ringhia", - "subtitles.antarchy.lurking_terror_hurt": "Il terrore in agguato si ferisce", - "subtitles.antarchy.lurking_terror_bite": "Il terrore in agguato morde", - "subtitles.antarchy.lurking_terror_fly_loop": "Il terrore in agguato vola", + "block.antarchy.springbug_egg": "Uovo di Insetto saltatore", + "subtitles.antarchy.crawling_blight_growl": "L’orrore strisciante ringhia", + "subtitles.antarchy.crawling_blight_hurt": "L’orrore strisciante si ferisce", + "subtitles.antarchy.crawling_blight_bite": "L’orrore strisciante morde", + "subtitles.antarchy.skulking_fright_snarl": "Il terrore in agguato ringhia", + "subtitles.antarchy.skulking_fright_hurt": "Il terrore in agguato si ferisce", + "subtitles.antarchy.skulking_fright_bite": "Il terrore in agguato morde", + "subtitles.antarchy.skulking_fright_fly_loop": "Il terrore in agguato vola", "subtitles.antarchy.stink_bug_fart": "La cimice puzzolente scoreggia", "subtitles.antarchy.stink_bug_idle": "La cimice puzzolente emette un verso", "subtitles.antarchy.rolly_polly_idle": "Il porcellino di terra emette un verso", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "Jerry soffre", "subtitles.antarchy.jerry_death": "Jerry muore", "subtitles.antarchy.jerry_attack": "Jerry attacca", - "subtitles.antarchy.jumpy_bug_idle": "L’insetto saltatore emette un verso", + "subtitles.antarchy.springbug_idle": "L’insetto saltatore emette un verso", "subtitles.antarchy.spit_bug_idle": "L’insetto sputatore emette un verso", - "subtitles.antarchy.jumpy_bug_hurt": "L’insetto saltatore si ferisce", - "subtitles.antarchy.jumpy_bug_jump": "L’insetto saltatore salta", + "subtitles.antarchy.springbug_hurt": "L’insetto saltatore si ferisce", + "subtitles.antarchy.springbug_jump": "L’insetto saltatore salta", "subtitles.antarchy.spit_bug_hurt": "L’insetto sputatore si ferisce", "subtitles.antarchy.spit_bug_spit": "L’insetto sputatore sputa", "subtitles.antarchy.brutalfly_spit": "La Brutalfly sputa", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/ja_jp.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/ja_jp.json index 0367c4c7..664b7767 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/ja_jp.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/ja_jp.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "淡いニクサイト", "block.antarchy.nyxite_spike": "ニクサイトのトゲ", "block.antarchy.potent_nyxite": "強力なニクサイト", - "block.antarchy.triffid_goo_block": "トリフィド 粘液のブロック", + "block.antarchy.flytrap_goo_block": "トリフィド 粘液のブロック", "block.antarchy.elythia_portal": "エリーティアのポータル", "block.antarchy.cloud_block": "雲のブロック", "block.antarchy.thoraxis_portal": "ソーアクシスのポータル", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "虹色のアリ", "entity.antarchy.diamond_minecart": "ダイヤモンドのトロッコ", "entity.antarchy.dr_trayaurus": "トレイオーラス博士", - "entity.antarchy.cloud_shark": "雲ザメ", + "entity.antarchy.stratoshark": "雲ザメ", "entity.antarchy.kraken": "クラーケン", "entity.antarchy.missile_squid": "ミサイルイカ", "entity.antarchy.octopus_bomb": "タコ爆弾", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "モールヴォア", "entity.antarchy.mantis": "カマキリ", "entity.antarchy.alpha_mantis": "アルファカマキリ", - "entity.antarchy.triffid": "トリフィド", + "entity.antarchy.flytrap": "トリフィド", "entity.antarchy.toreterror": "トアテラー", "entity.antarchy.water_bomb": "水爆弾", "subtitles.antarchy.mantis_ambient": "カマキリがカチカチ鳴く", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "態度調整ハンマー", "tooltip.antarchy.attitude_adjuster.grounded": "地上の対象を上空へ吹き飛ばし、空中の対象を地面へ叩きつけます。", "tooltip.antarchy.attitude_adjuster.slam": "空中で右クリックすると地面へ急降下します。", - "item.antarchy.cloud_shark_fin": "雲ザメのヒレ", - "item.antarchy.cloud_shark_fin_soup": "雲ザメのヒレのスープ", - "tooltip.antarchy.cloud_shark_fin_soup": "攻撃力上昇と低速落下を付与します。", + "item.antarchy.stratoshark_fin": "雲ザメのヒレ", + "item.antarchy.stratoshark_fin_soup": "雲ザメのヒレのスープ", + "tooltip.antarchy.stratoshark_fin_soup": "攻撃力上昇と低速落下を付与します。", "tooltip.antarchy.critter_cage.empty": "右クリックで投げる", "tooltip.antarchy.critter_cage.contains": "中身:%s", "tooltip.antarchy.critter_cage.release": "右クリックで解放", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "血晶のハート上限", "item.antarchy.molevore_nose": "モールヴォアの鼻", "item.antarchy.moleworm": "モールワーム", - "item.antarchy.triffid_spawn_egg": "トリフィドのスポーンエッグ", + "item.antarchy.flytrap_spawn_egg": "トリフィドのスポーンエッグ", "item.antarchy.infested_rooted_dirt": "虫食いの根付いた 土", "item.antarchy.infested_coarse_dirt": "虫食いの粗い 土", "item.antarchy.pale_nyxite": "淡いニクサイト", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "王の鱗", "item.antarchy.queen_scale": "女王の鱗", - "item.antarchy.jumpy_bug_leg": "ジャンピーバグの脚", - "item.antarchy.jumpy_boots": "ジャンプブーツ", - "tooltip.antarchy.jumpy_boots": "スニークで溜めてからジャンプすると高く跳び上がります。", + "item.antarchy.springbug_leg": "ジャンピーバグの脚", + "item.antarchy.springy_boots": "ジャンプブーツ", + "tooltip.antarchy.springy_boots": "スニークで溜めてからジャンプすると高く跳び上がります。", "item.antarchy.brutalfly_wing": "ブルータルフライの翼", "item.antarchy.brutalfly_elytra": "ブルータルフライのエリトラ", "tooltip.antarchy.brutalfly_elytra.flap": "飛行中に%sを長押しして羽ばたきます", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "アメリカン%s", "item.antarchy.root_beer": "ルートビア", "item.antarchy.primordial_scute": "原初のの甲板", - "item.antarchy.triffid_goo": "トリフィド 粘液", - "item.antarchy.triffid_goo_block": "トリフィド 粘液のブロック", - "tooltip.antarchy.triffid_goo_block": "高速で触れると上へ跳ね返り、それ以外では沈み込みます。", + "item.antarchy.flytrap_goo": "トリフィド 粘液", + "item.antarchy.flytrap_goo_block": "トリフィド 粘液のブロック", + "tooltip.antarchy.flytrap_goo_block": "高速で触れると上へ跳ね返り、それ以外では沈み込みます。", "item.antarchy.cloud_bucket": "雲のバケツ", "tooltip.antarchy.cloud_bucket.midair": "空中に設置できます", "item.antarchy.lumen_bucket": "ルーメンのバケツ", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "つながれた獲物をもう一度左クリックすると針を引き抜きます。", "item.antarchy.fallen_king_crown": "亡き王の王冠", "tooltip.antarchy.fallen_king_crown.hero": "敵対モブを倒すと村の英雄を付与します", - "item.antarchy.vortex_eye": "渦の目", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "究極のヘルメット", "item.antarchy.ultimate_chestplate": "究極のチェストプレート", "item.antarchy.ultimate_leggings": "究極のレギンス", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "イモムシのスポーンエッグ", "item.antarchy.butterfly_spawn_egg": "チョウのスポーンエッグ", "item.antarchy.brutalfly_spawn_egg": "ブルータルフライのスポーンエッグ", - "item.antarchy.cloud_shark_spawn_egg": "雲ザメのスポーンエッグ", + "item.antarchy.stratoshark_spawn_egg": "雲ザメのスポーンエッグ", "item.antarchy.kraken_spawn_egg": "いや、やめて。", "item.antarchy.missile_squid_spawn_egg": "ミサイルイカのスポーンエッグ", "item.antarchy.octopus_bomb_spawn_egg": "タコ爆弾のスポーンエッグ", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "シロアリは行き先を開く準備ができています。", "message.antarchy.termite_needs_reagent": "このシロアリが行き先を開くには試薬が必要です。", "death.attack.spit_bug_disrespect": "%1$sはスピットバグに無礼を働かれた", - "death.attack.jumpy_bug_jump": "%1$sはジャンピーバグに飛びかかられた", + "death.attack.springbug_jump": "%1$sはジャンピーバグに飛びかかられた", "death.attack.hercules_beetle_obliteration": "%1$sはヘラクレスオオカブトに消し飛ばされた", "message.antarchy.big_bertha.mode": "ビッグ・バーサのモード:%s", "message.antarchy.big_bertha.mode.basilisk": "バジリスク", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "対象が動けなくなります。", "effect.antarchy.inverted": "重力反転", "effect.antarchy.inverted.description": "対象の重力を反転させます。", + "effect.antarchy.commanded.description": "命令したプレイヤーのために戦います。", + "effect.antarchy.dilated.description": "影響を受けたエンティティの時間の流れを遅くします。", "effect.antarchy.stinky": "悪臭", "effect.antarchy.stinky.description": "友好的および中立のMobを遠ざけ、節足動物を引き寄せます。", "effect.antarchy.gooped.description": "移動速度と攻撃速度を低下させます。", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "成長", "effect.antarchy.bloodglass_ward": "血晶の守護", "effect.antarchy.bloodglass_ward.description": "砕けるハートを与え、1回分のダメージを丸ごと吸収します。時間経過で再生します。", - "death.attack.triffid_mauling": "%1$sは植物に噛み殺された", - "death.attack.triffid_mauling.player": "%1$sは植物に噛み殺された", - "death.attack.triffid_swallow": "%1$sはトリフィドに飲み込まれた", - "death.attack.triffid_swallow.player": "%1$sはトリフィドに飲み込まれた", + "death.attack.flytrap_mauling": "%1$sは植物に噛み殺された", + "death.attack.flytrap_mauling.player": "%1$sは植物に噛み殺された", + "death.attack.flytrap_swallow": "%1$sはトリフィドに飲み込まれた", + "death.attack.flytrap_swallow.player": "%1$sはトリフィドに飲み込まれた", "potion.antarchy.haste": "採掘速度上昇のポーション", "potion.antarchy.strong_haste": "採掘速度上昇 Ⅱのポーション", "tooltip.antarchy.big_bertha.mode": "モード:%s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "アリが噛む", "subtitles.antarchy.ant_gather": "アリが集める", "subtitles.antarchy.ant_nest": "アリの巣がざわめく", - "subtitles.antarchy.cloud_shark_bite": "雲ザメが噛む", - "subtitles.antarchy.cloud_shark_idle": "雲ザメが鳴く", - "subtitles.antarchy.cloud_shark_hurt": "雲ザメが傷つく", - "subtitles.antarchy.cloud_shark_death": "雲ザメが倒れる", - "subtitles.antarchy.cloud_shark_fly": "雲ザメが飛ぶ", + "subtitles.antarchy.stratoshark_bite": "雲ザメが噛む", + "subtitles.antarchy.stratoshark_idle": "雲ザメが鳴く", + "subtitles.antarchy.stratoshark_hurt": "雲ザメが傷つく", + "subtitles.antarchy.stratoshark_death": "雲ザメが倒れる", + "subtitles.antarchy.stratoshark_fly": "雲ザメが飛ぶ", "subtitles.antarchy.caterpillar_idle": "イモムシが鳴く", "subtitles.antarchy.caterpillar_hurt": "イモムシが傷つく", "subtitles.antarchy.caterpillar_crawl": "イモムシが這う", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "ナイトメアが倒れる", "subtitles.antarchy.nightmare_bite": "ナイトメアが噛む", "subtitles.antarchy.nightmare_flap": "ナイトメアが羽ばたく", - "subtitles.antarchy.triffid_attack": "トリフィドが攻撃する", - "subtitles.antarchy.triffid_grab": "トリフィドが掴む", - "subtitles.antarchy.triffid_hurt": "トリフィドが傷つく", - "subtitles.antarchy.triffid_death": "トリフィドが倒れる", - "subtitles.antarchy.triffid_hiss": "トリフィドがシューッと鳴る", - "subtitles.antarchy.triffid_growl": "トリフィドが唸る", + "subtitles.antarchy.flytrap_attack": "トリフィドが攻撃する", + "subtitles.antarchy.flytrap_grab": "トリフィドが掴む", + "subtitles.antarchy.flytrap_hurt": "トリフィドが傷つく", + "subtitles.antarchy.flytrap_death": "トリフィドが倒れる", + "subtitles.antarchy.flytrap_hiss": "トリフィドがシューッと鳴る", + "subtitles.antarchy.flytrap_growl": "トリフィドが唸る", "subtitles.antarchy.gravity_gun_pickup": "重力銃が持ち上げる", "subtitles.antarchy.gravity_gun_drop": "重力銃が放す", "subtitles.antarchy.gravity_gun_hold_loop": "重力銃が低く唸る", "subtitles.antarchy.gravity_gun_launch": "重力銃が発射する", "subtitles.antarchy.gravity_gun_dryfire": "重力銃が空撃ちする", + "subtitles.antarchy.antimetal_place": "アンチメタルが鳴る", + "subtitles.antarchy.antimetal_step": "アンチメタルがカチカチ鳴る", + "subtitles.antarchy.antimetal_scaffold": "アンチメタル足場ががたつく", "subtitles.antarchy.bed_bug_ambient": "トコジラミがさえずる", "subtitles.antarchy.bed_bug_hurt": "トコジラミが傷つく", "subtitles.antarchy.bed_bug_attack": "トコジラミが噛む", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "琥珀色の地衣類", "block.antarchy.bile_vein": "胆汁脈", "block.antarchy.creepvine": "クリープヴァイン", - "block.antarchy.creeping_horror_egg": "這い寄る恐怖の卵", - "block.antarchy.lurking_terror_egg": "潜む恐怖の卵", + "block.antarchy.crawling_blight_egg": "這い寄る恐怖の卵", + "block.antarchy.skulking_fright_egg": "潜む恐怖の卵", "entity.antarchy.termite": "シロアリ", - "entity.antarchy.jumpy_bug": "ジャンピーバグ", + "entity.antarchy.springbug": "ジャンピーバグ", "entity.antarchy.spit_bug": "スピットバグ", "entity.antarchy.stink_bug": "カメムシ", "entity.antarchy.rolly_polly": "ダンゴムシ", - "entity.antarchy.creeping_horror": "這い寄る恐怖", - "entity.antarchy.lurking_terror": "潜む恐怖", + "entity.antarchy.crawling_blight": "這い寄る恐怖", + "entity.antarchy.skulking_fright": "潜む恐怖", "entity.antarchy.hercules_beetle": "ヘラクレスオオカブト", - "item.antarchy.jumpy_bug_spawn_egg": "ジャンピーバグのスポーンエッグ", + "item.antarchy.springbug_spawn_egg": "ジャンピーバグのスポーンエッグ", "item.antarchy.spit_bug_spawn_egg": "スピットバグのスポーンエッグ", "item.antarchy.stink_bug_spawn_egg": "カメムシのスポーンエッグ", "item.antarchy.termite_spawn_egg": "シロアリのスポーンエッグ", "item.antarchy.rolly_polly_spawn_egg": "ダンゴムシのスポーンエッグ", - "item.antarchy.creeping_horror_spawn_egg": "這い寄る恐怖のスポーンエッグ", - "item.antarchy.lurking_terror_spawn_egg": "潜む恐怖のスポーンエッグ", + "item.antarchy.crawling_blight_spawn_egg": "這い寄る恐怖のスポーンエッグ", + "item.antarchy.skulking_fright_spawn_egg": "潜む恐怖のスポーンエッグ", "item.antarchy.hercules_beetle_spawn_egg": "ヘラクレスオオカブトのスポーンエッグ", "item.antarchy.chitin": "キチン", "block.antarchy.polished_broodstone": "磨かれたブルードストーン", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "グロウキャップキノコブロック", "block.antarchy.molting_vines": "脱皮のツタ", "item.antarchy.broodfruit": "ブルードフルーツ", - "block.antarchy.jumpy_bug_egg": "ジャンピーバグの卵", - "subtitles.antarchy.creeping_horror_growl": "這い寄る恐怖が唸る", - "subtitles.antarchy.creeping_horror_hurt": "這い寄る恐怖が傷つく", - "subtitles.antarchy.creeping_horror_bite": "這い寄る恐怖が噛む", - "subtitles.antarchy.lurking_terror_snarl": "潜む恐怖が唸る", - "subtitles.antarchy.lurking_terror_hurt": "潜む恐怖が傷つく", - "subtitles.antarchy.lurking_terror_bite": "潜む恐怖が噛む", - "subtitles.antarchy.lurking_terror_fly_loop": "潜む恐怖が飛ぶ", + "block.antarchy.springbug_egg": "ジャンピーバグの卵", + "subtitles.antarchy.crawling_blight_growl": "這い寄る恐怖が唸る", + "subtitles.antarchy.crawling_blight_hurt": "這い寄る恐怖が傷つく", + "subtitles.antarchy.crawling_blight_bite": "這い寄る恐怖が噛む", + "subtitles.antarchy.skulking_fright_snarl": "潜む恐怖が唸る", + "subtitles.antarchy.skulking_fright_hurt": "潜む恐怖が傷つく", + "subtitles.antarchy.skulking_fright_bite": "潜む恐怖が噛む", + "subtitles.antarchy.skulking_fright_fly_loop": "潜む恐怖が飛ぶ", "subtitles.antarchy.stink_bug_fart": "カメムシが屁をする", "subtitles.antarchy.stink_bug_idle": "カメムシが鳴く", "subtitles.antarchy.rolly_polly_idle": "ダンゴムシが鳴く", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "ジェリーが傷つく", "subtitles.antarchy.jerry_death": "ジェリーが死ぬ", "subtitles.antarchy.jerry_attack": "ジェリーが攻撃する", - "subtitles.antarchy.jumpy_bug_idle": "ジャンピーバグが鳴く", + "subtitles.antarchy.springbug_idle": "ジャンピーバグが鳴く", "subtitles.antarchy.spit_bug_idle": "スピットバグが鳴く", - "subtitles.antarchy.jumpy_bug_hurt": "ジャンピーバグが傷つく", - "subtitles.antarchy.jumpy_bug_jump": "ジャンピーバグが跳ぶ", + "subtitles.antarchy.springbug_hurt": "ジャンピーバグが傷つく", + "subtitles.antarchy.springbug_jump": "ジャンピーバグが跳ぶ", "subtitles.antarchy.spit_bug_hurt": "スピットバグが傷つく", "subtitles.antarchy.spit_bug_spit": "スピットバグが吐き出す", "subtitles.antarchy.brutalfly_spit": "ブルータルフライが吐き出す", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/ko_kr.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/ko_kr.json index 9b72989d..4d74cf03 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/ko_kr.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/ko_kr.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "창백한 닉사이트", "block.antarchy.nyxite_spike": "닉사이트 가시", "block.antarchy.potent_nyxite": "강력한 닉사이트", - "block.antarchy.triffid_goo_block": "트리피드 점액 블록", + "block.antarchy.flytrap_goo_block": "트리피드 점액 블록", "block.antarchy.elythia_portal": "엘리티아 차원문", "block.antarchy.cloud_block": "구름 블록", "block.antarchy.thoraxis_portal": "토랙시스 차원문", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "무지개 개미", "entity.antarchy.diamond_minecart": "다이아몬드 광산 수레", "entity.antarchy.dr_trayaurus": "트레이오러스 박사", - "entity.antarchy.cloud_shark": "구름 상어", + "entity.antarchy.stratoshark": "구름 상어", "entity.antarchy.kraken": "크라켄", "entity.antarchy.missile_squid": "미사일 오징어", "entity.antarchy.octopus_bomb": "문어 폭탄", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "몰보어", "entity.antarchy.mantis": "사마귀", "entity.antarchy.alpha_mantis": "알파 사마귀", - "entity.antarchy.triffid": "트리피드", + "entity.antarchy.flytrap": "트리피드", "entity.antarchy.toreterror": "토어테러", "entity.antarchy.water_bomb": "물 폭탄", "subtitles.antarchy.mantis_ambient": "사마귀 딸깍거립니다", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "태도 교정기", "tooltip.antarchy.attitude_adjuster.grounded": "지상의 대상을 위로 날리고, 공중의 대상을 땅으로 내리꽂습니다.", "tooltip.antarchy.attitude_adjuster.slam": "공중에서 우클릭하면 지면 강타를 합니다.", - "item.antarchy.cloud_shark_fin": "구름 상어 지느러미", - "item.antarchy.cloud_shark_fin_soup": "구름 상어 지느러미 수프", - "tooltip.antarchy.cloud_shark_fin_soup": "힘과 느린 낙하를 부여합니다.", + "item.antarchy.stratoshark_fin": "구름 상어 지느러미", + "item.antarchy.stratoshark_fin_soup": "구름 상어 지느러미 수프", + "tooltip.antarchy.stratoshark_fin_soup": "힘과 느린 낙하를 부여합니다.", "tooltip.antarchy.critter_cage.empty": "우클릭하여 던지기", "tooltip.antarchy.critter_cage.contains": "들어 있음: %s", "tooltip.antarchy.critter_cage.release": "우클릭하여 풀어주기", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "최대 혈유리 심장", "item.antarchy.molevore_nose": "몰보어 코", "item.antarchy.moleworm": "몰웜", - "item.antarchy.triffid_spawn_egg": "트리피드 생성 알", + "item.antarchy.flytrap_spawn_egg": "트리피드 생성 알", "item.antarchy.infested_rooted_dirt": "감염된 뿌리내린 흙", "item.antarchy.infested_coarse_dirt": "감염된 거친 흙", "item.antarchy.pale_nyxite": "창백한 닉사이트", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "왕 비늘", "item.antarchy.queen_scale": "여왕 비늘", - "item.antarchy.jumpy_bug_leg": "점피 벌레 다리", - "item.antarchy.jumpy_boots": "점피 부츠", - "tooltip.antarchy.jumpy_boots": "웅크려 충전한 뒤 점프하면 위로 튀어 오릅니다.", + "item.antarchy.springbug_leg": "점피 벌레 다리", + "item.antarchy.springy_boots": "점피 부츠", + "tooltip.antarchy.springy_boots": "웅크려 충전한 뒤 점프하면 위로 튀어 오릅니다.", "item.antarchy.brutalfly_wing": "브루털플라이 날개", "item.antarchy.brutalfly_elytra": "브루털플라이 겉날개", "tooltip.antarchy.brutalfly_elytra.flap": "비행 중 %s을 길게 눌러 날갯짓합니다", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "미국식 %s", "item.antarchy.root_beer": "루트 비어", "item.antarchy.primordial_scute": "태고의 등딱지 조각", - "item.antarchy.triffid_goo": "트리피드 점액", - "item.antarchy.triffid_goo_block": "트리피드 점액 블록", - "tooltip.antarchy.triffid_goo_block": "빠르게 부딪히면 튀어 오르고, 아니면 안으로 가라앉습니다.", + "item.antarchy.flytrap_goo": "트리피드 점액", + "item.antarchy.flytrap_goo_block": "트리피드 점액 블록", + "tooltip.antarchy.flytrap_goo_block": "빠르게 부딪히면 튀어 오르고, 아니면 안으로 가라앉습니다.", "item.antarchy.cloud_bucket": "구름 양동이", "tooltip.antarchy.cloud_bucket.midair": "공중에 설치할 수 있습니다", "item.antarchy.lumen_bucket": "루멘 양동이", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "연결된 먹잇감을 다시 좌클릭하여 독침을 뽑습니다.", "item.antarchy.fallen_king_crown": "몰락한 왕의 왕관", "tooltip.antarchy.fallen_king_crown.hero": "적대적 생물을 처치하면 마을의 영웅을 부여합니다", - "item.antarchy.vortex_eye": "소용돌이 눈", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "궁극 투구", "item.antarchy.ultimate_chestplate": "궁극 흉갑", "item.antarchy.ultimate_leggings": "궁극 레깅스", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "애벌레 생성 알", "item.antarchy.butterfly_spawn_egg": "나비 생성 알", "item.antarchy.brutalfly_spawn_egg": "브루털플라이 생성 알", - "item.antarchy.cloud_shark_spawn_egg": "구름 상어 생성 알", + "item.antarchy.stratoshark_spawn_egg": "구름 상어 생성 알", "item.antarchy.kraken_spawn_egg": "어, 안 돼. 하지 마.", "item.antarchy.missile_squid_spawn_egg": "미사일 오징어 생성 알", "item.antarchy.octopus_bomb_spawn_egg": "문어 폭탄 생성 알", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "흰개미가 목적지를 열 준비가 되었습니다.", "message.antarchy.termite_needs_reagent": "이 흰개미가 목적지를 열려면 시약이 필요합니다.", "death.attack.spit_bug_disrespect": "%1$s이(가) 스핏 벌레에게 무시당했습니다", - "death.attack.jumpy_bug_jump": "%1$s이(가) 점피 벌레에게 덮쳐졌습니다", + "death.attack.springbug_jump": "%1$s이(가) 점피 벌레에게 덮쳐졌습니다", "death.attack.hercules_beetle_obliteration": "%1$s이(가) 헤라클레스장수풍뎅이에게 소멸당했습니다", "message.antarchy.big_bertha.mode": "빅 버사 모드: %s", "message.antarchy.big_bertha.mode.basilisk": "바실리스크", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "대상이 움직이지 못하게 합니다.", "effect.antarchy.inverted": "반전", "effect.antarchy.inverted.description": "대상의 중력을 반전시킵니다.", + "effect.antarchy.commanded.description": "명령한 플레이어를 위해 싸웁니다.", + "effect.antarchy.dilated.description": "영향받은 개체의 시간 흐름을 늦춥니다.", "effect.antarchy.stinky": "악취", "effect.antarchy.stinky.description": "수동적 및 중립적 몹을 쫓아내고 절지동물을 끌어들입니다.", "effect.antarchy.gooped.description": "이동 속도와 공격 속도를 늦춥니다.", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "성장", "effect.antarchy.bloodglass_ward": "혈유리 수호", "effect.antarchy.bloodglass_ward.description": "산산이 부서지는 하트를 부여해 피해 한 번을 통째로 흡수합니다. 시간이 지나면 다시 재생됩니다.", - "death.attack.triffid_mauling": "%1$s이(가) 식물에게 물어뜯겨 죽었습니다", - "death.attack.triffid_mauling.player": "%1$s이(가) 식물에게 물어뜯겨 죽었습니다", - "death.attack.triffid_swallow": "%1$s이(가) 트리피드에게 삼켜졌습니다", - "death.attack.triffid_swallow.player": "%1$s이(가) 트리피드에게 삼켜졌습니다", + "death.attack.flytrap_mauling": "%1$s이(가) 식물에게 물어뜯겨 죽었습니다", + "death.attack.flytrap_mauling.player": "%1$s이(가) 식물에게 물어뜯겨 죽었습니다", + "death.attack.flytrap_swallow": "%1$s이(가) 트리피드에게 삼켜졌습니다", + "death.attack.flytrap_swallow.player": "%1$s이(가) 트리피드에게 삼켜졌습니다", "potion.antarchy.haste": "성급함의 물약", "potion.antarchy.strong_haste": "강한 성급함의 물약", "tooltip.antarchy.big_bertha.mode": "모드: %s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "개미 뭅니다", "subtitles.antarchy.ant_gather": "개미 모읍니다", "subtitles.antarchy.ant_nest": "개미 둥지가 바스락거립니다", - "subtitles.antarchy.cloud_shark_bite": "구름 상어 뭅니다", - "subtitles.antarchy.cloud_shark_idle": "구름 상어 소리를 냅니다", - "subtitles.antarchy.cloud_shark_hurt": "구름 상어 다칩니다", - "subtitles.antarchy.cloud_shark_death": "구름 상어 죽습니다", - "subtitles.antarchy.cloud_shark_fly": "구름 상어 납니다", + "subtitles.antarchy.stratoshark_bite": "구름 상어 뭅니다", + "subtitles.antarchy.stratoshark_idle": "구름 상어 소리를 냅니다", + "subtitles.antarchy.stratoshark_hurt": "구름 상어 다칩니다", + "subtitles.antarchy.stratoshark_death": "구름 상어 죽습니다", + "subtitles.antarchy.stratoshark_fly": "구름 상어 납니다", "subtitles.antarchy.caterpillar_idle": "애벌레 소리를 냅니다", "subtitles.antarchy.caterpillar_hurt": "애벌레 다칩니다", "subtitles.antarchy.caterpillar_crawl": "애벌레 기어갑니다", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "악몽 죽습니다", "subtitles.antarchy.nightmare_bite": "악몽 뭅니다", "subtitles.antarchy.nightmare_flap": "악몽 날갯짓합니다", - "subtitles.antarchy.triffid_attack": "트리피드 공격합니다", - "subtitles.antarchy.triffid_grab": "트리피드 붙잡습니다", - "subtitles.antarchy.triffid_hurt": "트리피드 다칩니다", - "subtitles.antarchy.triffid_death": "트리피드 죽습니다", - "subtitles.antarchy.triffid_hiss": "트리피드 쉬익거립니다", - "subtitles.antarchy.triffid_growl": "트리피드 그르렁거립니다", + "subtitles.antarchy.flytrap_attack": "트리피드 공격합니다", + "subtitles.antarchy.flytrap_grab": "트리피드 붙잡습니다", + "subtitles.antarchy.flytrap_hurt": "트리피드 다칩니다", + "subtitles.antarchy.flytrap_death": "트리피드 죽습니다", + "subtitles.antarchy.flytrap_hiss": "트리피드 쉬익거립니다", + "subtitles.antarchy.flytrap_growl": "트리피드 그르렁거립니다", "subtitles.antarchy.gravity_gun_pickup": "중력총 들어 올립니다", "subtitles.antarchy.gravity_gun_drop": "중력총 내려놓습니다", "subtitles.antarchy.gravity_gun_hold_loop": "중력총 웅웅거립니다", "subtitles.antarchy.gravity_gun_launch": "중력총 발사합니다", "subtitles.antarchy.gravity_gun_dryfire": "중력총 헛발사됩니다", + "subtitles.antarchy.antimetal_place": "안티메탈이 쨍그랑거립니다", + "subtitles.antarchy.antimetal_step": "안티메탈이 딸깍거립니다", + "subtitles.antarchy.antimetal_scaffold": "안티메탈 비계가 덜컹거립니다", "subtitles.antarchy.bed_bug_ambient": "빈대 짹짹거립니다", "subtitles.antarchy.bed_bug_hurt": "빈대 다칩니다", "subtitles.antarchy.bed_bug_attack": "빈대 뭅니다", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "호박색 지의류", "block.antarchy.bile_vein": "담즙 광맥", "block.antarchy.creepvine": "크리프바인", - "block.antarchy.creeping_horror_egg": "기어오는 공포 알", - "block.antarchy.lurking_terror_egg": "도사린 공포 알", + "block.antarchy.crawling_blight_egg": "기어오는 공포 알", + "block.antarchy.skulking_fright_egg": "도사린 공포 알", "entity.antarchy.termite": "흰개미", - "entity.antarchy.jumpy_bug": "점피 벌레", + "entity.antarchy.springbug": "점피 벌레", "entity.antarchy.spit_bug": "스핏 벌레", "entity.antarchy.stink_bug": "노린재", "entity.antarchy.rolly_polly": "공벌레", - "entity.antarchy.creeping_horror": "기어오는 공포", - "entity.antarchy.lurking_terror": "도사린 공포", + "entity.antarchy.crawling_blight": "기어오는 공포", + "entity.antarchy.skulking_fright": "도사린 공포", "entity.antarchy.hercules_beetle": "헤라클레스장수풍뎅이", - "item.antarchy.jumpy_bug_spawn_egg": "점피 벌레 생성 알", + "item.antarchy.springbug_spawn_egg": "점피 벌레 생성 알", "item.antarchy.spit_bug_spawn_egg": "스핏 벌레 생성 알", "item.antarchy.stink_bug_spawn_egg": "노린재 생성 알", "item.antarchy.termite_spawn_egg": "흰개미 생성 알", "item.antarchy.rolly_polly_spawn_egg": "공벌레 생성 알", - "item.antarchy.creeping_horror_spawn_egg": "기어오는 공포 생성 알", - "item.antarchy.lurking_terror_spawn_egg": "도사린 공포 생성 알", + "item.antarchy.crawling_blight_spawn_egg": "기어오는 공포 생성 알", + "item.antarchy.skulking_fright_spawn_egg": "도사린 공포 생성 알", "item.antarchy.hercules_beetle_spawn_egg": "헤라클레스장수풍뎅이 생성 알", "item.antarchy.chitin": "치텐", "block.antarchy.polished_broodstone": "윤나는 브루드스톤", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "글로우캡 버섯 블록", "block.antarchy.molting_vines": "탈피 덩굴", "item.antarchy.broodfruit": "브루드프루트", - "block.antarchy.jumpy_bug_egg": "점피 벌레 알", - "subtitles.antarchy.creeping_horror_growl": "기어오는 공포 그르렁거립니다", - "subtitles.antarchy.creeping_horror_hurt": "기어오는 공포 다칩니다", - "subtitles.antarchy.creeping_horror_bite": "기어오는 공포 뭅니다", - "subtitles.antarchy.lurking_terror_snarl": "도사린 공포 으르렁거립니다", - "subtitles.antarchy.lurking_terror_hurt": "도사린 공포 다칩니다", - "subtitles.antarchy.lurking_terror_bite": "도사린 공포 뭅니다", - "subtitles.antarchy.lurking_terror_fly_loop": "도사린 공포 납니다", + "block.antarchy.springbug_egg": "점피 벌레 알", + "subtitles.antarchy.crawling_blight_growl": "기어오는 공포 그르렁거립니다", + "subtitles.antarchy.crawling_blight_hurt": "기어오는 공포 다칩니다", + "subtitles.antarchy.crawling_blight_bite": "기어오는 공포 뭅니다", + "subtitles.antarchy.skulking_fright_snarl": "도사린 공포 으르렁거립니다", + "subtitles.antarchy.skulking_fright_hurt": "도사린 공포 다칩니다", + "subtitles.antarchy.skulking_fright_bite": "도사린 공포 뭅니다", + "subtitles.antarchy.skulking_fright_fly_loop": "도사린 공포 납니다", "subtitles.antarchy.stink_bug_fart": "노린재 방귀를 뀝니다", "subtitles.antarchy.stink_bug_idle": "노린재 소리를 냅니다", "subtitles.antarchy.rolly_polly_idle": "공벌레 소리를 냅니다", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "제리가 다칩니다", "subtitles.antarchy.jerry_death": "제리가 죽습니다", "subtitles.antarchy.jerry_attack": "제리가 공격합니다", - "subtitles.antarchy.jumpy_bug_idle": "점피 벌레 소리를 냅니다", + "subtitles.antarchy.springbug_idle": "점피 벌레 소리를 냅니다", "subtitles.antarchy.spit_bug_idle": "스핏 벌레 소리를 냅니다", - "subtitles.antarchy.jumpy_bug_hurt": "점피 벌레 다칩니다", - "subtitles.antarchy.jumpy_bug_jump": "점피 벌레 뜁니다", + "subtitles.antarchy.springbug_hurt": "점피 벌레 다칩니다", + "subtitles.antarchy.springbug_jump": "점피 벌레 뜁니다", "subtitles.antarchy.spit_bug_hurt": "스핏 벌레 다칩니다", "subtitles.antarchy.spit_bug_spit": "스핏 벌레 뱉습니다", "subtitles.antarchy.brutalfly_spit": "브루털플라이 뱉습니다", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/pt_br.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/pt_br.json index 5cbb150e..55cf70c9 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/pt_br.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/pt_br.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "Nyxite pálido", "block.antarchy.nyxite_spike": "Espinho de Nyxite", "block.antarchy.potent_nyxite": "Nyxite potente", - "block.antarchy.triffid_goo_block": "Bloco de Triffid Gosma", + "block.antarchy.flytrap_goo_block": "Bloco de Flytrap Gosma", "block.antarchy.elythia_portal": "Portal de Elythia", "block.antarchy.cloud_block": "Bloco de Nuvem", "block.antarchy.thoraxis_portal": "Portal de Thoraxis", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "Formiga Arco-íris", "entity.antarchy.diamond_minecart": "O Carrinho de Diamante", "entity.antarchy.dr_trayaurus": "Dr. Trayaurus", - "entity.antarchy.cloud_shark": "Tubarão das Nuvens", + "entity.antarchy.stratoshark": "Tubarão das Nuvens", "entity.antarchy.kraken": "O Kraken", "entity.antarchy.missile_squid": "Lula-Míssil", "entity.antarchy.octopus_bomb": "Bomba-Polvo", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "Molevore", "entity.antarchy.mantis": "Louva-a-deus", "entity.antarchy.alpha_mantis": "Louva-a-deus Alfa", - "entity.antarchy.triffid": "Triffid", + "entity.antarchy.flytrap": "Flytrap", "entity.antarchy.toreterror": "Toreterror", "entity.antarchy.water_bomb": "Bomba d’Água", "subtitles.antarchy.mantis_ambient": "Louva-a-deus estala", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "Ajustador de Atitude", "tooltip.antarchy.attitude_adjuster.grounded": "Arremessa alvos no chão para cima e lança alvos no ar contra o chão.", "tooltip.antarchy.attitude_adjuster.slam": "Clique com o botão direito no ar para golpear o chão.", - "item.antarchy.cloud_shark_fin": "Barbatana de Tubarão das Nuvens", - "item.antarchy.cloud_shark_fin_soup": "Sopa de Barbatana de Tubarão das Nuvens", - "tooltip.antarchy.cloud_shark_fin_soup": "Concede Força e Queda Lenta.", + "item.antarchy.stratoshark_fin": "Barbatana de Tubarão das Nuvens", + "item.antarchy.stratoshark_fin_soup": "Sopa de Barbatana de Tubarão das Nuvens", + "tooltip.antarchy.stratoshark_fin_soup": "Concede Força e Queda Lenta.", "tooltip.antarchy.critter_cage.empty": "Clique com o botão direito para arremessar", "tooltip.antarchy.critter_cage.contains": "Contém: %s", "tooltip.antarchy.critter_cage.release": "Clique com o botão direito para soltar", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "Máximo de Corações de Vidro de Sangue", "item.antarchy.molevore_nose": "Nariz de Molevore", "item.antarchy.moleworm": "Moleworm", - "item.antarchy.triffid_spawn_egg": "Ovo Gerador de Triffid", + "item.antarchy.flytrap_spawn_egg": "Ovo Gerador de Flytrap", "item.antarchy.infested_rooted_dirt": "Enraizada Terra infestado", "item.antarchy.infested_coarse_dirt": "Estéril Terra infestado", "item.antarchy.pale_nyxite": "Nyxite pálido", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "Escama de Rei", "item.antarchy.queen_scale": "Escama de Rainha", - "item.antarchy.jumpy_bug_leg": "Perna de Inseto Saltador", - "item.antarchy.jumpy_boots": "Botas Saltadoras", - "tooltip.antarchy.jumpy_boots": "Agache-se para carregar e depois pule para saltar para cima.", + "item.antarchy.springbug_leg": "Perna de Inseto Saltador", + "item.antarchy.springy_boots": "Botas Saltadoras", + "tooltip.antarchy.springy_boots": "Agache-se para carregar e depois pule para saltar para cima.", "item.antarchy.brutalfly_wing": "Asa de Brutalfly", "item.antarchy.brutalfly_elytra": "Élitros de Brutalfly", "tooltip.antarchy.brutalfly_elytra.flap": "Enquanto voa, segure %s para bater as asas", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "%s Americano", "item.antarchy.root_beer": "Root Beer", "item.antarchy.primordial_scute": "Escama de Primordial", - "item.antarchy.triffid_goo": "Triffid Gosma", - "item.antarchy.triffid_goo_block": "Bloco de Triffid Gosma", - "tooltip.antarchy.triffid_goo_block": "Em alta velocidade, você quica para cima; caso contrário, afunda.", + "item.antarchy.flytrap_goo": "Flytrap Gosma", + "item.antarchy.flytrap_goo_block": "Bloco de Flytrap Gosma", + "tooltip.antarchy.flytrap_goo_block": "Em alta velocidade, você quica para cima; caso contrário, afunda.", "item.antarchy.cloud_bucket": "Balde de Nuvem", "tooltip.antarchy.cloud_bucket.midair": "Pode ser colocado no ar", "item.antarchy.lumen_bucket": "Balde de Lumen", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "Clique com o botão esquerdo novamente na presa presa para arrancar o ferrão.", "item.antarchy.fallen_king_crown": "Coroa do Rei Caído", "tooltip.antarchy.fallen_king_crown.hero": "Concede Herói da Vila ao matar criaturas hostis", - "item.antarchy.vortex_eye": "Olho de Vórtice", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "Capacete Supremo", "item.antarchy.ultimate_chestplate": "Peitoral Supremo", "item.antarchy.ultimate_leggings": "Calças Supremas", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "Ovo Gerador de Lagarta", "item.antarchy.butterfly_spawn_egg": "Ovo Gerador de Borboleta", "item.antarchy.brutalfly_spawn_egg": "Ovo Gerador de Brutalfly", - "item.antarchy.cloud_shark_spawn_egg": "Ovo Gerador de Tubarão das Nuvens", + "item.antarchy.stratoshark_spawn_egg": "Ovo Gerador de Tubarão das Nuvens", "item.antarchy.kraken_spawn_egg": "Ah, não. Não faça isso.", "item.antarchy.missile_squid_spawn_egg": "Ovo Gerador de Lula-Míssil", "item.antarchy.octopus_bomb_spawn_egg": "Ovo Gerador de Bomba-Polvo", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "O cupim está pronto para abrir seu destino.", "message.antarchy.termite_needs_reagent": "Este cupim precisa de um reagente antes de abrir seu destino.", "death.attack.spit_bug_disrespect": "%1$s foi desrespeitado pelo Inseto Cuspidor", - "death.attack.jumpy_bug_jump": "%1$s foi atacado de salto pelo Inseto Saltador", + "death.attack.springbug_jump": "%1$s foi atacado de salto pelo Inseto Saltador", "death.attack.hercules_beetle_obliteration": "%1$s foi obliterado pelo Besouro-hércules", "message.antarchy.big_bertha.mode": "Modo da Big Bertha: %s", "message.antarchy.big_bertha.mode.basilisk": "Basilisco", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "Impede que os alvos se movam.", "effect.antarchy.inverted": "Invertido", "effect.antarchy.inverted.description": "Inverte a gravidade do alvo.", + "effect.antarchy.commanded.description": "Luta pelo jogador que o comandou.", + "effect.antarchy.dilated.description": "Diminui a passagem do tempo para a entidade afetada.", "effect.antarchy.stinky": "Fedido", "effect.antarchy.stinky.description": "Afasta mobs passivos e neutros e atrai artrópodes.", "effect.antarchy.gooped.description": "Reduz a velocidade de movimento e de ataque.", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "Crescimento", "effect.antarchy.bloodglass_ward": "Guarda de Vidro de Sangue", "effect.antarchy.bloodglass_ward.description": "Concede corações que se estilhaçam, absorvendo um golpe inteiro de dano. Eles se regeneram com o tempo.", - "death.attack.triffid_mauling": "%1$s foi dilacerado até a morte por uma planta", - "death.attack.triffid_mauling.player": "%1$s foi dilacerado até a morte por uma planta", - "death.attack.triffid_swallow": "%1$s foi engolido por um Triffid", - "death.attack.triffid_swallow.player": "%1$s foi engolido por um Triffid", + "death.attack.flytrap_mauling": "%1$s foi dilacerado até a morte por uma planta", + "death.attack.flytrap_mauling.player": "%1$s foi dilacerado até a morte por uma planta", + "death.attack.flytrap_swallow": "%1$s foi engolido por um Flytrap", + "death.attack.flytrap_swallow.player": "%1$s foi engolido por um Flytrap", "potion.antarchy.haste": "Poção de Pressa", "potion.antarchy.strong_haste": "Poção Forte de Pressa", "tooltip.antarchy.big_bertha.mode": "Modo: %s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "Formigas mordem", "subtitles.antarchy.ant_gather": "Formigas coletam", "subtitles.antarchy.ant_nest": "Ninho de formigas farfalha", - "subtitles.antarchy.cloud_shark_bite": "Tubarão das Nuvens morde", - "subtitles.antarchy.cloud_shark_idle": "Tubarão das Nuvens faz barulho", - "subtitles.antarchy.cloud_shark_hurt": "Tubarão das Nuvens se machuca", - "subtitles.antarchy.cloud_shark_death": "Tubarão das Nuvens morre", - "subtitles.antarchy.cloud_shark_fly": "Tubarão das Nuvens voa", + "subtitles.antarchy.stratoshark_bite": "Tubarão das Nuvens morde", + "subtitles.antarchy.stratoshark_idle": "Tubarão das Nuvens faz barulho", + "subtitles.antarchy.stratoshark_hurt": "Tubarão das Nuvens se machuca", + "subtitles.antarchy.stratoshark_death": "Tubarão das Nuvens morre", + "subtitles.antarchy.stratoshark_fly": "Tubarão das Nuvens voa", "subtitles.antarchy.caterpillar_idle": "Lagarta faz barulho", "subtitles.antarchy.caterpillar_hurt": "Lagarta se machuca", "subtitles.antarchy.caterpillar_crawl": "Lagarta rasteja", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "Pesadelo morre", "subtitles.antarchy.nightmare_bite": "Pesadelo morde", "subtitles.antarchy.nightmare_flap": "Pesadelo bate as asas", - "subtitles.antarchy.triffid_attack": "Triffid ataca", - "subtitles.antarchy.triffid_grab": "Triffid agarra", - "subtitles.antarchy.triffid_hurt": "Triffid se machuca", - "subtitles.antarchy.triffid_death": "Triffid morre", - "subtitles.antarchy.triffid_hiss": "Triffid sibila", - "subtitles.antarchy.triffid_growl": "Triffid rosna", + "subtitles.antarchy.flytrap_attack": "Flytrap ataca", + "subtitles.antarchy.flytrap_grab": "Flytrap agarra", + "subtitles.antarchy.flytrap_hurt": "Flytrap se machuca", + "subtitles.antarchy.flytrap_death": "Flytrap morre", + "subtitles.antarchy.flytrap_hiss": "Flytrap sibila", + "subtitles.antarchy.flytrap_growl": "Flytrap rosna", "subtitles.antarchy.gravity_gun_pickup": "Arma Gravitacional pega", "subtitles.antarchy.gravity_gun_drop": "Arma Gravitacional solta", "subtitles.antarchy.gravity_gun_hold_loop": "Arma Gravitacional zune", "subtitles.antarchy.gravity_gun_launch": "Arma Gravitacional lança", "subtitles.antarchy.gravity_gun_dryfire": "Arma Gravitacional dispara em seco", + "subtitles.antarchy.antimetal_place": "Antimetal retine", + "subtitles.antarchy.antimetal_step": "Antimetal tilinta", + "subtitles.antarchy.antimetal_scaffold": "Andaime de antimetal chacoalha", "subtitles.antarchy.bed_bug_ambient": "Percevejo-de-cama chilreia", "subtitles.antarchy.bed_bug_hurt": "Percevejo-de-cama se machuca", "subtitles.antarchy.bed_bug_attack": "Percevejo-de-cama morde", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "Líquen Âmbar", "block.antarchy.bile_vein": "Veio de Bile", "block.antarchy.creepvine": "Trepadeira Rastejante", - "block.antarchy.creeping_horror_egg": "Ovo de Horror Rastejante", - "block.antarchy.lurking_terror_egg": "Ovo de Terror à Espreita", + "block.antarchy.crawling_blight_egg": "Ovo de Horror Rastejante", + "block.antarchy.skulking_fright_egg": "Ovo de Terror à Espreita", "entity.antarchy.termite": "Cupim", - "entity.antarchy.jumpy_bug": "Inseto Saltador", + "entity.antarchy.springbug": "Inseto Saltador", "entity.antarchy.spit_bug": "Inseto Cuspidor", "entity.antarchy.stink_bug": "Percevejo-fedorento", "entity.antarchy.rolly_polly": "Tatuzinho-de-jardim", - "entity.antarchy.creeping_horror": "Horror Rastejante", - "entity.antarchy.lurking_terror": "Terror à Espreita", + "entity.antarchy.crawling_blight": "Horror Rastejante", + "entity.antarchy.skulking_fright": "Terror à Espreita", "entity.antarchy.hercules_beetle": "Besouro-hércules", - "item.antarchy.jumpy_bug_spawn_egg": "Ovo Gerador de Inseto Saltador", + "item.antarchy.springbug_spawn_egg": "Ovo Gerador de Inseto Saltador", "item.antarchy.spit_bug_spawn_egg": "Ovo Gerador de Inseto Cuspidor", "item.antarchy.stink_bug_spawn_egg": "Ovo Gerador de Percevejo-fedorento", "item.antarchy.termite_spawn_egg": "Ovo Gerador de Cupim", "item.antarchy.rolly_polly_spawn_egg": "Ovo Gerador de Tatuzinho-de-jardim", - "item.antarchy.creeping_horror_spawn_egg": "Ovo Gerador de Horror Rastejante", - "item.antarchy.lurking_terror_spawn_egg": "Ovo Gerador de Terror à Espreita", + "item.antarchy.crawling_blight_spawn_egg": "Ovo Gerador de Horror Rastejante", + "item.antarchy.skulking_fright_spawn_egg": "Ovo Gerador de Terror à Espreita", "item.antarchy.hercules_beetle_spawn_egg": "Ovo Gerador de Besouro-hércules", "item.antarchy.chitin": "Quitina", "block.antarchy.polished_broodstone": "Broodstone polido", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "Bloco de Cogumelo Brilhachapéu", "block.antarchy.molting_vines": "Trepadeiras de Muda", "item.antarchy.broodfruit": "Fruto da Ninhada", - "block.antarchy.jumpy_bug_egg": "Ovo de Inseto Saltador", - "subtitles.antarchy.creeping_horror_growl": "Horror Rastejante rosna", - "subtitles.antarchy.creeping_horror_hurt": "Horror Rastejante se machuca", - "subtitles.antarchy.creeping_horror_bite": "Horror Rastejante morde", - "subtitles.antarchy.lurking_terror_snarl": "Terror à Espreita rosna", - "subtitles.antarchy.lurking_terror_hurt": "Terror à Espreita se machuca", - "subtitles.antarchy.lurking_terror_bite": "Terror à Espreita morde", - "subtitles.antarchy.lurking_terror_fly_loop": "Terror à Espreita voa", + "block.antarchy.springbug_egg": "Ovo de Inseto Saltador", + "subtitles.antarchy.crawling_blight_growl": "Horror Rastejante rosna", + "subtitles.antarchy.crawling_blight_hurt": "Horror Rastejante se machuca", + "subtitles.antarchy.crawling_blight_bite": "Horror Rastejante morde", + "subtitles.antarchy.skulking_fright_snarl": "Terror à Espreita rosna", + "subtitles.antarchy.skulking_fright_hurt": "Terror à Espreita se machuca", + "subtitles.antarchy.skulking_fright_bite": "Terror à Espreita morde", + "subtitles.antarchy.skulking_fright_fly_loop": "Terror à Espreita voa", "subtitles.antarchy.stink_bug_fart": "Percevejo-fedorento solta pum", "subtitles.antarchy.stink_bug_idle": "Percevejo-fedorento faz barulho", "subtitles.antarchy.rolly_polly_idle": "Tatuzinho-de-jardim faz barulho", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "Jerry se machuca", "subtitles.antarchy.jerry_death": "Jerry morre", "subtitles.antarchy.jerry_attack": "Jerry ataca", - "subtitles.antarchy.jumpy_bug_idle": "Inseto Saltador faz barulho", + "subtitles.antarchy.springbug_idle": "Inseto Saltador faz barulho", "subtitles.antarchy.spit_bug_idle": "Inseto Cuspidor faz barulho", - "subtitles.antarchy.jumpy_bug_hurt": "Inseto Saltador se machuca", - "subtitles.antarchy.jumpy_bug_jump": "Inseto Saltador salta", + "subtitles.antarchy.springbug_hurt": "Inseto Saltador se machuca", + "subtitles.antarchy.springbug_jump": "Inseto Saltador salta", "subtitles.antarchy.spit_bug_hurt": "Inseto Cuspidor se machuca", "subtitles.antarchy.spit_bug_spit": "Inseto Cuspidor cospe", "subtitles.antarchy.brutalfly_spit": "Brutalfly cospe", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/ru_ru.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/ru_ru.json index 06b5d4fe..1bc3167c 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/ru_ru.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/ru_ru.json @@ -84,7 +84,7 @@ "block.antarchy.pale_nyxite": "Бледный никсит", "block.antarchy.nyxite_spike": "Никситовый шип", "block.antarchy.potent_nyxite": "Насыщенный никсит", - "block.antarchy.triffid_goo_block": "Блок слизи триффида", + "block.antarchy.flytrap_goo_block": "Блок слизи триффида", "block.antarchy.elythia_portal": "Портал в Элитию", "block.antarchy.cloud_block": "Облачный блок", "block.antarchy.thoraxis_portal": "Портал в Тораксис", @@ -170,7 +170,7 @@ "entity.antarchy.rainbow_ant": "Радужный муравей", "entity.antarchy.diamond_minecart": "Алмазная вагонетка", "entity.antarchy.dr_trayaurus": "Доктор Траяурус", - "entity.antarchy.cloud_shark": "Облачная акула", + "entity.antarchy.stratoshark": "Облачная акула", "entity.antarchy.kraken": "Кракен", "entity.antarchy.missile_squid": "Кальмар-ракета", "entity.antarchy.octopus_bomb": "Осьминог-бомба", @@ -182,7 +182,7 @@ "entity.antarchy.molevore": "Кротожор", "entity.antarchy.mantis": "Богомол", "entity.antarchy.alpha_mantis": "Альфа-богомол", - "entity.antarchy.triffid": "Триффид", + "entity.antarchy.flytrap": "Триффид", "entity.antarchy.toreterror": "Тортеррор", "entity.antarchy.water_bomb": "Водяная бомба", "subtitles.antarchy.mantis_ambient": "Богомол щёлкает", @@ -198,9 +198,9 @@ "item.antarchy.big_bertha_handle": "Рукоять Большой Берты", "item.antarchy.big_bertha_hilt": "Эфес Большой Берты", "item.antarchy.battle_axe": "Боевой топор", - "item.antarchy.cloud_shark_fin": "Плавник облачной акулы", - "item.antarchy.cloud_shark_fin_soup": "Суп из плавников облачной акулы", - "tooltip.antarchy.cloud_shark_fin_soup": "Даёт Силу и Плавное падение.", + "item.antarchy.stratoshark_fin": "Плавник облачной акулы", + "item.antarchy.stratoshark_fin_soup": "Суп из плавников облачной акулы", + "tooltip.antarchy.stratoshark_fin_soup": "Даёт Силу и Плавное падение.", "item.antarchy.kraken_tooth": "Зуб кракена", "item.antarchy.basilisk_fang": "Клык василиска", "item.antarchy.basilisk_dagger": "Кинжал василиска", @@ -240,7 +240,7 @@ "attribute.antarchy.bloodglass_max_hearts": "Макс. сердец кровавого стекла", "item.antarchy.molevore_nose": "Нос кротожора", "item.antarchy.moleworm": "Кроточервь", - "item.antarchy.triffid_spawn_egg": "Яйцо призыва триффида", + "item.antarchy.flytrap_spawn_egg": "Яйцо призыва триффида", "item.antarchy.infested_rooted_dirt": "Заражённая корнями земля", "item.antarchy.infested_coarse_dirt": "Заражённая каменистая земля", "item.antarchy.pale_nyxite": "Бледный никсит", @@ -329,9 +329,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "Чешуйка короля", "item.antarchy.queen_scale": "Чешуйка королевы", - "item.antarchy.jumpy_bug_leg": "Ножка прыгучего жука", - "item.antarchy.jumpy_boots": "Прыгучие ботинки", - "tooltip.antarchy.jumpy_boots": "Зажмите Shift, чтобы зарядить, затем прыгните, чтобы взмыть вверх.", + "item.antarchy.springbug_leg": "Ножка прыгучего жука", + "item.antarchy.springy_boots": "Прыгучие ботинки", + "tooltip.antarchy.springy_boots": "Зажмите Shift, чтобы зарядить, затем прыгните, чтобы взмыть вверх.", "item.antarchy.brutalfly_wing": "Крыло жестококрыла", "item.antarchy.brutalfly_elytra": "Элитры жестококрыла", "tooltip.antarchy.brutalfly_elytra.flap": "Во время полёта зажмите %s, чтобы махать крыльями", @@ -345,9 +345,9 @@ "item.antarchy.american_name": "Американский %s", "item.antarchy.root_beer": "Рутбир", "item.antarchy.primordial_scute": "Первобытный щиток", - "item.antarchy.triffid_goo": "Слизь триффида", - "item.antarchy.triffid_goo_block": "Блок слизи триффида", - "tooltip.antarchy.triffid_goo_block": "При высокой скорости отталкивает вверх, иначе засасывает.", + "item.antarchy.flytrap_goo": "Слизь триффида", + "item.antarchy.flytrap_goo_block": "Блок слизи триффида", + "tooltip.antarchy.flytrap_goo_block": "При высокой скорости отталкивает вверх, иначе засасывает.", "item.antarchy.cloud_bucket": "Ведро облаков", "tooltip.antarchy.cloud_bucket.midair": "Можно разместить прямо в воздухе", "item.antarchy.lumen_bucket": "Ведро люмена", @@ -357,7 +357,7 @@ "tooltip.antarchy.scorpion_whip.snap": "Нажмите ЛКМ по привязанной добыче, чтобы вырвать жало.", "item.antarchy.fallen_king_crown": "Корона павшего короля", "tooltip.antarchy.fallen_king_crown.hero": "Даёт эффект «Герой деревни» при убийстве враждебных мобов", - "item.antarchy.vortex_eye": "Око вихря", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "Ультимативный шлем", "item.antarchy.ultimate_chestplate": "Ультимативный нагрудник", "item.antarchy.ultimate_leggings": "Ультимативные поножи", @@ -450,7 +450,7 @@ "item.antarchy.caterpillar_spawn_egg": "Яйцо призыва гусеницы", "item.antarchy.butterfly_spawn_egg": "Яйцо призыва бабочки", "item.antarchy.brutalfly_spawn_egg": "Яйцо призыва жестококрыла", - "item.antarchy.cloud_shark_spawn_egg": "Яйцо призыва облачной акулы", + "item.antarchy.stratoshark_spawn_egg": "Яйцо призыва облачной акулы", "item.antarchy.kraken_spawn_egg": "Ох, нет. Не стоит.", "item.antarchy.missile_squid_spawn_egg": "Яйцо призыва кальмара-ракеты", "item.antarchy.octopus_bomb_spawn_egg": "Яйцо призыва осьминога-бомбы", @@ -504,6 +504,8 @@ "effect.antarchy.paralyzed.description": "Не дает целям двигаться.", "effect.antarchy.inverted": "Инверсия", "effect.antarchy.inverted.description": "Инвертирует гравитацию цели.", + "effect.antarchy.commanded.description": "Сражается за игрока, который им командует.", + "effect.antarchy.dilated.description": "Замедляет течение времени для существа под действием эффекта.", "effect.antarchy.stinky": "Вонючесть", "effect.antarchy.stinky.description": "Отпугивает мирных и нейтральных мобов, но притягивает членистоногих.", "effect.antarchy.gooped.description": "Замедляет движение и скорость атаки.", @@ -511,10 +513,10 @@ "effect.antarchy.growth": "Увеличение", "effect.antarchy.bloodglass_ward": "Защита кровавого стекла", "effect.antarchy.bloodglass_ward.description": "Дает сердца, которые разбиваются и полностью поглощают один удар. Со временем они восстанавливаются.", - "death.attack.triffid_mauling": "%1$s был растерзан растением", - "death.attack.triffid_mauling.player": "%1$s был растерзан растением", - "death.attack.triffid_swallow": "%1$s был проглочен триффидом", - "death.attack.triffid_swallow.player": "%1$s был проглочен триффидом", + "death.attack.flytrap_mauling": "%1$s был растерзан растением", + "death.attack.flytrap_mauling.player": "%1$s был растерзан растением", + "death.attack.flytrap_swallow": "%1$s был проглочен триффидом", + "death.attack.flytrap_swallow.player": "%1$s был проглочен триффидом", "potion.antarchy.haste": "Зелье спешки", "potion.antarchy.strong_haste": "Мощное зелье спешки", "tooltip.antarchy.big_bertha.mode": "Режим: %s", @@ -629,11 +631,11 @@ "subtitles.antarchy.ant_bite": "Муравьи кусают", "subtitles.antarchy.ant_gather": "Муравьи собираются", "subtitles.antarchy.ant_nest": "Муравейник шуршит", - "subtitles.antarchy.cloud_shark_bite": "Облачная акула кусает", - "subtitles.antarchy.cloud_shark_idle": "Облачная акула парит", - "subtitles.antarchy.cloud_shark_hurt": "Облачной акуле больно", - "subtitles.antarchy.cloud_shark_death": "Облачная акула умирает", - "subtitles.antarchy.cloud_shark_fly": "Облачная акула летит", + "subtitles.antarchy.stratoshark_bite": "Облачная акула кусает", + "subtitles.antarchy.stratoshark_idle": "Облачная акула парит", + "subtitles.antarchy.stratoshark_hurt": "Облачной акуле больно", + "subtitles.antarchy.stratoshark_death": "Облачная акула умирает", + "subtitles.antarchy.stratoshark_fly": "Облачная акула летит", "subtitles.antarchy.caterpillar_idle": "Гусеница шевелится", "subtitles.antarchy.caterpillar_hurt": "Гусенице больно", "subtitles.antarchy.caterpillar_crawl": "Гусеница ползёт", @@ -673,17 +675,20 @@ "subtitles.antarchy.nightmare_death": "Кошмар умирает", "subtitles.antarchy.nightmare_bite": "Кошмар кусает", "subtitles.antarchy.nightmare_flap": "Кошмар машет крыльями", - "subtitles.antarchy.triffid_attack": "Триффид атакует", - "subtitles.antarchy.triffid_grab": "Триффид хватает", - "subtitles.antarchy.triffid_hurt": "Триффиду больно", - "subtitles.antarchy.triffid_death": "Триффид умирает", - "subtitles.antarchy.triffid_hiss": "Триффид шипит", - "subtitles.antarchy.triffid_growl": "Триффид урчит", + "subtitles.antarchy.flytrap_attack": "Триффид атакует", + "subtitles.antarchy.flytrap_grab": "Триффид хватает", + "subtitles.antarchy.flytrap_hurt": "Триффиду больно", + "subtitles.antarchy.flytrap_death": "Триффид умирает", + "subtitles.antarchy.flytrap_hiss": "Триффид шипит", + "subtitles.antarchy.flytrap_growl": "Триффид урчит", "subtitles.antarchy.gravity_gun_pickup": "Пушка притягивает", "subtitles.antarchy.gravity_gun_drop": "Пушка отпускает", "subtitles.antarchy.gravity_gun_hold_loop": "Пушка гудит", "subtitles.antarchy.gravity_gun_launch": "Пушка стреляет", "subtitles.antarchy.gravity_gun_dryfire": "Осечка пушки", + "subtitles.antarchy.antimetal_place": "Антиметалл звенит", + "subtitles.antarchy.antimetal_step": "Антиметалл щёлкает", + "subtitles.antarchy.antimetal_scaffold": "Антиметаллические леса гремят", "subtitles.antarchy.bed_bug_ambient": "Постельный клоп стрекочет", "subtitles.antarchy.bed_bug_hurt": "Постельному клопу больно", "subtitles.antarchy.bed_bug_attack": "Постельный клоп кусает", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_cn.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_cn.json index 36d52d16..bde52c13 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_cn.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_cn.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "苍白尼克赛特", "block.antarchy.nyxite_spike": "尼克赛特尖刺", "block.antarchy.potent_nyxite": "强效尼克赛特", - "block.antarchy.triffid_goo_block": "特里菲德 黏液块", + "block.antarchy.flytrap_goo_block": "特里菲德 黏液块", "block.antarchy.elythia_portal": "艾莉提娅传送门", "block.antarchy.cloud_block": "云块", "block.antarchy.thoraxis_portal": "索尔阿克西斯传送门", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "彩虹蚂蚁", "entity.antarchy.diamond_minecart": "钻石矿车", "entity.antarchy.dr_trayaurus": "特雷奥勒斯博士", - "entity.antarchy.cloud_shark": "云鲨", + "entity.antarchy.stratoshark": "云鲨", "entity.antarchy.kraken": "克拉肯", "entity.antarchy.missile_squid": "导弹鱿鱼", "entity.antarchy.octopus_bomb": "章鱼炸弹", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "莫尔沃尔", "entity.antarchy.mantis": "螳螂", "entity.antarchy.alpha_mantis": "阿尔法螳螂", - "entity.antarchy.triffid": "特里菲德", + "entity.antarchy.flytrap": "特里菲德", "entity.antarchy.toreterror": "托尔泰罗尔", "entity.antarchy.water_bomb": "水炸弹", "subtitles.antarchy.mantis_ambient": "螳螂发出咔嗒声", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "态度调整锤", "tooltip.antarchy.attitude_adjuster.grounded": "将地面上的目标击飞,并把空中的目标砸向地面。", "tooltip.antarchy.attitude_adjuster.slam": "在空中右键可发动落地重击。", - "item.antarchy.cloud_shark_fin": "云鲨鳍", - "item.antarchy.cloud_shark_fin_soup": "云鲨鳍汤", - "tooltip.antarchy.cloud_shark_fin_soup": "获得力量与缓降。", + "item.antarchy.stratoshark_fin": "云鲨鳍", + "item.antarchy.stratoshark_fin_soup": "云鲨鳍汤", + "tooltip.antarchy.stratoshark_fin_soup": "获得力量与缓降。", "tooltip.antarchy.critter_cage.empty": "右键投掷", "tooltip.antarchy.critter_cage.contains": "装有:%s", "tooltip.antarchy.critter_cage.release": "右键释放", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "血晶之心上限", "item.antarchy.molevore_nose": "莫尔沃尔鼻子", "item.antarchy.moleworm": "莫尔沃姆", - "item.antarchy.triffid_spawn_egg": "特里菲德刷怪蛋", + "item.antarchy.flytrap_spawn_egg": "特里菲德刷怪蛋", "item.antarchy.infested_rooted_dirt": "虫蚀缠根 泥土", "item.antarchy.infested_coarse_dirt": "虫蚀砂土 泥土", "item.antarchy.pale_nyxite": "苍白尼克赛特", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "国王鳞片", "item.antarchy.queen_scale": "女王鳞片", - "item.antarchy.jumpy_bug_leg": "跳跳虫腿", - "item.antarchy.jumpy_boots": "弹跳靴", - "tooltip.antarchy.jumpy_boots": "潜行蓄力,然后跳跃即可向上弹射。", + "item.antarchy.springbug_leg": "跳跳虫腿", + "item.antarchy.springy_boots": "弹跳靴", + "tooltip.antarchy.springy_boots": "潜行蓄力,然后跳跃即可向上弹射。", "item.antarchy.brutalfly_wing": "布鲁塔尔弗莱翼", "item.antarchy.brutalfly_elytra": "布鲁塔尔弗莱鞘翅", "tooltip.antarchy.brutalfly_elytra.flap": "飞行时按住%s拍动翅膀", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "美式%s", "item.antarchy.root_beer": "根汁汽水", "item.antarchy.primordial_scute": "原初甲片", - "item.antarchy.triffid_goo": "特里菲德 黏液", - "item.antarchy.triffid_goo_block": "特里菲德 黏液块", - "tooltip.antarchy.triffid_goo_block": "高速接触时会向上弹起,否则会沉入其中。", + "item.antarchy.flytrap_goo": "特里菲德 黏液", + "item.antarchy.flytrap_goo_block": "特里菲德 黏液块", + "tooltip.antarchy.flytrap_goo_block": "高速接触时会向上弹起,否则会沉入其中。", "item.antarchy.cloud_bucket": "云桶", "tooltip.antarchy.cloud_bucket.midair": "可放置在空中", "item.antarchy.lumen_bucket": "卢门桶", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "再次左键被牵住的猎物可扯出毒刺。", "item.antarchy.fallen_king_crown": "陨落之王的王冠", "tooltip.antarchy.fallen_king_crown.hero": "击杀敌对生物时获得村庄英雄", - "item.antarchy.vortex_eye": "漩涡之眼", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "终极头盔", "item.antarchy.ultimate_chestplate": "终极胸甲", "item.antarchy.ultimate_leggings": "终极护腿", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "毛毛虫刷怪蛋", "item.antarchy.butterfly_spawn_egg": "蝴蝶刷怪蛋", "item.antarchy.brutalfly_spawn_egg": "布鲁塔尔弗莱刷怪蛋", - "item.antarchy.cloud_shark_spawn_egg": "云鲨刷怪蛋", + "item.antarchy.stratoshark_spawn_egg": "云鲨刷怪蛋", "item.antarchy.kraken_spawn_egg": "呃,不。别这样。", "item.antarchy.missile_squid_spawn_egg": "导弹鱿鱼刷怪蛋", "item.antarchy.octopus_bomb_spawn_egg": "章鱼炸弹刷怪蛋", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "白蚁已准备好开启目的地。", "message.antarchy.termite_needs_reagent": "这只白蚁需要试剂才能开启目的地。", "death.attack.spit_bug_disrespect": "%1$s遭到了喷吐虫的羞辱", - "death.attack.jumpy_bug_jump": "%1$s被跳跳虫扑倒了", + "death.attack.springbug_jump": "%1$s被跳跳虫扑倒了", "death.attack.hercules_beetle_obliteration": "%1$s被赫拉克勒斯甲虫彻底摧毁", "message.antarchy.big_bertha.mode": "大贝莎模式:%s", "message.antarchy.big_bertha.mode.basilisk": "蛇怪", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "阻止目标移动。", "effect.antarchy.inverted": "反转", "effect.antarchy.inverted.description": "反转目标的重力。", + "effect.antarchy.commanded.description": "为命令它的玩家而战。", + "effect.antarchy.dilated.description": "减缓受影响生物的时间流逝。", "effect.antarchy.stinky": "臭气", "effect.antarchy.stinky.description": "驱赶被动和中立生物,吸引节肢生物。", "effect.antarchy.gooped.description": "减缓移动速度和攻击速度。", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "生长", "effect.antarchy.bloodglass_ward": "血晶守护", "effect.antarchy.bloodglass_ward.description": "给予会破碎的心,能吸收整整一次伤害。它们会随时间恢复。", - "death.attack.triffid_mauling": "%1$s被一株植物撕咬致死", - "death.attack.triffid_mauling.player": "%1$s被一株植物撕咬致死", - "death.attack.triffid_swallow": "%1$s被特里菲德吞下了", - "death.attack.triffid_swallow.player": "%1$s被特里菲德吞下了", + "death.attack.flytrap_mauling": "%1$s被一株植物撕咬致死", + "death.attack.flytrap_mauling.player": "%1$s被一株植物撕咬致死", + "death.attack.flytrap_swallow": "%1$s被特里菲德吞下了", + "death.attack.flytrap_swallow.player": "%1$s被特里菲德吞下了", "potion.antarchy.haste": "急迫药水", "potion.antarchy.strong_haste": "强效急迫药水", "tooltip.antarchy.big_bertha.mode": "模式:%s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "蚂蚁啃咬", "subtitles.antarchy.ant_gather": "蚂蚁采集", "subtitles.antarchy.ant_nest": "蚁巢沙沙作响", - "subtitles.antarchy.cloud_shark_bite": "云鲨啃咬", - "subtitles.antarchy.cloud_shark_idle": "云鲨发出动静", - "subtitles.antarchy.cloud_shark_hurt": "云鲨受伤", - "subtitles.antarchy.cloud_shark_death": "云鲨死亡", - "subtitles.antarchy.cloud_shark_fly": "云鲨飞行", + "subtitles.antarchy.stratoshark_bite": "云鲨啃咬", + "subtitles.antarchy.stratoshark_idle": "云鲨发出动静", + "subtitles.antarchy.stratoshark_hurt": "云鲨受伤", + "subtitles.antarchy.stratoshark_death": "云鲨死亡", + "subtitles.antarchy.stratoshark_fly": "云鲨飞行", "subtitles.antarchy.caterpillar_idle": "毛毛虫发出动静", "subtitles.antarchy.caterpillar_hurt": "毛毛虫受伤", "subtitles.antarchy.caterpillar_crawl": "毛毛虫爬行", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "梦魇死亡", "subtitles.antarchy.nightmare_bite": "梦魇啃咬", "subtitles.antarchy.nightmare_flap": "梦魇振翅", - "subtitles.antarchy.triffid_attack": "特里菲德攻击", - "subtitles.antarchy.triffid_grab": "特里菲德抓取", - "subtitles.antarchy.triffid_hurt": "特里菲德受伤", - "subtitles.antarchy.triffid_death": "特里菲德死亡", - "subtitles.antarchy.triffid_hiss": "特里菲德嘶嘶作响", - "subtitles.antarchy.triffid_growl": "特里菲德咆哮", + "subtitles.antarchy.flytrap_attack": "特里菲德攻击", + "subtitles.antarchy.flytrap_grab": "特里菲德抓取", + "subtitles.antarchy.flytrap_hurt": "特里菲德受伤", + "subtitles.antarchy.flytrap_death": "特里菲德死亡", + "subtitles.antarchy.flytrap_hiss": "特里菲德嘶嘶作响", + "subtitles.antarchy.flytrap_growl": "特里菲德咆哮", "subtitles.antarchy.gravity_gun_pickup": "重力枪拾取", "subtitles.antarchy.gravity_gun_drop": "重力枪放下", "subtitles.antarchy.gravity_gun_hold_loop": "重力枪嗡鸣", "subtitles.antarchy.gravity_gun_launch": "重力枪发射", "subtitles.antarchy.gravity_gun_dryfire": "重力枪空击", + "subtitles.antarchy.antimetal_place": "反金属发出撞击声", + "subtitles.antarchy.antimetal_step": "反金属发出叮当声", + "subtitles.antarchy.antimetal_scaffold": "反金属脚手架咯吱作响", "subtitles.antarchy.bed_bug_ambient": "臭虫唧唧叫", "subtitles.antarchy.bed_bug_hurt": "臭虫受伤", "subtitles.antarchy.bed_bug_attack": "臭虫啃咬", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "琥珀地衣", "block.antarchy.bile_vein": "胆汁矿脉", "block.antarchy.creepvine": "爬藤", - "block.antarchy.creeping_horror_egg": "爬行恐魔蛋", - "block.antarchy.lurking_terror_egg": "潜伏恐魔蛋", + "block.antarchy.crawling_blight_egg": "爬行恐魔蛋", + "block.antarchy.skulking_fright_egg": "潜伏恐魔蛋", "entity.antarchy.termite": "白蚁", - "entity.antarchy.jumpy_bug": "跳跳虫", + "entity.antarchy.springbug": "跳跳虫", "entity.antarchy.spit_bug": "喷吐虫", "entity.antarchy.stink_bug": "臭屁虫", "entity.antarchy.rolly_polly": "鼠妇", - "entity.antarchy.creeping_horror": "爬行恐魔", - "entity.antarchy.lurking_terror": "潜伏恐魔", + "entity.antarchy.crawling_blight": "爬行恐魔", + "entity.antarchy.skulking_fright": "潜伏恐魔", "entity.antarchy.hercules_beetle": "赫拉克勒斯甲虫", - "item.antarchy.jumpy_bug_spawn_egg": "跳跳虫刷怪蛋", + "item.antarchy.springbug_spawn_egg": "跳跳虫刷怪蛋", "item.antarchy.spit_bug_spawn_egg": "喷吐虫刷怪蛋", "item.antarchy.stink_bug_spawn_egg": "臭屁虫刷怪蛋", "item.antarchy.termite_spawn_egg": "白蚁刷怪蛋", "item.antarchy.rolly_polly_spawn_egg": "鼠妇刷怪蛋", - "item.antarchy.creeping_horror_spawn_egg": "爬行恐魔刷怪蛋", - "item.antarchy.lurking_terror_spawn_egg": "潜伏恐魔刷怪蛋", + "item.antarchy.crawling_blight_spawn_egg": "爬行恐魔刷怪蛋", + "item.antarchy.skulking_fright_spawn_egg": "潜伏恐魔刷怪蛋", "item.antarchy.hercules_beetle_spawn_egg": "赫拉克勒斯甲虫刷怪蛋", "item.antarchy.chitin": "甲壳素", "block.antarchy.polished_broodstone": "磨制布鲁德斯通", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "荧光菌盖蘑菇块", "block.antarchy.molting_vines": "蜕皮藤蔓", "item.antarchy.broodfruit": "育巢果", - "block.antarchy.jumpy_bug_egg": "跳跳虫蛋", - "subtitles.antarchy.creeping_horror_growl": "爬行恐魔咆哮", - "subtitles.antarchy.creeping_horror_hurt": "爬行恐魔受伤", - "subtitles.antarchy.creeping_horror_bite": "爬行恐魔啃咬", - "subtitles.antarchy.lurking_terror_snarl": "潜伏恐魔低吼", - "subtitles.antarchy.lurking_terror_hurt": "潜伏恐魔受伤", - "subtitles.antarchy.lurking_terror_bite": "潜伏恐魔啃咬", - "subtitles.antarchy.lurking_terror_fly_loop": "潜伏恐魔飞行", + "block.antarchy.springbug_egg": "跳跳虫蛋", + "subtitles.antarchy.crawling_blight_growl": "爬行恐魔咆哮", + "subtitles.antarchy.crawling_blight_hurt": "爬行恐魔受伤", + "subtitles.antarchy.crawling_blight_bite": "爬行恐魔啃咬", + "subtitles.antarchy.skulking_fright_snarl": "潜伏恐魔低吼", + "subtitles.antarchy.skulking_fright_hurt": "潜伏恐魔受伤", + "subtitles.antarchy.skulking_fright_bite": "潜伏恐魔啃咬", + "subtitles.antarchy.skulking_fright_fly_loop": "潜伏恐魔飞行", "subtitles.antarchy.stink_bug_fart": "臭屁虫放屁", "subtitles.antarchy.stink_bug_idle": "臭屁虫发出动静", "subtitles.antarchy.rolly_polly_idle": "鼠妇发出动静", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "杰瑞受伤", "subtitles.antarchy.jerry_death": "杰瑞死亡", "subtitles.antarchy.jerry_attack": "杰瑞攻击", - "subtitles.antarchy.jumpy_bug_idle": "跳跳虫发出动静", + "subtitles.antarchy.springbug_idle": "跳跳虫发出动静", "subtitles.antarchy.spit_bug_idle": "喷吐虫发出动静", - "subtitles.antarchy.jumpy_bug_hurt": "跳跳虫受伤", - "subtitles.antarchy.jumpy_bug_jump": "跳跳虫跳跃", + "subtitles.antarchy.springbug_hurt": "跳跳虫受伤", + "subtitles.antarchy.springbug_jump": "跳跳虫跳跃", "subtitles.antarchy.spit_bug_hurt": "喷吐虫受伤", "subtitles.antarchy.spit_bug_spit": "喷吐虫喷吐", "subtitles.antarchy.brutalfly_spit": "布鲁塔尔弗莱喷吐", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_tw.json b/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_tw.json index e64db662..2c3a6435 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_tw.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/lang/zh_tw.json @@ -90,7 +90,7 @@ "block.antarchy.pale_nyxite": "蒼白尼克賽特", "block.antarchy.nyxite_spike": "尼克賽特尖刺", "block.antarchy.potent_nyxite": "強效尼克賽特", - "block.antarchy.triffid_goo_block": "特里菲德 黏液塊", + "block.antarchy.flytrap_goo_block": "特里菲德 黏液塊", "block.antarchy.elythia_portal": "艾莉提婭傳送門", "block.antarchy.cloud_block": "雲塊", "block.antarchy.thoraxis_portal": "索爾阿克西斯傳送門", @@ -181,7 +181,7 @@ "entity.antarchy.rainbow_ant": "彩虹螞蟻", "entity.antarchy.diamond_minecart": "鑽石礦車", "entity.antarchy.dr_trayaurus": "特雷奧勒斯博士", - "entity.antarchy.cloud_shark": "雲鯊", + "entity.antarchy.stratoshark": "雲鯊", "entity.antarchy.kraken": "克拉肯", "entity.antarchy.missile_squid": "導彈魷魚", "entity.antarchy.octopus_bomb": "章魚炸彈", @@ -193,7 +193,7 @@ "entity.antarchy.molevore": "莫爾沃爾", "entity.antarchy.mantis": "螳螂", "entity.antarchy.alpha_mantis": "阿爾法螳螂", - "entity.antarchy.triffid": "特里菲德", + "entity.antarchy.flytrap": "特里菲德", "entity.antarchy.toreterror": "托爾泰羅爾", "entity.antarchy.water_bomb": "水炸彈", "subtitles.antarchy.mantis_ambient": "螳螂發出咔嗒聲", @@ -212,9 +212,9 @@ "item.antarchy.attitude_adjuster": "態度調整錘", "tooltip.antarchy.attitude_adjuster.grounded": "將地面上的目標擊飛,並把空中的目標砸向地面。", "tooltip.antarchy.attitude_adjuster.slam": "在空中右鍵可發動落地重擊。", - "item.antarchy.cloud_shark_fin": "雲鯊鰭", - "item.antarchy.cloud_shark_fin_soup": "雲鯊鰭湯", - "tooltip.antarchy.cloud_shark_fin_soup": "獲得力量與緩降。", + "item.antarchy.stratoshark_fin": "雲鯊鰭", + "item.antarchy.stratoshark_fin_soup": "雲鯊鰭湯", + "tooltip.antarchy.stratoshark_fin_soup": "獲得力量與緩降。", "tooltip.antarchy.critter_cage.empty": "右鍵投擲", "tooltip.antarchy.critter_cage.contains": "裝有:%s", "tooltip.antarchy.critter_cage.release": "右鍵釋放", @@ -263,7 +263,7 @@ "attribute.antarchy.bloodglass_max_hearts": "血晶之心上限", "item.antarchy.molevore_nose": "莫爾沃爾鼻子", "item.antarchy.moleworm": "莫爾沃姆", - "item.antarchy.triffid_spawn_egg": "特里菲德刷怪蛋", + "item.antarchy.flytrap_spawn_egg": "特里菲德刷怪蛋", "item.antarchy.infested_rooted_dirt": "蟲蝕纏根 泥土", "item.antarchy.infested_coarse_dirt": "蟲蝕砂土 泥土", "item.antarchy.pale_nyxite": "蒼白尼克賽特", @@ -352,9 +352,9 @@ "tooltip.antarchy.mantis_claw.wall_cling": "Dual wield to cling to walls and jump upward.", "item.antarchy.king_scale": "國王鱗片", "item.antarchy.queen_scale": "女王鱗片", - "item.antarchy.jumpy_bug_leg": "跳跳蟲腿", - "item.antarchy.jumpy_boots": "彈跳靴", - "tooltip.antarchy.jumpy_boots": "潛行蓄力,然後跳躍即可向上彈射。", + "item.antarchy.springbug_leg": "跳跳蟲腿", + "item.antarchy.springy_boots": "彈跳靴", + "tooltip.antarchy.springy_boots": "潛行蓄力,然後跳躍即可向上彈射。", "item.antarchy.brutalfly_wing": "布魯塔爾弗萊翼", "item.antarchy.brutalfly_elytra": "布魯塔爾弗萊鞘翅", "tooltip.antarchy.brutalfly_elytra.flap": "飛行時按住%s拍動翅膀", @@ -368,9 +368,9 @@ "item.antarchy.american_name": "美式%s", "item.antarchy.root_beer": "根汁汽水", "item.antarchy.primordial_scute": "原初甲片", - "item.antarchy.triffid_goo": "特里菲德 黏液", - "item.antarchy.triffid_goo_block": "特里菲德 黏液塊", - "tooltip.antarchy.triffid_goo_block": "高速接觸時會向上彈起,否則會沉入其中。", + "item.antarchy.flytrap_goo": "特里菲德 黏液", + "item.antarchy.flytrap_goo_block": "特里菲德 黏液塊", + "tooltip.antarchy.flytrap_goo_block": "高速接觸時會向上彈起,否則會沉入其中。", "item.antarchy.cloud_bucket": "雲桶", "tooltip.antarchy.cloud_bucket.midair": "可放置在空中", "item.antarchy.lumen_bucket": "盧門桶", @@ -380,7 +380,7 @@ "tooltip.antarchy.scorpion_whip.snap": "再次左鍵被牽住的獵物可扯出毒刺。", "item.antarchy.fallen_king_crown": "隕落之王的王冠", "tooltip.antarchy.fallen_king_crown.hero": "擊殺敵對生物時獲得村莊英雄", - "item.antarchy.vortex_eye": "漩渦之眼", + "item.antarchy.vortex_charge": "Vortex Charge", "item.antarchy.ultimate_helmet": "終極頭盔", "item.antarchy.ultimate_chestplate": "終極胸甲", "item.antarchy.ultimate_leggings": "終極護腿", @@ -474,7 +474,7 @@ "item.antarchy.caterpillar_spawn_egg": "毛毛蟲刷怪蛋", "item.antarchy.butterfly_spawn_egg": "蝴蝶刷怪蛋", "item.antarchy.brutalfly_spawn_egg": "布魯塔爾弗萊刷怪蛋", - "item.antarchy.cloud_shark_spawn_egg": "雲鯊刷怪蛋", + "item.antarchy.stratoshark_spawn_egg": "雲鯊刷怪蛋", "item.antarchy.kraken_spawn_egg": "呃,不。別這樣。", "item.antarchy.missile_squid_spawn_egg": "導彈魷魚刷怪蛋", "item.antarchy.octopus_bomb_spawn_egg": "章魚炸彈刷怪蛋", @@ -512,7 +512,7 @@ "message.antarchy.termite_activated": "白蟻已準備好開啟目的地。", "message.antarchy.termite_needs_reagent": "這隻白蟻需要試劑才能開啟目的地。", "death.attack.spit_bug_disrespect": "%1$s遭到了噴吐蟲的羞辱", - "death.attack.jumpy_bug_jump": "%1$s被跳跳蟲撲倒了", + "death.attack.springbug_jump": "%1$s被跳跳蟲撲倒了", "death.attack.hercules_beetle_obliteration": "%1$s被赫拉克勒斯甲蟲徹底摧毀", "message.antarchy.big_bertha.mode": "大貝莎模式:%s", "message.antarchy.big_bertha.mode.basilisk": "蛇怪", @@ -533,6 +533,8 @@ "effect.antarchy.paralyzed.description": "阻止目標移動。", "effect.antarchy.inverted": "反轉", "effect.antarchy.inverted.description": "反轉目標的重力。", + "effect.antarchy.commanded.description": "為命令它的玩家而戰。", + "effect.antarchy.dilated.description": "減緩受影響生物的時間流逝。", "effect.antarchy.stinky": "臭氣", "effect.antarchy.stinky.description": "驅趕被動與中立生物,吸引節肢生物。", "effect.antarchy.gooped.description": "降低移動速度與攻擊速度。", @@ -540,10 +542,10 @@ "effect.antarchy.growth": "生長", "effect.antarchy.bloodglass_ward": "血晶守護", "effect.antarchy.bloodglass_ward.description": "給予會破碎的心,能吸收完整一次傷害。它們會隨時間恢復。", - "death.attack.triffid_mauling": "%1$s被一株植物撕咬致死", - "death.attack.triffid_mauling.player": "%1$s被一株植物撕咬致死", - "death.attack.triffid_swallow": "%1$s被特里菲德吞下了", - "death.attack.triffid_swallow.player": "%1$s被特里菲德吞下了", + "death.attack.flytrap_mauling": "%1$s被一株植物撕咬致死", + "death.attack.flytrap_mauling.player": "%1$s被一株植物撕咬致死", + "death.attack.flytrap_swallow": "%1$s被特里菲德吞下了", + "death.attack.flytrap_swallow.player": "%1$s被特里菲德吞下了", "potion.antarchy.haste": "急迫藥水", "potion.antarchy.strong_haste": "強效急迫藥水", "tooltip.antarchy.big_bertha.mode": "模式:%s", @@ -660,11 +662,11 @@ "subtitles.antarchy.ant_bite": "螞蟻啃咬", "subtitles.antarchy.ant_gather": "螞蟻採集", "subtitles.antarchy.ant_nest": "蟻巢沙沙作響", - "subtitles.antarchy.cloud_shark_bite": "雲鯊啃咬", - "subtitles.antarchy.cloud_shark_idle": "雲鯊發出動靜", - "subtitles.antarchy.cloud_shark_hurt": "雲鯊受傷", - "subtitles.antarchy.cloud_shark_death": "雲鯊死亡", - "subtitles.antarchy.cloud_shark_fly": "雲鯊飛行", + "subtitles.antarchy.stratoshark_bite": "雲鯊啃咬", + "subtitles.antarchy.stratoshark_idle": "雲鯊發出動靜", + "subtitles.antarchy.stratoshark_hurt": "雲鯊受傷", + "subtitles.antarchy.stratoshark_death": "雲鯊死亡", + "subtitles.antarchy.stratoshark_fly": "雲鯊飛行", "subtitles.antarchy.caterpillar_idle": "毛毛蟲發出動靜", "subtitles.antarchy.caterpillar_hurt": "毛毛蟲受傷", "subtitles.antarchy.caterpillar_crawl": "毛毛蟲爬行", @@ -704,17 +706,20 @@ "subtitles.antarchy.nightmare_death": "夢魘死亡", "subtitles.antarchy.nightmare_bite": "夢魘啃咬", "subtitles.antarchy.nightmare_flap": "夢魘振翅", - "subtitles.antarchy.triffid_attack": "特里菲德攻擊", - "subtitles.antarchy.triffid_grab": "特里菲德抓取", - "subtitles.antarchy.triffid_hurt": "特里菲德受傷", - "subtitles.antarchy.triffid_death": "特里菲德死亡", - "subtitles.antarchy.triffid_hiss": "特里菲德嘶嘶作響", - "subtitles.antarchy.triffid_growl": "特里菲德咆哮", + "subtitles.antarchy.flytrap_attack": "特里菲德攻擊", + "subtitles.antarchy.flytrap_grab": "特里菲德抓取", + "subtitles.antarchy.flytrap_hurt": "特里菲德受傷", + "subtitles.antarchy.flytrap_death": "特里菲德死亡", + "subtitles.antarchy.flytrap_hiss": "特里菲德嘶嘶作響", + "subtitles.antarchy.flytrap_growl": "特里菲德咆哮", "subtitles.antarchy.gravity_gun_pickup": "重力槍拾取", "subtitles.antarchy.gravity_gun_drop": "重力槍放下", "subtitles.antarchy.gravity_gun_hold_loop": "重力槍嗡鳴", "subtitles.antarchy.gravity_gun_launch": "重力槍發射", "subtitles.antarchy.gravity_gun_dryfire": "重力槍空擊", + "subtitles.antarchy.antimetal_place": "反金屬發出撞擊聲", + "subtitles.antarchy.antimetal_step": "反金屬發出叮噹聲", + "subtitles.antarchy.antimetal_scaffold": "反金屬鷹架嘎吱作響", "subtitles.antarchy.bed_bug_ambient": "臭蟲唧唧叫", "subtitles.antarchy.bed_bug_hurt": "臭蟲受傷", "subtitles.antarchy.bed_bug_attack": "臭蟲啃咬", @@ -877,23 +882,23 @@ "block.antarchy.amber_lichen": "琥珀地衣", "block.antarchy.bile_vein": "膽汁礦脈", "block.antarchy.creepvine": "爬藤", - "block.antarchy.creeping_horror_egg": "爬行恐魔蛋", - "block.antarchy.lurking_terror_egg": "潛伏恐魔蛋", + "block.antarchy.crawling_blight_egg": "爬行恐魔蛋", + "block.antarchy.skulking_fright_egg": "潛伏恐魔蛋", "entity.antarchy.termite": "白蟻", - "entity.antarchy.jumpy_bug": "跳跳蟲", + "entity.antarchy.springbug": "跳跳蟲", "entity.antarchy.spit_bug": "噴吐蟲", "entity.antarchy.stink_bug": "臭屁蟲", "entity.antarchy.rolly_polly": "鼠婦", - "entity.antarchy.creeping_horror": "爬行恐魔", - "entity.antarchy.lurking_terror": "潛伏恐魔", + "entity.antarchy.crawling_blight": "爬行恐魔", + "entity.antarchy.skulking_fright": "潛伏恐魔", "entity.antarchy.hercules_beetle": "赫拉克勒斯甲蟲", - "item.antarchy.jumpy_bug_spawn_egg": "跳跳蟲刷怪蛋", + "item.antarchy.springbug_spawn_egg": "跳跳蟲刷怪蛋", "item.antarchy.spit_bug_spawn_egg": "噴吐蟲刷怪蛋", "item.antarchy.stink_bug_spawn_egg": "臭屁蟲刷怪蛋", "item.antarchy.termite_spawn_egg": "白蟻刷怪蛋", "item.antarchy.rolly_polly_spawn_egg": "鼠婦刷怪蛋", - "item.antarchy.creeping_horror_spawn_egg": "爬行恐魔刷怪蛋", - "item.antarchy.lurking_terror_spawn_egg": "潛伏恐魔刷怪蛋", + "item.antarchy.crawling_blight_spawn_egg": "爬行恐魔刷怪蛋", + "item.antarchy.skulking_fright_spawn_egg": "潛伏恐魔刷怪蛋", "item.antarchy.hercules_beetle_spawn_egg": "赫拉克勒斯甲蟲刷怪蛋", "item.antarchy.chitin": "甲殼素", "block.antarchy.polished_broodstone": "磨製布魯德斯通", @@ -920,14 +925,14 @@ "block.antarchy.glowcap_mushroom_block": "熒光菌蓋蘑菇塊", "block.antarchy.molting_vines": "蛻皮藤蔓", "item.antarchy.broodfruit": "育巢果", - "block.antarchy.jumpy_bug_egg": "跳跳蟲蛋", - "subtitles.antarchy.creeping_horror_growl": "爬行恐魔咆哮", - "subtitles.antarchy.creeping_horror_hurt": "爬行恐魔受傷", - "subtitles.antarchy.creeping_horror_bite": "爬行恐魔啃咬", - "subtitles.antarchy.lurking_terror_snarl": "潛伏恐魔低吼", - "subtitles.antarchy.lurking_terror_hurt": "潛伏恐魔受傷", - "subtitles.antarchy.lurking_terror_bite": "潛伏恐魔啃咬", - "subtitles.antarchy.lurking_terror_fly_loop": "潛伏恐魔飛行", + "block.antarchy.springbug_egg": "跳跳蟲蛋", + "subtitles.antarchy.crawling_blight_growl": "爬行恐魔咆哮", + "subtitles.antarchy.crawling_blight_hurt": "爬行恐魔受傷", + "subtitles.antarchy.crawling_blight_bite": "爬行恐魔啃咬", + "subtitles.antarchy.skulking_fright_snarl": "潛伏恐魔低吼", + "subtitles.antarchy.skulking_fright_hurt": "潛伏恐魔受傷", + "subtitles.antarchy.skulking_fright_bite": "潛伏恐魔啃咬", + "subtitles.antarchy.skulking_fright_fly_loop": "潛伏恐魔飛行", "subtitles.antarchy.stink_bug_fart": "臭屁蟲放屁", "subtitles.antarchy.stink_bug_idle": "臭屁蟲發出動靜", "subtitles.antarchy.rolly_polly_idle": "鼠婦發出動靜", @@ -944,10 +949,10 @@ "subtitles.antarchy.jerry_hurt": "傑瑞受傷", "subtitles.antarchy.jerry_death": "傑瑞死亡", "subtitles.antarchy.jerry_attack": "傑瑞攻擊", - "subtitles.antarchy.jumpy_bug_idle": "跳跳蟲發出動靜", + "subtitles.antarchy.springbug_idle": "跳跳蟲發出動靜", "subtitles.antarchy.spit_bug_idle": "噴吐蟲發出動靜", - "subtitles.antarchy.jumpy_bug_hurt": "跳跳蟲受傷", - "subtitles.antarchy.jumpy_bug_jump": "跳跳蟲跳躍", + "subtitles.antarchy.springbug_hurt": "跳跳蟲受傷", + "subtitles.antarchy.springbug_jump": "跳跳蟲跳躍", "subtitles.antarchy.spit_bug_hurt": "噴吐蟲受傷", "subtitles.antarchy.spit_bug_spit": "噴吐蟲噴吐", "subtitles.antarchy.brutalfly_spit": "布魯塔爾弗萊噴吐", diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_1.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_1.json new file mode 100644 index 00000000..5300e011 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_turtle_egg", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_2.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_2.json new file mode 100644 index 00000000..40f07140 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_two_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_3.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_3.json new file mode 100644 index 00000000..d92eaec9 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_three_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_4.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_4.json new file mode 100644 index 00000000..51b989ff --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/crawling_blight_egg_4.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_four_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg", + "particle": "antarchy:block/crawling_blight_egg/crawling_blight_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/flytrap_goo_block.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/flytrap_goo_block.json new file mode 100644 index 00000000..cbe7b9fc --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/flytrap_goo_block.json @@ -0,0 +1,71 @@ +{ + "parent": "minecraft:block/block", + "textures": { + "particle": "antarchy:block/flytrap_goo_block", + "outer": "antarchy:block/flytrap_goo_block", + "inner": "antarchy:block/flytrap_goo_block" + }, + "display": { + "gui": { + "rotation": [30, 225, 0], + "translation": [0, 0, 0], + "scale": [0.625, 0.625, 0.625] + }, + "ground": { + "rotation": [0, 0, 0], + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "fixed": { + "rotation": [0, 0, 0], + "translation": [0, 0, 0], + "scale": [0.5, 0.5, 0.5] + }, + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [0, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "translation": [0, 0, 0], + "scale": [0.4, 0.4, 0.4] + } + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "down": { "texture": "#outer" }, + "up": { "texture": "#outer" }, + "north": { "texture": "#outer" }, + "south": { "texture": "#outer" }, + "west": { "texture": "#outer" }, + "east": { "texture": "#outer" } + } + }, + { + "from": [2, 2, 2], + "to": [14, 14, 14], + "faces": { + "down": { "texture": "#inner" }, + "up": { "texture": "#inner" }, + "north": { "texture": "#inner" }, + "south": { "texture": "#inner" }, + "west": { "texture": "#inner" }, + "east": { "texture": "#inner" } + } + } + ] +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_1.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_1.json new file mode 100644 index 00000000..343736ae --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_turtle_egg", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_2.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_2.json new file mode 100644 index 00000000..df0c28df --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_two_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_3.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_3.json new file mode 100644 index 00000000..f376f18a --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_three_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_4.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_4.json new file mode 100644 index 00000000..d2e42d6d --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/skulking_fright_egg_4.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_four_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg", + "particle": "antarchy:block/skulking_fright_egg/skulking_fright_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_1.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_1.json new file mode 100644 index 00000000..8dc1380c --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_turtle_egg", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_2.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_2.json new file mode 100644 index 00000000..71482300 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_two_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_3.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_3.json new file mode 100644 index 00000000..641a5f43 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_three_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_4.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_4.json new file mode 100644 index 00000000..7367e40b --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_crawling_blight_egg_4.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_four_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_slightly_cracked", + "particle": "antarchy:block/crawling_blight_egg/crawling_blight_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_1.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_1.json new file mode 100644 index 00000000..12a38039 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_turtle_egg", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_2.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_2.json new file mode 100644 index 00000000..03427ec6 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_two_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_3.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_3.json new file mode 100644 index 00000000..3ef9a637 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_three_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_4.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_4.json new file mode 100644 index 00000000..91e89eee --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/slightly_cracked_skulking_fright_egg_4.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_four_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_slightly_cracked", + "particle": "antarchy:block/skulking_fright_egg/skulking_fright_egg_slightly_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/spit_bug_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/spit_bug_egg.json index 92ae529b..366970d0 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/models/block/spit_bug_egg.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/spit_bug_egg.json @@ -66,7 +66,7 @@ }, "groups": [ { - "name": "jumpy_bug_egg", + "name": "springbug_egg", "origin": [0, 0.1, 0], "scope": 0, "color": 0, diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/springbug_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/springbug_egg.json new file mode 100644 index 00000000..9fa8d7ab --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/springbug_egg.json @@ -0,0 +1,85 @@ +{ + "format_version": "1.21.11", + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "antarchy:block/springbug_egg", + "particle": "antarchy:block/springbug_egg" + }, + "elements": [ + { + "from": [1, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 3.5, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 3, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 3.5, 4], "texture": "#0"}, + "west": {"uv": [0, 4, 3, 8], "texture": "#0"}, + "up": {"uv": [9.5, 7, 6, 4], "texture": "#0", "cullface": "up"}, + "down": {"uv": [10.5, 0, 7, 3], "texture": "#0", "cullface": "down"} + } + }, + { + "from": [2, 0.1, 3], + "to": [14, 14.1, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0.1, 0]}, + "faces": { + "north": {"uv": [0, 8, 3, 11.5], "texture": "#0"}, + "east": {"uv": [3, 8, 5.5, 11.5], "texture": "#0"}, + "south": {"uv": [0, 8, 3, 11.5], "texture": "#0"}, + "west": {"uv": [3, 8, 5.5, 11.5], "texture": "#0"}, + "up": {"uv": [12.5, 5.5, 9.5, 3], "texture": "#0", "cullface": "up"}, + "down": {"uv": [13.5, 0, 10.5, 2.5], "texture": "#0", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [0, 90, -55], + "translation": [0, 4, 0.5], + "scale": [0.85, 0.85, 0.85] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "springbug_egg", + "origin": [0, 0.1, 0], + "scope": 0, + "color": 0, + "children": [ + 0, + { + "name": "inside", + "origin": [0, 0.1, 0], + "scope": 0, + "color": 0, + "children": [1] + } + ] + } + ] +} \ No newline at end of file diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_active.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_active.json new file mode 100644 index 00000000..1d20d342 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_active.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undervault_inner_faces","render_type":"cutout","textures":{"bottom":"antarchy:block/undertrial_spawner/undertrial_spawner_bottom","side":"antarchy:block/undertrial_spawner/undertrial_spawner_side_active","top":"antarchy:block/undertrial_spawner/undertrial_spawner_top_active","front":"antarchy:block/undertrial_spawner/undertrial_spawner_side_active"}} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_ejecting_reward.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_ejecting_reward.json new file mode 100644 index 00000000..904435b6 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_ejecting_reward.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undervault_inner_faces","render_type":"cutout","textures":{"bottom":"antarchy:block/undertrial_spawner/undertrial_spawner_bottom","side":"antarchy:block/undertrial_spawner/undertrial_spawner_side_active","top":"antarchy:block/undertrial_spawner/undertrial_spawner_top_ejecting_reward","front":"antarchy:block/undertrial_spawner/undertrial_spawner_side_active"}} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_inactive.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_inactive.json new file mode 100644 index 00000000..461ba592 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undertrial_spawner_inactive.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undervault_inner_faces","render_type":"cutout","textures":{"bottom":"antarchy:block/undertrial_spawner/undertrial_spawner_bottom","side":"antarchy:block/undertrial_spawner/undertrial_spawner_side_inactive","top":"antarchy:block/undertrial_spawner/undertrial_spawner_top_inactive","front":"antarchy:block/undertrial_spawner/undertrial_spawner_side_inactive"}} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_ejecting.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_ejecting.json new file mode 100644 index 00000000..c8c5e4a8 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_ejecting.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undervault_inner_faces","render_type":"cutout","textures":{"bottom":"antarchy:block/undervault/undervault_bottom","side":"antarchy:block/undervault/undervault_side_on","top":"antarchy:block/undervault/undervault_top_ejecting","front":"antarchy:block/undervault/undervault_front_ejecting"}} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_inner_faces.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_inner_faces.json new file mode 100644 index 00000000..dadfc9e0 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_inner_faces.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "render_type": "cutout", + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#front", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#bottom", "cullface": "down"} + } + }, + { + "from": [15.998, 0.002, 0.002], + "to": [0.002, 15.998, 15.998], + "faces": { + "north": {"uv": [16, 0, 0, 16], "texture": "#front"}, + "east": {"uv": [16, 0, 0, 16], "texture": "#side"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#side"}, + "west": {"uv": [16, 0, 0, 16], "texture": "#side"}, + "up": {"uv": [16, 0, 0, 16], "texture": "#top"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#bottom"} + } + } + ] +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_off.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_off.json new file mode 100644 index 00000000..d28393c6 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_off.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undervault_inner_faces","render_type":"cutout","textures":{"bottom":"antarchy:block/undervault/undervault_bottom","side":"antarchy:block/undervault/undervault_side_off","top":"antarchy:block/undervault/undervault_top","front":"antarchy:block/undervault/undervault_front_off"}} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_on.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_on.json new file mode 100644 index 00000000..16f1c6a4 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/undervault_on.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undervault_inner_faces","render_type":"cutout","textures":{"bottom":"antarchy:block/undervault/undervault_bottom","side":"antarchy:block/undervault/undervault_side_on","top":"antarchy:block/undervault/undervault_top","front":"antarchy:block/undervault/undervault_front_on"}} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_1.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_1.json new file mode 100644 index 00000000..7a19163c --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_turtle_egg", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_2.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_2.json new file mode 100644 index 00000000..ce78c22d --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_two_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_3.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_3.json new file mode 100644 index 00000000..393dc9ad --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_three_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_4.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_4.json new file mode 100644 index 00000000..7495f66c --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_crawling_blight_egg_4.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_four_turtle_eggs", + "textures": { + "all": "antarchy:block/crawling_blight_egg/crawling_blight_egg_very_cracked", + "particle": "antarchy:block/crawling_blight_egg/crawling_blight_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_1.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_1.json new file mode 100644 index 00000000..fbe98dc1 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_turtle_egg", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_2.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_2.json new file mode 100644 index 00000000..170949d6 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_two_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_3.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_3.json new file mode 100644 index 00000000..9064645a --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_three_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_4.json b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_4.json new file mode 100644 index 00000000..59b8677e --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/block/very_cracked_skulking_fright_egg_4.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_four_turtle_eggs", + "textures": { + "all": "antarchy:block/skulking_fright_egg/skulking_fright_egg_very_cracked", + "particle": "antarchy:block/skulking_fright_egg/skulking_fright_egg_very_cracked" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_egg.json new file mode 100644 index 00000000..ebb8caab --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/crawling_blight_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_spawn_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/crawling_blight_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo.json new file mode 100644 index 00000000..5674520f --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/flytrap_goo" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo_block.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo_block.json new file mode 100644 index 00000000..7cb5ec7e --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_goo_block.json @@ -0,0 +1,3 @@ +{ + "parent": "antarchy:block/flytrap_goo_block" +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_spawn_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/flytrap_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_egg.json new file mode 100644 index 00000000..7becb37d --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/skulking_fright_egg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_spawn_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/skulking_fright_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_egg.json new file mode 100644 index 00000000..61960ce9 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/springbug_egg_item" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_leg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_leg.json new file mode 100644 index 00000000..94f1a894 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_leg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/springbug_leg" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_spawn_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springbug_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/springy_boots.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springy_boots.json new file mode 100644 index 00000000..451aa419 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/springy_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/springy_boots" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin.json new file mode 100644 index 00000000..1497486a --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/stratoshark_fin" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin_soup.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin_soup.json new file mode 100644 index 00000000..66950e5f --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_fin_soup.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/stratoshark_fin_soup" + } +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_spawn_egg.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/stratoshark_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_key.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_key.json new file mode 100644 index 00000000..8107010b --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_key.json @@ -0,0 +1 @@ +{"parent":"minecraft:item/generated","textures":{"layer0":"antarchy:item/undertrial_key"}} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_spawner.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_spawner.json new file mode 100644 index 00000000..4567ce52 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/undertrial_spawner.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undertrial_spawner_inactive"} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/models/item/undervault.json b/common-1.20.1/src/main/resources/assets/antarchy/models/item/undervault.json new file mode 100644 index 00000000..363acc4d --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/models/item/undervault.json @@ -0,0 +1 @@ +{"parent":"antarchy:block/undervault_off"} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_omen.json b/common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_omen.json new file mode 100644 index 00000000..179ca66d --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_omen.json @@ -0,0 +1,3 @@ +{ + "textures": ["antarchy:undertrial/undertrial_omen"] +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_spawner_detection.json b/common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_spawner_detection.json new file mode 100644 index 00000000..3f1e11f6 --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/particles/undertrial_spawner_detection.json @@ -0,0 +1,9 @@ +{ + "textures": [ + "antarchy:undertrial/undertrial_spawner_detection_0", + "antarchy:undertrial/undertrial_spawner_detection_1", + "antarchy:undertrial/undertrial_spawner_detection_2", + "antarchy:undertrial/undertrial_spawner_detection_3", + "antarchy:undertrial/undertrial_spawner_detection_4" + ] +} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/particles/undervault_connection.json b/common-1.20.1/src/main/resources/assets/antarchy/particles/undervault_connection.json new file mode 100644 index 00000000..bd901a9d --- /dev/null +++ b/common-1.20.1/src/main/resources/assets/antarchy/particles/undervault_connection.json @@ -0,0 +1 @@ +{"textures":["antarchy:undertrial/undervault_connection"]} diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds.json b/common-1.20.1/src/main/resources/assets/antarchy/sounds.json index 3b9c5815..dd7b67a2 100644 --- a/common-1.20.1/src/main/resources/assets/antarchy/sounds.json +++ b/common-1.20.1/src/main/resources/assets/antarchy/sounds.json @@ -1,33 +1,4 @@ { - "ambient.elythia.ouranwood_forest": { - "subtitle": "subtitles.antarchy.ambient_elythia_ouranwood_forest", - "sounds": [ - { - "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest1", - "stream": true - }, - { - "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest2", - "stream": true - }, - { - "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest3", - "stream": true - }, - { - "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest4", - "stream": true - }, - { - "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest5", - "stream": true - }, - { - "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest6", - "stream": true - } - ] - }, "thoraxis_nightmare_wastes_biome_additions": { "sounds": [ { "name": "antarchy:thoraxis_nightmare_wastes_ambient", "type": "event", "weight": 5 }, @@ -50,40 +21,92 @@ "subtitle": "subtitles.antarchy.squidzooka_fire", "sounds": [ { - "name": "antarchy:squidzooka/squizooka1" + "name": "antarchy:item/squidzooka/squizooka1" }, { - "name": "antarchy:squidzooka/squizooka2" + "name": "antarchy:item/squidzooka/squizooka2" }, { - "name": "antarchy:squidzooka/squizooka3" + "name": "antarchy:item/squidzooka/squizooka3" }, { - "name": "antarchy:squidzooka/squizooka4" + "name": "antarchy:item/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": { + "shrink_ray_charge": { "subtitle": "subtitles.antarchy.size_ray_charge", "sounds": [ { - "name": "antarchy:size_ray/size_ray_charge" + "name": "antarchy:item/size_ray/shrinkraycharge" + } + ] + }, + "shrink_ray_loop": { + "subtitle": "subtitles.antarchy.size_ray_charge", + "sounds": [ + { + "name": "antarchy:item/size_ray/shrinkrayloop", + "stream": true + } + ] + }, + "growth_ray_charge": { + "subtitle": "subtitles.antarchy.size_ray_charge", + "sounds": [ + { + "name": "antarchy:item/size_ray/growraycharge" + } + ] + }, + "growth_ray_loop": { + "subtitle": "subtitles.antarchy.size_ray_charge", + "sounds": [ + { + "name": "antarchy:item/size_ray/growrayloop", + "stream": true + } + ] + }, + "size_ray_weakshot": { + "subtitle": "subtitles.antarchy.size_ray_fire", + "sounds": [ + { + "name": "antarchy:item/size_ray/weakshot1" + }, + { + "name": "antarchy:item/size_ray/weakshot2" + }, + { + "name": "antarchy:item/size_ray/weakshot3" + } + ] + }, + "size_ray_mediumshot": { + "subtitle": "subtitles.antarchy.size_ray_fire", + "sounds": [ + { + "name": "antarchy:item/size_ray/mediumshot1" + }, + { + "name": "antarchy:item/size_ray/mediumshot2" + }, + { + "name": "antarchy:item/size_ray/mediumshot3" + } + ] + }, + "size_ray_critshot": { + "subtitle": "subtitles.antarchy.size_ray_fire", + "sounds": [ + { + "name": "antarchy:item/size_ray/critshot1" + }, + { + "name": "antarchy:item/size_ray/critshot2" + }, + { + "name": "antarchy:item/size_ray/critshot3" } ] }, @@ -153,52 +176,52 @@ } ] }, - "cloud_shark_bite": { - "subtitle": "subtitles.antarchy.cloud_shark_bite", + "stratoshark_bite": { + "subtitle": "subtitles.antarchy.stratoshark_bite", "sounds": [ { - "name": "antarchy:mob/cloud_shark/cloud_shark_bite" + "name": "antarchy:mob/stratoshark/stratoshark_bite" } ] }, - "cloud_shark_idle": { - "subtitle": "subtitles.antarchy.cloud_shark_idle", + "stratoshark_idle": { + "subtitle": "subtitles.antarchy.stratoshark_idle", "sounds": [ { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle1" + "name": "antarchy:mob/stratoshark/stratoshark_idle1" }, { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle2" + "name": "antarchy:mob/stratoshark/stratoshark_idle2" }, { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle3" + "name": "antarchy:mob/stratoshark/stratoshark_idle3" }, { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle4" + "name": "antarchy:mob/stratoshark/stratoshark_idle4" } ] }, - "cloud_shark_hurt": { - "subtitle": "subtitles.antarchy.cloud_shark_hurt", + "stratoshark_hurt": { + "subtitle": "subtitles.antarchy.stratoshark_hurt", "sounds": [ { - "name": "antarchy:mob/cloud_shark/cloud_shark_hurt" + "name": "antarchy:mob/stratoshark/stratoshark_hurt" } ] }, - "cloud_shark_death": { - "subtitle": "subtitles.antarchy.cloud_shark_death", + "stratoshark_death": { + "subtitle": "subtitles.antarchy.stratoshark_death", "sounds": [ { - "name": "antarchy:mob/cloud_shark/cloud_shark_death" + "name": "antarchy:mob/stratoshark/stratoshark_death" } ] }, - "cloud_shark_fly": { - "subtitle": "subtitles.antarchy.cloud_shark_fly", + "stratoshark_fly": { + "subtitle": "subtitles.antarchy.stratoshark_fly", "sounds": [ { - "name": "antarchy:mob/cloud_shark/cloud_shark_fly1" + "name": "antarchy:mob/stratoshark/stratoshark_fly1" } ] }, @@ -963,6 +986,198 @@ } ] }, + "worm_hook_flying": { + "subtitle": "subtitles.antarchy.worm_hook_flying", + "sounds": [ + { + "name": "entity.player.elytra.flying", + "type": "event" + } + ] + }, + "blood_crystal_katana_dash": { + "subtitle": "subtitles.antarchy.blood_crystal_katana_dash", + "sounds": [ + { + "name": "antarchy:item/blood_crystal_katana/dash1" + }, + { + "name": "antarchy:item/blood_crystal_katana/dash2" + }, + { + "name": "antarchy:item/blood_crystal_katana/dash3" + }, + { + "name": "antarchy:item/blood_crystal_katana/dash4" + } + ] + }, + "blood_crystal_armor_equip": { + "subtitle": "subtitles.antarchy.blood_crystal_armor_equip", + "sounds": [ + { "name": "antarchy:item/armor/blood_crystal_equip1" }, + { "name": "antarchy:item/armor/blood_crystal_equip2" }, + { "name": "antarchy:item/armor/blood_crystal_equip3" }, + { "name": "antarchy:item/armor/blood_crystal_equip4" }, + { "name": "antarchy:item/armor/blood_crystal_equip5" }, + { "name": "antarchy:item/armor/blood_crystal_equip6" } + ] + }, + "bloodglass_ward_heart_break": { + "subtitle": "subtitles.antarchy.bloodglass_ward_heart_break", + "sounds": [ + { "name": "antarchy:event/mob_effects/bloodglass_ward/heart_break1" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/heart_break2" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/heart_break3" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/heart_break4" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/heart_break5" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/heart_break6" } + ] + }, + "bloodglass_ward_heart_regen": { + "subtitle": "subtitles.antarchy.bloodglass_ward_heart_regen", + "sounds": [ + { "name": "antarchy:event/mob_effects/bloodglass_ward/regen_heart1" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/regen_heart2" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/regen_heart3" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/regen_heart4" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/regen_heart5" }, + { "name": "antarchy:event/mob_effects/bloodglass_ward/regen_heart6" } + ] + }, + "music_disc_underside": { + "sounds": [ + { + "name": "antarchy:records/underside", + "stream": true + } + ] + }, + "lucid_lullaby": { + "sounds": [ + { + "name": "antarchy:music/game/thoraxis/lucid_lullaby", + "stream": true + } + ] + }, + "whistling_void": { + "sounds": [ + { + "name": "antarchy:music/game/thoraxis/whistling_void", + "stream": true + } + ] + }, + "haywire": { + "sounds": [ + { + "name": "antarchy:music/game/thoraxis/haywire", + "stream": true + } + ] + }, + "inversion_layer": { + "sounds": [ + { + "name": "antarchy:music/game/thoraxis/inversion_layer", + "stream": true + } + ] + }, + "music.game.thoraxis": { + "sounds": [ + { + "name": "antarchy:lucid_lullaby", + "type": "event", + "stream": true + }, + { + "name": "antarchy:whistling_void", + "type": "event", + "stream": true + }, + { + "name": "antarchy:haywire", + "type": "event", + "stream": true + }, + { + "name": "antarchy:inversion_layer", + "type": "event", + "stream": true + }, + { + "name": "antarchy:music/game/thoraxis/assimilation", + "stream": true + } + ] + }, + "dimensional_tear_open": { + "subtitle": "subtitles.antarchy.dimensional_tear_open", + "sounds": [ + { "name": "antarchy:mob/dimensional_tear/tear_open" } + ] + }, + "dimensional_tear_idle": { + "subtitle": "subtitles.antarchy.dimensional_tear_idle", + "sounds": [ + { "name": "antarchy:mob/dimensional_tear/tear_idle" } + ] + }, + "dimensional_tear_creature_leaves": { + "subtitle": "subtitles.antarchy.dimensional_tear_creature_leaves", + "sounds": [ + { "name": "antarchy:mob/dimensional_tear/tear_creature_leaves" } + ] + }, + "dimensional_tear_close": { + "subtitle": "subtitles.antarchy.dimensional_tear_close", + "sounds": [ + { "name": "antarchy:mob/dimensional_tear/tear_close" } + ] + }, + "venenatus": { + "sounds": [ + { + "name": "antarchy:music/game/cavaryn/venenatus", + "stream": true + } + ] + }, + "music.game.cavaryn": { + "sounds": [ + { + "name": "antarchy:venenatus", + "type": "event", + "stream": true + } + ] + }, + "wistful_wanderings": { + "sounds": [ + { + "name": "antarchy:music/game/elythia/wistful_wanderings", + "stream": true + } + ] + }, + "music.game.elythia": { + "sounds": [ + { + "name": "antarchy:wistful_wanderings", + "type": "event", + "stream": true, + "weight": 3 + }, + { + "name": "minecraft:music.game", + "type": "event", + "stream": true, + "weight": 2 + } + ] + }, "lucid_ambient": { "subtitle": "subtitles.antarchy.lucid_ambient", "sounds": [ @@ -1268,6 +1483,39 @@ } ] }, + "manticore_idle": { + "subtitle": "subtitles.antarchy.manticore_idle", + "sounds": [ + { "name": "antarchy:mob/manticore/idle1" }, + { "name": "antarchy:mob/manticore/idle2" } + ] + }, + "manticore_walk": { + "subtitle": "subtitles.antarchy.manticore_walk", + "sounds": [ + { "name": "antarchy:mob/manticore/walk1" }, + { "name": "antarchy:mob/manticore/walk2" }, + { "name": "antarchy:mob/manticore/walk3" }, + { "name": "antarchy:mob/manticore/walk4" }, + { "name": "antarchy:mob/manticore/walk5" } + ] + }, + "manticore_fly": { + "subtitle": "subtitles.antarchy.manticore_fly", + "sounds": [ + { "name": "antarchy:mob/manticore/fly1" }, + { "name": "antarchy:mob/manticore/fly2" }, + { "name": "antarchy:mob/manticore/fly3" }, + { "name": "antarchy:mob/manticore/fly4" }, + { "name": "antarchy:mob/manticore/fly5" } + ] + }, + "manticore_bite": { + "subtitle": "subtitles.antarchy.manticore_bite", + "sounds": [ + { "name": "antarchy:mob/manticore/bite1" } + ] + }, "mantis_ambient": { "subtitle": "subtitles.antarchy.mantis_ambient", "sounds": [ @@ -1338,7 +1586,16 @@ "subtitle": "subtitles.antarchy.gravity_gun_pickup", "sounds": [ { - "name": "antarchy:gravity_gun/gravity_gun_pickup" + "name": "antarchy:item/gravity_gun/pickup1", + "volume": 1.5 + }, + { + "name": "antarchy:item/gravity_gun/pickup2", + "volume": 1.5 + }, + { + "name": "antarchy:item/gravity_gun/pickup3", + "volume": 1.5 } ] }, @@ -1346,7 +1603,16 @@ "subtitle": "subtitles.antarchy.gravity_gun_drop", "sounds": [ { - "name": "antarchy:gravity_gun/gravity_gun_drop" + "name": "antarchy:item/gravity_gun/drop1", + "volume": 1.5 + }, + { + "name": "antarchy:item/gravity_gun/drop2", + "volume": 1.5 + }, + { + "name": "antarchy:item/gravity_gun/drop3", + "volume": 1.5 } ] }, @@ -1354,7 +1620,8 @@ "subtitle": "subtitles.antarchy.gravity_gun_hold_loop", "sounds": [ { - "name": "antarchy:gravity_gun/gravity_gun_hold_loop" + "name": "antarchy:item/gravity_gun/hold_loop", + "volume": 1.5 } ] }, @@ -1362,16 +1629,16 @@ "subtitle": "subtitles.antarchy.gravity_gun_launch", "sounds": [ { - "name": "antarchy:gravity_gun/gravity_gun_launch1" + "name": "antarchy:item/gravity_gun/launch1", + "volume": 1.5 }, { - "name": "antarchy:gravity_gun/gravity_gun_launch2" + "name": "antarchy:item/gravity_gun/launch2", + "volume": 1.5 }, { - "name": "antarchy:gravity_gun/gravity_gun_launch3" - }, - { - "name": "antarchy:gravity_gun/gravity_gun_launch4" + "name": "antarchy:item/gravity_gun/launch3", + "volume": 1.5 } ] }, @@ -1379,7 +1646,175 @@ "subtitle": "subtitles.antarchy.gravity_gun_dryfire", "sounds": [ { - "name": "antarchy:gravity_gun/gravity_gun_dryfire" + "name": "antarchy:item/gravity_gun/dryfire1", + "volume": 1.5 + }, + { + "name": "antarchy:item/gravity_gun/dryfire2", + "volume": 1.5 + }, + { + "name": "antarchy:item/gravity_gun/dryfire3", + "volume": 1.5 + } + ] + }, + "antimetal_place": { + "subtitle": "subtitles.antarchy.antimetal_place", + "sounds": [ + { + "name": "antarchy:block/antimetal/place1" + }, + { + "name": "antarchy:block/antimetal/place2" + }, + { + "name": "antarchy:block/antimetal/place3" + }, + { + "name": "antarchy:block/antimetal/place4" + } + ] + }, + "antimetal_step": { + "subtitle": "subtitles.antarchy.antimetal_step", + "sounds": [ + { + "name": "antarchy:block/antimetal/step1" + }, + { + "name": "antarchy:block/antimetal/step2" + }, + { + "name": "antarchy:block/antimetal/step3" + }, + { + "name": "antarchy:block/antimetal/step4" + } + ] + }, + "antimetal_scaffold": { + "subtitle": "subtitles.antarchy.antimetal_scaffold", + "sounds": [ + { + "name": "antarchy:block/antimetal/scafold1" + }, + { + "name": "antarchy:block/antimetal/scafold2" + }, + { + "name": "antarchy:block/antimetal/scafold3" + }, + { + "name": "antarchy:block/antimetal/scafold4" + } + ] + }, + "portal_gun_fire_blue": { + "subtitle": "subtitles.antarchy.portal_gun_fire_blue", + "sounds": [ + { + "name": "antarchy:item/portalgun/wpn_portal_gun_fire_blue_01" + }, + { + "name": "antarchy:item/portalgun/wpn_portal_gun_fire_blue_02" + }, + { + "name": "antarchy:item/portalgun/wpn_portal_gun_fire_blue_03" + } + ] + }, + "portal_gun_fire_orange": { + "subtitle": "subtitles.antarchy.portal_gun_fire_orange", + "sounds": [ + { + "name": "antarchy:item/portalgun/wpn_portal_gun_fire_red_01" + }, + { + "name": "antarchy:item/portalgun/wpn_portal_gun_fire_red_02" + }, + { + "name": "antarchy:item/portalgun/wpn_portal_gun_fire_red_03" + } + ] + }, + "portal_gun_invalid_surface": { + "subtitle": "subtitles.antarchy.portal_gun_invalid_surface", + "sounds": [ + { + "name": "antarchy:item/portalgun/portal_invalid_surface_swt_01" + }, + { + "name": "antarchy:portal/portal_invalid_surface_01" + }, + { + "name": "antarchy:portal/portal_invalid_surface_02" + }, + { + "name": "antarchy:portal/portal_invalid_surface_03" + }, + { + "name": "antarchy:portal/portal_invalid_surface_04" + } + ] + }, + "portal_open_blue": { + "subtitle": "subtitles.antarchy.portal_open_blue", + "sounds": [ + { + "name": "antarchy:portal/portal_open_blue_01" + } + ] + }, + "portal_open_orange": { + "subtitle": "subtitles.antarchy.portal_open_orange", + "sounds": [ + { + "name": "antarchy:portal/portal_open_red_01" + } + ] + }, + "portal_fizzle": { + "subtitle": "subtitles.antarchy.portal_fizzle", + "sounds": [ + { + "name": "antarchy:portal/portal_fizzle_01" + }, + { + "name": "antarchy:portal/portal_fizzle_02" + } + ] + }, + "portal_enter": { + "subtitle": "subtitles.antarchy.portal_enter", + "sounds": [ + { + "name": "antarchy:portal/portal_enter_01" + }, + { + "name": "antarchy:portal/portal_enter_02" + }, + { + "name": "antarchy:portal/portal_enter_03" + } + ] + }, + "portal_exit": { + "subtitle": "subtitles.antarchy.portal_exit", + "sounds": [ + { + "name": "antarchy:portal/portal_exit_01" + }, + { + "name": "antarchy:portal/portal_exit_02" + } + ] + }, + "portal_ambient": { + "subtitle": "subtitles.antarchy.portal_ambient", + "sounds": [ + { + "name": "antarchy:portal/wpn_portal_ambient_lp_01" } ] }, @@ -1877,6 +2312,35 @@ } ] }, + "ambient.elythia.ouranwood_forest": { + "subtitle": "subtitles.antarchy.ambient_elythia_ouranwood_forest", + "sounds": [ + { + "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest1", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest2", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest3", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest4", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest5", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/ouranwood_forest/ouranwoodforest6", + "stream": false + } + ] + }, "cavaryn_heartbeat": { "subtitle": "subtitles.antarchy.cavaryn_heartbeat", "sounds": [ @@ -1885,137 +2349,137 @@ } ] }, - "triffid_attack": { - "subtitle": "subtitles.antarchy.triffid_attack", + "flytrap_attack": { + "subtitle": "subtitles.antarchy.flytrap_attack", "sounds": [ { - "name": "antarchy:mob/triffid/triffid_attack1" + "name": "antarchy:mob/flytrap/flytrap_attack1" } ] }, - "triffid_grab": { - "subtitle": "subtitles.antarchy.triffid_grab", + "flytrap_grab": { + "subtitle": "subtitles.antarchy.flytrap_grab", "sounds": [ { - "name": "antarchy:mob/triffid/triffid_grab1" + "name": "antarchy:mob/flytrap/flytrap_grab1" } ] }, - "triffid_hurt": { - "subtitle": "subtitles.antarchy.triffid_hurt", + "flytrap_hurt": { + "subtitle": "subtitles.antarchy.flytrap_hurt", "sounds": [ { - "name": "antarchy:mob/triffid/triffid_hurt1" + "name": "antarchy:mob/flytrap/flytrap_hurt1" }, { - "name": "antarchy:mob/triffid/triffid_hurt2" + "name": "antarchy:mob/flytrap/flytrap_hurt2" }, { - "name": "antarchy:mob/triffid/triffid_hurt3" + "name": "antarchy:mob/flytrap/flytrap_hurt3" } ] }, - "triffid_death": { - "subtitle": "subtitles.antarchy.triffid_death", + "flytrap_death": { + "subtitle": "subtitles.antarchy.flytrap_death", "sounds": [ { - "name": "antarchy:mob/triffid/triffid_hurt3" + "name": "antarchy:mob/flytrap/flytrap_hurt3" } ] }, - "triffid_hiss": { - "subtitle": "subtitles.antarchy.triffid_hiss", + "flytrap_hiss": { + "subtitle": "subtitles.antarchy.flytrap_hiss", "sounds": [ { - "name": "antarchy:mob/triffid/triffid_hiss1" + "name": "antarchy:mob/flytrap/flytrap_hiss1" } ] }, - "triffid_growl": { - "subtitle": "subtitles.antarchy.triffid_growl", + "flytrap_growl": { + "subtitle": "subtitles.antarchy.flytrap_growl", "sounds": [ { - "name": "antarchy:mob/triffid/triffid_growl1" + "name": "antarchy:mob/flytrap/flytrap_growl1" }, { - "name": "antarchy:mob/triffid/triffid_growl2" + "name": "antarchy:mob/flytrap/flytrap_growl2" } ] }, - "creeping_horror_bite": { - "subtitle": "subtitles.antarchy.creeping_horror_bite", + "crawling_blight_bite": { + "subtitle": "subtitles.antarchy.crawling_blight_bite", "sounds": [ { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite1" + "name": "antarchy:mob/crawling_blight/crawling_blight_bite1" }, { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite2" + "name": "antarchy:mob/crawling_blight/crawling_blight_bite2" }, { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite3" + "name": "antarchy:mob/crawling_blight/crawling_blight_bite3" }, { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite4" + "name": "antarchy:mob/crawling_blight/crawling_blight_bite4" } ] }, - "creeping_horror_growl": { - "subtitle": "subtitles.antarchy.creeping_horror_growl", + "crawling_blight_growl": { + "subtitle": "subtitles.antarchy.crawling_blight_growl", "sounds": [ { - "name": "antarchy:mob/creeping_horror/creeping_horror_growl1" + "name": "antarchy:mob/crawling_blight/crawling_blight_growl1" }, { - "name": "antarchy:mob/creeping_horror/creeping_horror_growl2" + "name": "antarchy:mob/crawling_blight/crawling_blight_growl2" } ] }, - "creeping_horror_hurt": { - "subtitle": "subtitles.antarchy.creeping_horror_hurt", + "crawling_blight_hurt": { + "subtitle": "subtitles.antarchy.crawling_blight_hurt", "sounds": [ { - "name": "antarchy:mob/creeping_horror/creeping_horror_hurt1" + "name": "antarchy:mob/crawling_blight/crawling_blight_hurt1" }, { - "name": "antarchy:mob/creeping_horror/creeping_horror_hurt2" + "name": "antarchy:mob/crawling_blight/crawling_blight_hurt2" } ] }, - "lurking_terror_bite": { - "subtitle": "subtitles.antarchy.lurking_terror_bite", + "skulking_fright_bite": { + "subtitle": "subtitles.antarchy.skulking_fright_bite", "sounds": [ { - "name": "antarchy:mob/lurking_terror/lurking_terror_bite1" + "name": "antarchy:mob/skulking_fright/skulking_fright_bite1" } ] }, - "lurking_terror_fly_loop": { - "subtitle": "subtitles.antarchy.lurking_terror_fly_loop", + "skulking_fright_fly_loop": { + "subtitle": "subtitles.antarchy.skulking_fright_fly_loop", "sounds": [ { - "name": "antarchy:mob/lurking_terror/lurking_terror_fly_loop" + "name": "antarchy:mob/skulking_fright/skulking_fright_fly_loop" } ] }, - "lurking_terror_hurt": { - "subtitle": "subtitles.antarchy.lurking_terror_hurt", + "skulking_fright_hurt": { + "subtitle": "subtitles.antarchy.skulking_fright_hurt", "sounds": [ { - "name": "antarchy:mob/lurking_terror/lurking_terror_hurt1" + "name": "antarchy:mob/skulking_fright/skulking_fright_hurt1" }, { - "name": "antarchy:mob/lurking_terror/lurking_terror_hurt2" + "name": "antarchy:mob/skulking_fright/skulking_fright_hurt2" } ] }, - "lurking_terror_snarl": { - "subtitle": "subtitles.antarchy.lurking_terror_snarl", + "skulking_fright_snarl": { + "subtitle": "subtitles.antarchy.skulking_fright_snarl", "sounds": [ { - "name": "antarchy:mob/lurking_terror/lurking_terror_snarl1" + "name": "antarchy:mob/skulking_fright/skulking_fright_snarl1" }, { - "name": "antarchy:mob/lurking_terror/lurking_terror_snarl2" + "name": "antarchy:mob/skulking_fright/skulking_fright_snarl2" } ] }, @@ -2085,20 +2549,20 @@ } ] }, - "jumpy_bug_idle": { - "subtitle": "subtitles.antarchy.jumpy_bug_idle", + "springbug_idle": { + "subtitle": "subtitles.antarchy.springbug_idle", "sounds": [ { - "name": "antarchy:mob/jumpy_bug/idle1" + "name": "antarchy:mob/springbug/idle1" }, { - "name": "antarchy:mob/jumpy_bug/idle2" + "name": "antarchy:mob/springbug/idle2" }, { - "name": "antarchy:mob/jumpy_bug/idle3" + "name": "antarchy:mob/springbug/idle3" }, { - "name": "antarchy:mob/jumpy_bug/idle4" + "name": "antarchy:mob/springbug/idle4" } ] }, @@ -2113,28 +2577,28 @@ } ] }, - "jumpy_bug_hurt": { - "subtitle": "subtitles.antarchy.jumpy_bug_hurt", + "springbug_hurt": { + "subtitle": "subtitles.antarchy.springbug_hurt", "sounds": [ { - "name": "antarchy:mob/jumpy_bug/hurt1" + "name": "antarchy:mob/springbug/hurt1" }, { - "name": "antarchy:mob/jumpy_bug/hurt2" + "name": "antarchy:mob/springbug/hurt2" } ] }, - "jumpy_bug_jump": { - "subtitle": "subtitles.antarchy.jumpy_bug_jump", + "springbug_jump": { + "subtitle": "subtitles.antarchy.springbug_jump", "sounds": [ { - "name": "antarchy:mob/jumpy_bug/jump1" + "name": "antarchy:mob/springbug/jump1" }, { - "name": "antarchy:mob/jumpy_bug/jump2" + "name": "antarchy:mob/springbug/jump2" }, { - "name": "antarchy:mob/jumpy_bug/jump3" + "name": "antarchy:mob/springbug/jump3" } ] }, @@ -2273,5 +2737,379 @@ "name": "antarchy:mob/jerry/adult_attack3" } ] + }, + "king_idle": { + "subtitle": "subtitles.antarchy.king_idle", + "sounds": [ + { + "name": "antarchy:mob/king/idle_1" + }, + { + "name": "antarchy:mob/king/idle_2" + }, + { + "name": "antarchy:mob/king/idle_3" + } + ] + }, + "king_walk": { + "subtitle": "subtitles.antarchy.king_walk", + "sounds": [ + { + "name": "antarchy:mob/king/walk_1" + }, + { + "name": "antarchy:mob/king/walk_2" + }, + { + "name": "antarchy:mob/king/walk_3" + } + ] + }, + "king_fly_loop": { + "subtitle": "subtitles.antarchy.king_fly_loop", + "sounds": [ + { + "name": "antarchy:mob/king/fly_loop_1" + }, + { + "name": "antarchy:mob/king/fly_loop_2" + } + ] + }, + "king_wing_flap": { + "subtitle": "subtitles.antarchy.king_wing_flap", + "sounds": [ + { + "name": "antarchy:mob/king/wing_flap" + } + ] + }, + "king_bite": { + "subtitle": "subtitles.antarchy.king_bite", + "sounds": [ + { + "name": "antarchy:mob/king/bite_1" + }, + { + "name": "antarchy:mob/king/bite_2" + } + ] + }, + "king_stomp": { + "subtitle": "subtitles.antarchy.king_stomp", + "sounds": [ + { + "name": "antarchy:mob/king/stomp" + } + ] + }, + "king_roar": { + "subtitle": "subtitles.antarchy.king_roar", + "sounds": [ + { + "name": "antarchy:mob/king/roar" + } + ] + }, + "king_hurt": { + "subtitle": "subtitles.antarchy.king_hurt", + "sounds": [ + { + "name": "antarchy:mob/king/hurt_1" + }, + { + "name": "antarchy:mob/king/hurt_2" + }, + { + "name": "antarchy:mob/king/hurt_3" + } + ] + }, + "king_death": { + "subtitle": "subtitles.antarchy.king_death", + "sounds": [ + { + "name": "antarchy:mob/king/death" + } + ] + }, + "king_beam_shoot": { + "subtitle": "subtitles.antarchy.king_beam_shoot", + "sounds": [ + { + "name": "antarchy:mob/king/laser_shoot" + } + ] + }, + "king_fireball_shoot": { + "subtitle": "subtitles.antarchy.king_fireball_shoot", + "sounds": [ + { + "name": "antarchy:mob/king/fireball_shoot" + } + ] + }, + "king_ice_spikes": { + "subtitle": "subtitles.antarchy.king_ice_spikes", + "sounds": [ + { + "name": "antarchy:mob/king/ice_spikes" + } + ] + }, + "king_decree_cast": { + "subtitle": "subtitles.antarchy.king_decree_cast", + "sounds": [ + { + "name": "antarchy:mob/king/black_hole_shoot" + } + ] + }, + "king_decree": { + "subtitle": "subtitles.antarchy.king_decree", + "sounds": [ + { + "name": "antarchy:mob/king/decree" + } + ] + }, + "king_success": { + "subtitle": "subtitles.antarchy.king_success", + "sounds": [ + { + "name": "antarchy:mob/king/success" + } + ] + }, + "king_judgement": { + "subtitle": "subtitles.antarchy.king_judgement", + "sounds": [ + { + "name": "antarchy:mob/king/judgement" + } + ] + }, + "queen_idle": { + "subtitle": "subtitles.antarchy.queen_idle", + "sounds": [ + { + "name": "antarchy:mob/queen/idle_1" + }, + { + "name": "antarchy:mob/queen/idle_2" + }, + { + "name": "antarchy:mob/queen/idle_3" + } + ] + }, + "queen_walk": { + "subtitle": "subtitles.antarchy.queen_walk", + "sounds": [ + { + "name": "antarchy:mob/queen/walk_1" + }, + { + "name": "antarchy:mob/queen/walk_2" + }, + { + "name": "antarchy:mob/queen/walk_3" + } + ] + }, + "queen_fly_loop": { + "subtitle": "subtitles.antarchy.queen_fly_loop", + "sounds": [ + { + "name": "antarchy:mob/queen/fly_loop_1" + }, + { + "name": "antarchy:mob/queen/fly_loop_2" + } + ] + }, + "queen_wing_flap": { + "subtitle": "subtitles.antarchy.queen_wing_flap", + "sounds": [ + { + "name": "antarchy:mob/queen/wing_flap" + } + ] + }, + "queen_bite": { + "subtitle": "subtitles.antarchy.queen_bite", + "sounds": [ + { + "name": "antarchy:mob/queen/bite_1" + }, + { + "name": "antarchy:mob/queen/bite_2" + } + ] + }, + "queen_stomp": { + "subtitle": "subtitles.antarchy.queen_stomp", + "sounds": [ + { + "name": "antarchy:mob/queen/stomp" + } + ] + }, + "queen_roar": { + "subtitle": "subtitles.antarchy.queen_roar", + "sounds": [ + { + "name": "antarchy:mob/queen/roar" + } + ] + }, + "queen_hurt": { + "subtitle": "subtitles.antarchy.queen_hurt", + "sounds": [ + { + "name": "antarchy:mob/queen/hurt_1" + }, + { + "name": "antarchy:mob/queen/hurt_2" + }, + { + "name": "antarchy:mob/queen/hurt_3" + } + ] + }, + "queen_death": { + "subtitle": "subtitles.antarchy.queen_death", + "sounds": [ + { + "name": "antarchy:mob/queen/death" + } + ] + }, + "queen_beam_shoot": { + "subtitle": "subtitles.antarchy.queen_beam_shoot", + "sounds": [ + { + "name": "antarchy:mob/queen/laser_shoot" + } + ] + }, + "queen_beam_start": { + "subtitle": "subtitles.antarchy.queen_beam_start", + "sounds": [ + { + "name": "antarchy:mob/queen/queen_beam_start" + } + ] + }, + "queen_beam_loop": { + "subtitle": "subtitles.antarchy.queen_beam_loop", + "sounds": [ + { + "name": "antarchy:mob/queen/queen_beam_loop" + } + ] + }, + "queen_beam_end": { + "subtitle": "subtitles.antarchy.queen_beam_end", + "sounds": [ + { + "name": "antarchy:mob/queen/queen_beam_end" + } + ] + }, + "queen_black_hole_shoot": { + "subtitle": "subtitles.antarchy.queen_black_hole_shoot", + "sounds": [ + { + "name": "antarchy:mob/queen/black_hole_shoot" + } + ] + }, + "queen_cast_shoot": { + "subtitle": "subtitles.antarchy.queen_cast_shoot", + "sounds": [ + { + "name": "antarchy:mob/queen/fireball_shoot" + } + ] + }, + "prince_idle": { + "subtitle": "subtitles.antarchy.prince_idle", + "sounds": [ + { "name": "antarchy:mob/prince/idle1" }, + { "name": "antarchy:mob/prince/idle2" } + ] + }, + "prince_bite": { + "subtitle": "subtitles.antarchy.prince_bite", + "sounds": [ + { "name": "antarchy:mob/prince/bite1" } + ] + }, + "prince_shoot": { + "subtitle": "subtitles.antarchy.prince_shoot", + "sounds": [ + { "name": "antarchy:mob/prince/shoot1" } + ] + }, + "prince_fly": { + "subtitle": "subtitles.antarchy.prince_fly", + "sounds": [ + { "name": "antarchy:mob/prince/flt4" }, + { "name": "antarchy:mob/prince/fly1" }, + { "name": "antarchy:mob/prince/fly2" }, + { "name": "antarchy:mob/prince/fly3" }, + { "name": "antarchy:mob/prince/fly5" }, + { "name": "antarchy:mob/prince/fly6" } + ] + }, + "prince_step": { + "subtitle": "subtitles.antarchy.prince_step", + "sounds": [ + { "name": "antarchy:mob/prince/walk1" }, + { "name": "antarchy:mob/prince/walk2" }, + { "name": "antarchy:mob/prince/walk3" }, + { "name": "antarchy:mob/prince/walk4" } + ] + }, + "princess_idle": { + "subtitle": "subtitles.antarchy.princess_idle", + "sounds": [ + { "name": "antarchy:mob/princess/idle1" }, + { "name": "antarchy:mob/princess/idle2" } + ] + }, + "princess_bite": { + "subtitle": "subtitles.antarchy.princess_bite", + "sounds": [ + { "name": "antarchy:mob/princess/bite1" } + ] + }, + "princess_shoot": { + "subtitle": "subtitles.antarchy.princess_shoot", + "sounds": [ + { "name": "antarchy:mob/princess/shoot1" } + ] + }, + "princess_fly": { + "subtitle": "subtitles.antarchy.princess_fly", + "sounds": [ + { "name": "antarchy:mob/princess/flt4" }, + { "name": "antarchy:mob/princess/fly1" }, + { "name": "antarchy:mob/princess/fly2" }, + { "name": "antarchy:mob/princess/fly3" }, + { "name": "antarchy:mob/princess/fly5" }, + { "name": "antarchy:mob/princess/fly6" } + ] + }, + "princess_step": { + "subtitle": "subtitles.antarchy.princess_step", + "sounds": [ + { "name": "antarchy:mob/princess/walk1" }, + { "name": "antarchy:mob/princess/walk2" }, + { "name": "antarchy:mob/princess/walk3" }, + { "name": "antarchy:mob/princess/walk4" } + ] } } diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite1.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fd89b0487e521cfe2d30c556e37a017438ab5df7 GIT binary patch literal 23450 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 J1SGf~U;^n22zmej literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite3.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1f44cc93e95df6b24df7ed38d51bfce6c5c357ff GIT binary patch literal 21421 zcmagF1z1&2*EhTm-3`)RhY${MKtPa|lst4vcS(q(f=D+ANOvPCElPKHD_w%5gnk?U z_w(HM_q^}*y!)Cn*X&s{Yt5|nTeH{9-bdBiS`$D5{&l5c{ZshzvaSw73-NSzGqZhh zUj+$l`BxJ!$lpREMD@Pse_!`K??T|H|kEEJy(W1qfuv zjLzFqup1G!CTELw%NDkM_Na&+JzRZF81w5ntGQEQU7@|x2$Tf_R}U2c6(k|g@Rmg5 zJ~Int2q6cvchqiu3`OZ~SRBRKZ?O3K=!2B`cJmXSiR>2VMT_jQ*NsVGbJtBMD#NC= z%`4l`jC@~=2ydtVE5rOd4|;GcQfL$w1X39H>_ef2DQ+OEf2Ktb1cK89p2m?VRFe!= zQxA_btN!FtCx(yn%W7(=Ai&GRNXOH1*3)Cw(@!tutwE!oUgKMXxwl4_Z=aKg{3~7g ztzO=zzf-4&0NG5!$={*5jFh?GgmaODL&}i=i+h#OW5zQ=t?VjoKQ!2sH8>8| za1GYr{A~gn7v+95K(=jK;s24W^pY+A-$}xzj{}eZb=m7m-RsIMtHIps#)bY@!+ii~ zQwa^OZa0CaF9dpDJO51B{Qok-z1aak0!H2KO5G1?LxX$L4X*P-Z1#o9 zEU1cmjr{M|>%VvbC&G|nm24M?!5{nluUY~@w&Xb&(m4M}0vm+pY|y8TrJW87_SG9p+bV7%0ZUCisiu|H}SC`5zSL$A@zau-6Xp4RYOQ<((rU`yV?Aq;X&%in-t*ilgec zGG9~*%i9;!&**a&Bx)!^3;yva(5Unlv65&Mf1M;G#ccpu1bW4P8t#~Rl#pipKho$4 zwK@?Cn8x|IHTlI5S_mCaN4@tRi=W;a&3UZO`mN4JnLG&jpTPQW&jCQE3I6MoiDr?o z-t?enQkef3_`f{Im83V0x<8ItsfJl)f@}DvfaD;hv(e82%~WHclmgfe|t_gd-S(Q(M$^Q%zE*x z-pSTsX(g$dyCu0;|HE@^!i!SEi$cSl~RKulm`p+E2#zBR;%Rcx|0{}orERNFObwpi*ds+iNt-+1Z68qmh z2Bc04s7wlgicJCl3IJdNjT}r6?iMTMB&Lf2+hRt|5k|}DA`dPi;KvchWps~~WD{$Q z7w*J4UDIGEl~E3gViAg_$NgGpsId7616=k{0CfNeg!RF?$lXR1`m<$5V3-++eZp)7 z2@?uX?qqU)C`%!c`S;VunMpffDZn!bH-vxArd42V1}cC1$~>S zF#_F+)fj+nQfnv*7o}^C2xHI$55Ukef(W1m)S4sEUh3c>$<6ejF-dj+pznZyKPh$r z3t51G4Onww9!(HXB4JS?mK`OroF!J7O%fOufU9dE28j{VT8Kq56+{Dz3bBgHnHGXr z7D0-bOjbeEJB|ui&TAo-$q>^GmWyQmI>{cZ{3?3j?F>lum`(OGnQ=5q`4=k{lE173 z5wi_&b$5h1!ctEQq33C-cZtxM@lyh+nkw_82t)&7{@f9f?6>ZYFw(J{zeMPf`5Vl> zUBB>KC%@-BJM95dpU+r6|KzdCZkuLnms?z##$H-lQrh5HT3KO`yHlE5I#6R>T3J3& zQ&m>!un$rzi%V;`N=v!QYRYd)x%L~1OPebOYCe9bEZcARf!)cq-|SLaSy@(da8GTn z*za-OZ|3zagbo&#?KPJ)H#_Y&yACxtQs zhogyCrorXg8b{I36*mJQgNZBQQD^EVuv@JY6O?g~JBGw5jvjigXobG?1R_NnXySwhdQO3wqJ2){jD~%6;gs1SeLk6@EqCIC zzFkSrlzt?kIRW2xzQu?FW2U}B$|%gJ!wom^dPJLd*Od&Y^EfFtWtyG6%{Lz;x&fS z6Yg0BMJp;m8{!p}!BHtHR=?HIcYw{LYdFBcQGu-D6&<*H^bM5jJqYx%|BkAnUfbTT zq6ZYtQb4YxSY1zM?*!YTRJ5(Q7hcj$W)KYu*R+Qh&e+`(3>?K~(q1T5%uH!Sfdq5M zw&^sVAOAITGdu2{8MBIe;T+XT@u2Xn1^r0j#0fKyRlG(d*u%h~sW90NB&2CX)Nd`k zaDZP->6hQjPy(M2FJhX`wZT;<5E+mN#I(%5UqbHPRx(s$M8TH8ZAh2{Q))<U9(r)y zL8B-j4;mxSCov~rEFcH%Qb1x3>X!Tko)ia#`G_PtG+0fM1NxRgQGulZjC8T6!FbML zEK!#l9MC`Oh$)U44lIP;U5k%{Fj!fUt>iVR(FzX`3I*Lm`gRp{a}pR8Z)fj(=Fiw;PT=YevCtqIJAgm}bTJqS+)0L1;L@JqbWq_2^40R&?vyS27gLn3cn4 zK@it(rP(Wj1pDD809Zmr2R(In zjGiKO#W_c-sRKgtw{hv-B6y{|-$4UBdjoOrivgvk0}pr*#iG6~;eNxg62o zTXTnh1?egO-2O+*{_p7he=8Z-SAdZF&kT_GjD-&TL8sDw`Upyi&2>LV0z5F#>r4Sh zj7Ae20^P|E2F;TrttiaS0-^*81>pmFbfUgu>I)4G4wi!C`=w(_Uy&Q+jm}aqqhSY1 z5y2>^o4OY@Cn*mtn9+~m23<}Oyfur2hiHIJy64QwVfhmppnsB^mxB(ZZx0ULo*P;} zV-{Ht>K|MoX3QesGy2%Tnv)9-gGVTQh*cw$xv3-){^wKwD(rqlH06 z5k%EJMi_!YGyGE*9Q)sO1R~r2Knn!a_CM_s)ujGH3nK@tgVKN?WB*%X0ZW+w1aN=B z7)%6)a)}`4f9ev6KpB6-yF`t9M1rchC;Wx#-x4Ony}JH3X85P?eJlt<6#0G?X4+xS z8(?%0SpSNwX49t#1mXaI>zv&_bf%BKJ3TmADLB@R!0aKRM!4|PYD;;FZu03wSOJNq zhW$>uS){sZhPfiFvpi8-kv;Csgj;#N=McEHq{jew2^jcaOF&4-`#?d#C{Q5#W5*cG z5Cvs}hz|<~t2g+?ge@{a5Zs3o7pjXxL|pnh*GvS^H8kx*55$Rzs*Awh;p;#(TJoR| zrbl52?S_!V1_lv3z5Ir&+V}-iM799$?@o9P0B8Xq9+#exF-wkjxp%m3Obi~K{r-zndV zQ6F-W7h`3GLU{%HMrY<`7S}mB*f}|&JlwooFjh7m7VpqK1%24 zL7fMRm{wbJZCF!lSDd{u7EKmrl+b}Xit%#1_xT)sPyLZyAU=>wl??6Vt*?O=g+zsw zN&`-c#ai{mD^F&Ca_%?^3#k@BxED`t~$_p-s${UO@Ej+ zqnINX@kH!Zk-k*I!rb9kH|qQji*B-4$zR8o=92M7Q`+NdlXf+!FmBs4dD`lOLM4r6 zA;zDE_U+?5X9%7-*O*9ML4ZbJ!Id^!M>#y0nW75dn!9EDOtSCs=}B6NUN3J>Y2CIQ z)AsN0N%Q_uQNO6l+J2YrPj4%_{#0l=#2N7TlDQep<|>O0H{toj?&Qw;&Jvzm`_tu% z=3$=;_XhF4B5l4*Jj=^p*Mm)tI`wi=25$g!ER-l?QlG_d&x)&(44!;Uxurk*^4e48 zC`5SZ>grF@>!Z822l*5jCJXj+t#szrr^mT8wt@ZHPMd>+J0o8M{?K^MX!1y zm}g0K!DPwBh)^x(mlf(?*{#dr+sNvisN-bUtNC zsijL@SFz_Tw(WQ*;+7aMNn@Ll#q!Gea&)cGQ^bn@t@fkYC1oAW+Dbmx@n zTfy$WyF0IS$P9W>-JH%V{BGeLgSsvHSsK~8GPIxAk_X|cDq;^Zqb{$Srv_d_;~IhH zLw<-r|CrD3TDr~h6rta7^eW6mozuP*+G?tL+m$Z5eeQ)6qF?whpFNlPQ4WluTyPgM z1*Jvn8#x_aB|Th-rKCjxXj7=oyv(jx(-t>}(84cE?aLMMvzG%a%Ou`PI~a8pv|cIp z%)e5ayPn=3J?|gP3;2_v+P8OPRw$_B>TIrqa@_W$7Fmq`RCKXM<0nfU(r-tU-X$LJ zSzEj@?#j6~rt^?sm+c|h=W6=9+#Pr^4yXR-)t-x$>9X#h&_H7^hz-zvWjYWxp^dfw ztn{4~S8L@r_m{&!F0##C>e5ujoL#1G+11bE%kiFd0ad#6IvJs-)V;F)A<^Xs`j{@~BS|&oLyPj6 zM5nMuaW2OAm)>8;jwc1DE+KP`cOnrrkl0#&5hwL#-%}RLHRq(}ADbyM92!VCS9sqh zGrojc*7`yPVvNN138&8?9KsQGr>@$8M&CPLW*9J`PfOj*#buH>k!%F+SAS&9`#JjF zP!H+&kQ)EMjxFtAuBvtKvPY#rOz99=lB|8S1#?+wvtCif@ad~8nF zbM)wtlIGM%o@zf5K!V7hR3FOqH6Fw=MXHZ)&j4t}BH!&f@8*Ohj;x}#CB8NaJ!itd9Jf3EdF(D;hrUF3-h*fEBxhuEm4H%N?IYJC zE9YG<^QG4*T9cXWiJZpiZx)Z}8_Y98TT3b&M-K1kCLR;u=~jPbx>;y1Ho9Oi->P1z zYlLRL@n-oz7^G>W|5*`cx^0s~@ZeY>$xEeJ zzJe4uBZWICEiWu(6nthi1`K(B^w`8{@chKH^Y1>s+{ZR#nWhn4emTlTvw`bTJPhzP zRtZw&cWy522W#48R1szDRvk_CK5yZ?MW5wp5_`&QvAWviTNVYJF~Bpd$=2|{m!YZQ zE%(4*tmR9vL>&K$TJV27$Q2```e46iNhD8%jVt*x3Kz%g(RLC$jwa?Gy^#F3zfNP2 z)wg23gsu}tx#v`+K4mV}ZqJy=U0N159O(PA0?Hy#jPj4+Ex)KF^wqexvfqxk_!HUp zx?`U#*rgU@*K;JicmH$reW+b*0C@b2Mj&#Nawb#_lh^+O70Z^r($2S2J`sPrbU%hb z@x(CVOH+ zlXP|1rLHO&{-0G964W+a_XxO39gRMde5>3{komFmJ`hmWS7Khq?ux1Cr=jP*MCI}n zA#J*98hUPHkQl%vJ=Lo>MT_ICtovtGHLse_QPLN~;@P;3eH4k98JGKSI$*|)O?*!i zQK%8+(a)W9QFVyDTPFB{W})WiAFs@4Qi5b(R4us(awUeY%&j|OdYX9Z)d%A~*E?&_ z4%Z`h%Dee!gQ@+bPb*%X)(6XOa)5(X8&+hy%hfer?5kwth97Yydi>^mmze?lI7vz? z!Lq(O#=2e)&m*FXfnUe6k3@jS#(qf@3C}{-@zj!AAZe85;pdyho6KaQvKl-5ry3gx zPuxxONQa;16EIXTA&4f?m>Ip~tz?ckkedXZ0XYdxcR}fl{8x7mb(RtyWz6@)jzeaz ziMRv@@!Ma>K9aFT<|Sf9%FN29rc#$J{rN6zWYrvP=FX++wRFD~5*I5rV=bmuLFW>F zAZ@Q>o@LfkGF53j34W{HNFq81;(FPBbYyCGdcWHfXsZoh#vpq8y}=_*FUdf zz!w%?uKwA2eAgmu=be#pt23z{@K`D$zsK~NhMG0bFDW}N`8qGge^_<$*LrE*JX@}H z{Hw2|)}_pD`NW||`{W=CqY3cfhwHOQAVcqlz=05%j%WO0Ht+9Ic2 z&|L=IBxb)E$-#8s>8InnQ8DCM?!CfKty}%^6csGLM`;?r;d2~^l*MOBu?0qghg}__MMn7MhzB#V z>~c6NGH-#BvPpKPGDgAvgyyx)G`9a`VTCzQZ`DVPf-zPsr)RbTQeNynXn4H79uhcb z?&#Ij&mo;=`E9%xW8XqKj;~*#XsnM~UKdYjG=I}8-ZI8@f2jTiEm-dj>!l9L$C1@P z+I%7;sWDWAI{hn)T~`;Lh4FWXjZR)z#r=ruE8+({N`RrFZMLH-7U}IO9f42dw?jBB z&5n4bvyT4p4(F|8?PyMm_l|1!WK6NSq+_C}QdB0ux2shu!%vIO{`GRo#7#&Px2plA z?^)>pligutT&1>zs&V2L16M>XiBJ`Cvh8O#7cI%#P-s+#^_WZMjrvhkqZk~ z+y!=HQa-_MZ4hzqj0;k(a^9x=G;%6@W>oIbz#zr&WxEzdv22+0!yVAD85nM^9u-ER6qiaGdE&cv+&QMzr2^?t z&Sm?c>#sHELKf$vwg|v@Ia5|Mgg229;yWwVu6li(!2zQN9( zM7V_7I)vnLrw$S59dvIsS8}7##T(>AtYKnXx*gJ?@Ze&U`X~U@SlEH-5Wrs>iSTu* z9qOcQiKM=dbxLUAv*4jp4DXx@`@~&v$s`dx5BxG$71*%~QLGXt{Fpa`30vU!R=9S| znelG^&Fxp;#+5|POuoAVXY>w*!juUmRDhZz0yvGu(zB5ESHTIaai}`6^6RzTXf|*& z|F#qqVpOu?@S^wCTk(i8H1~ZYBgQiK4Tw_pPYav?N#?CAA+>1SsBYLVQwIyt$<1QyVR>ZLA$^cuKSosciPqR3z0mXu(6BEGZIvg2ug@tpDT+BZ7Icrr?5bA2mv z%bzGD|2l`T{r5QpGFUV;Gu==C&lZFP1^77G*|@m)g#_SGD3o6S28Zzo@XqiH2yk=o z^MPj&JiL7T0(|^De0D*%TJ@~=QSIoUb*9`SQA$`%GiN@@6S0Rv_{ zIz35|H}ZGh7-_nrtAyxAi%2s98%pX}yS~BIevPExkg!qY?t;1Tp3k!$`bmgr^Fusl zgQOikbxEYQ%?e870AZ|`Vi z*`#9YZsOee)l{!t??`TZxzT+hUkm-E?h#Y;XsfzhK?Ubw0A zXG23yL|-Hi3tujoiEi5xuKmn@rab@V;nELc6)4@}8)q5hA?P5~hbbzVsv4giKUyI$ zp!tW6Ku@zlnwVqEBiSE!O%Lauob4e`Fo}K>ahGDKP-=7NtMS=TA7r5Cqz>No1nj5Z zK~|^Hi#!YrIEo%8l@Ttv%^H5lQTd^yw~+m_wU+^2wEE$@bKO+DsyTi)^GVX2EQ~BJU0(DLEx#@ltT7##7asAV`<^)uY$4{uh_bkBVF4*@$k2!_(--Yw?P>7FOfGCunBjey7u|r?Vdof zOF3T0S^kN5{U?v*N1IlOR!FjRLP@l0`|G)fxQkswCyvCG($Pzu*f@Ns{dJZ?Z_Zd8 zgaX~Pflq8aw4Byf{lw|@vnhF+6#Z=T8cu~;6^RBv@Kq?T;PWQ?v}fFHfKSQ$XHW5# z@d(g~%7FNDaSA^X?{7!yCe`kC#+8d)8{sO$-%}#%XG(|oT3@m4|3sc5jUcoNYMF37dVO6%ouS%)r-v@z_rK7aH=1)s9jv@}R3!~W1J;mQ_Sac?l6@Au4 zZWbXWK8e(Q)C%0lueU>B z-uTAEOIXCyKNbb&)u1au9XaLmD$mz-y6c`lQV{hog^t7y72?E(I`}`vwDDVSema{e zG8Rx?v?i?wZW$sVdejdKgw0kUeAOJL=Pc&Ak%!|V-23c^6XI1VydUlcCxa*fH;=0c zEf24;_C3DbqLY{@kq`(3MW|{77MG0*_IPU5r8ggVtJ1!I>EEf!b%DbrTUxsF`eDQ% z%J#PD|`U9W+RgP1c=QJTIDcYohA%Pg1~R zF+k=O%i+nKJyceF5!@FcX3L+YE#fqD_?|d8rXjWYd145>m-+14Y@B+mcPsaFX6>hx z0uZc?y7h}-W8}?}P+t1h_|W2Z5sbqB@k4`$VwdN-dau$Gtr^vWy!NTy73p+rOal`S zme>VNMRusUj*l*rrSY0Rr9ZIGdF^^uHW90qmO3M@^YyW$8ysHGbJg-A;OO#?_xaJh ziy6*4*lr%C6;yg{IU_B}sol&!+-IEba#G)OOs=p>sLQ%vnc!g50t7(49vwlDFzzwVzR>2Mi~h^{OtCo!vj z)bEb9jNApQsvmmR&rh$<=J!=la=rR;o$$?);!HquG<|zczp;NqaOTu2$+OERlh2}5 zJ@udKgYTUp&JR|2@#MbF=wSz{oM&bx#s98uG=0C3%F>jmqgnW!jxkCsUG&8Q$7u9B zd0RWjJnDQ@FQx_QVz)s3Bjj>(I7Dc;ZbUpopRI-Ci zF;u!R+?9NY1zO)D1kKgUkd$gNN%ROGO4x>GbA zB7zjh{08QRPTjK^^(+2=_zQoI#QlDRdL~Y3WB0Cc{?bJL@YdM_LZawp)7AM_j0nwg zya_VkE&Tq+UU*5>(0-V3ix<-9O72G8d8EtS69uRE_dXw(xkrHw!a>PMML|GRVttx3 zFbj_O{x-S%=PN^!{Ff;KNQ)QN<~s3x!ZmuAoaVkh^(hfs@6pZ>RlIJ*57DcynE3_D zC%Hl`SMcqQh(g*ccD-rnjtnWbzs%6pU0gNe$6*wBo>Acd>FQqeJ$}{@bWsTwZS0g) z#THVkcYo9`=*URP6l|?A#Jna3-=*DN4DywcC5H%A7@?p@MF#Y0MX5>aj;vp|#dW|`x@}}}HW?`sRwi7vW$P%Yr8tOOB z*>x9qPz+bAaMCcGoT)rNNcXh!#n~27PsH^Kzd+^VpjnJ~7F+50ho>)pbIM|sZ)N5@ zXL12ccpeR355xWg7aL^K_9Cbxr;>K=0C|pRE?sV81LfYJeQH9b@_p7WgW-fkS zC4GLu)DMiINC#!Cv2qz%&r;6$!q`*HR8J<`>Dr>Z z1P08wU)b5aEH#!L`1v`Gq*bztDKkW3Pr2)I8fyS{;~4Y}>Ljj`C$8%dZaj7-*RZ-h z<-l~%KeOY)+#c2WU;y__wn}1a-fULY^SE6Ru!Z?8=w>M%;tZ?N4eohv>FN!*J(>_t zpD80@T8<7yq6o5lumtns-P*0uiy)|{SzC|a1iq`VHD1X0O!d{1*2<^I?Vj)7sM*$= z>lJ@%fONTfDKaTO3Z&^Me5E2GW=&IjFq|~u`l=GITS4zSknZNREr74tYBK1ztSM_; zal?q-&CN}^p9xEdH8HvA0`kt9E=}NodcY&U9obp~QMjl^+|TY_JzLq6w1!-R-^vVM z8(*D!k{QrWge(;kPQkm+#()*~iSP_2ht~wmt9n4 z`b5Bup`j#RN6yk^$#&6&wX5fXa249I>RBqM=8mjAdu3;rA@23)_qy<&mu-XzV#Gl6 zyNFSpMOv`%mLCt>&f~H)rp+%!@6Fzb+8dIqWn(a!`*`z?Pso_ zsT=P9YXW72yYkI2gOFO{jPzP&hi0daNm~8m_du7r7l%)cLs{Z$n(VVZ%fQU!G?<^} zr+SA|=h`Q$y5hazrVm7YrdFAtzY{pLCJA$y(`hm3@;$0hUsu-<;2Z!nhHb2CM&jjO zkuS2UmXdijPekyR3dA}dEN*mpgw?~t8^9y$FoQ2U5Z|yWov2592LMqhO^0S1TDHfo zt)HCG;%Av}h6V=07txSubwQ;0$g+VG+b4zkUOCLDp+{U}D z)lc{f8%>!!BztWm;;+vJIfvk*fOpD?teKwq+fjWaUs98P&zll5dQ`7Kj&cV`gt0Z> zu6RL}VO=3&MA#%cjIs5kEbd)8l#*GyWh8DhQh+(g7b%j|tNKECYy}~qz}HSG?@$u+ zl|Ksn&g)BDf9LBK{n>%xDt|EnFWL-QDs8MJ-ElLmyrEGAiH5}q8PrlpX4b9HN@ z6^rEQIhR`+^-oe8c97|~cEkD!UCi6E4NCra8#t;jv}$)iGnRNmB!>nVsG(MyP2Os- zT55t8xy>L%yP%_l(M4wQVO?fnBl5K;G;l^sIrMxQY^3V_0cs9d&zS;pvDRo5+|`Gl zO`PZb)bAeK7)KvP+DSy(p^KyyRmoBfe>4i21|FJ&*dW1T0wq=G&qKgz>Jmv@LzsE8 za+iw7a!keN>hMBt_Izgl@Z;<2Wiq213flI#C@f^8a=p9a=i9-=RZNiU4HUj0Y3F3r zu%4$=t%b)3hu-*ds*xR-h?uB#G=+3-j!V>6q{^QI1 z%S)LHr+TKy_QiZVmG7=}`2p6_QxyUBDiz1tPf8s|{Bh!0sUs6Jk#5Y8ZUJEIOTJf8do zLz)z>E8{ApjPiXWdYY)mSx48Mo5MIC8<(xstQgTe!$fjF_TOnU&mWlN%bV~m9(haz`$ zB$G+=2gb6Lk@}m+Zzb@uI1M#(k-(W;TM_QuzQ=jFzY4~9@Z zFfc3v`;;jm%yMIe3uWf`9+-#SkA|MBlLRKWZDb6?P_nHzz2SWDdS{%UgX=QTQR_a zFoH!*hH;Ft&Ig#O=Ae9n^>F*CzDcw*zO~w!@H=UA%McT9?FuDzm~OM5yjdmADb7D< z4S~u3K5MxD7J{7WqFIGk044zE7vSgThr?ie{4fqaxPSm$P=H;CpC3Gj;Df{1Vf^aKib9!IKGA7(e(a1fKw3BIzBuG81VXjl_>~!j3E@cdxF!F1Iw^Hzu(M+c5hC7op~pDy56J<^~nFAm^98M^*bSOlmKnDhHpQ ze2nMED1ur%{k8o&Rd)H;OXIl4eREB(jWr^7Qj->5a~|PT(+hwvJZzTxu6S>!@P;@nW_u zwf=pMaAS1t!#yFUkMCs=wH6L$nyh7hnm{m3mCW^q%pvb8WXWtZuvc`UJ1X-T!z27> z?pzJ8X|lfQ7TAp(wu;=WIeQdZylb$~MX{jpVteewsPnB6T`g=H;%;QzDQai^^u$A3 zfmEmj`7SKGm}+$_wGfFx#Ag{@0=h|x;ZB21U^|q}&T#(am`KI|Ie*GnojGPJvxsi)u^c?&|>9eyjl=9=w2_bKKc9kJe~L*rhC;|g_5^gN2A^`MGvf=)uP5WuaR#!v!)4BiKVYFH)=jI&Yw7qd8J{j zv+L#iixc*~QM{Q%AlRnB zW=O=H)JvOwh~w7^tpw>l;OV@WF0EBsikJC@{O4;0*QRwoL)b~?dO9p{;kS2%xgwg` zgJ9CCil4Ers?Yc9ktOz~E>T?`>nkfT$7q+4L~z@_7}M3%wzLMvGA zNo54p6sz5aXIgxM@B5bTwYl-A+xFUwWxfBtK3s1oVYTYxpT=+tvGH*+|79YGJE3f@ z-sZ%_BT3o+zC-7 z?d4RA2DlCZTT;uwUdmIy>AFt-NH@*$5lEK%nEq$F;@uZIVNMC%ykMTY7`~tsodiuuoG>rk0kBN<2jI@L4 z-5r~qyH^_kTX-oDd8sm5`>N;Nj6q{MW&QipGT~&sO0(}dWS`@I{oX}NC-eY{Yf!GL zQmPXX_}8P2KS$zsruH6glC&4@ z5?dm^^k^~NqOJg*lsumauTRIb445oEUp5;@>jyWFv&YUX^5y)#geF-@g@}#9<3&7R zQc7O58-a&i>`;U^jZ zYt&7`XWSy7a!=T=B2%MGxxD?m`}qWu17f{X>O4ZzvnD_kP{#EFa5v}Qe1`0xPT6F4 zN^?uaQ7Kn^$uk!VDVDg)SSM=DFL3gwaVHfsWI933|D&Ucj2mSRi$D`J=6XR=77zB)A! zh*?|35uifopw$Zh;2YbVs+iBo!(hy+Ps;t*j=}USjahZCYv%6CK9&|VanL!}JE`Z+ z_V!R8Rqs{U^u1!;#yMkOCSGkdAw>68sUrB^-pI?2#Dac=0FE3|Vbdhr#6DQ(Fj|!B zC$^;xwfJ{JyYCG43Z0$S-{9u*iMb0`)ek&0$JF9;uVM{EEB~6$Tc|yZDwF&~@8q3F zMR@PPV9H%$vh6R2M#ALJ?2svohkyg7m&{vaoNvdqaJ4UQzF&8wbjuFAnUsg9QaV(> z5rw&IUKXJ?Tig;^Z&|dRoWo24{W}&=4tQN$m5?LqiXi!LnS4yv`Fbv59V*Zrvga_@4;E zs$GiYnye9@5Swv^;rUwjjHB472Md$HV_c=yOyY@tjTFyual-7}xm>Hpt-4xWS_9+y zm*PpqrZIOH$iw|^Gv2K^-2%x!s$ktBay}A*~ zY8ixcv8f@K5dIQ3V0~;s)A>X$16zPl=_BE5wd}aTR;0)IwA>f_Pbbs5aMAVdek|5q zm*J|KR!UIFxTyAoVKr+9pfT`;$f%q~oxGMR?rNo~=JAly_m+rqM8Imtu@<|=K2QW3 zl$|$5)8CW};ha1drrim# z*5S(fO+m)8T(U!y{hqTjG-l$J<&PONC-0(PI%fkdGnWqwTWW4ClO7N?7Ax&$&<#rC zg<1#m*=61(k80qO?R=W~0Z>B*Vf4YGE5>g=IAXj%UKl-+u3gAHk1;f-NY(K&ci1vh z+*&-xK_Wr*q6kdq?iv}^?vOt^XxJ|w^C4x^^mh!(q9Lx2u6rk3qVZX33^>E6(f}Am zpl^kM)?mJlK%ECk8n#LYg$L^K(E5=*Hiq91HOEv!Nx5(b2`n|UvmF7sk2o$0`>+*x z!UOO9i@UO7r#rq^@Xm~m4@l%%A)_%N{3=UjX>PzZ}-K7DOA*+WIQVx={+s; zdaC2>{{(*r+4UuR9G(%u^l0h{5*I}PjfAbN;8iNx()7D_t49qvcEy~xY)R#_z79ID z(dDo0j0j)Kcl7-*7hOj*-t)$!QEh(3IM}?h)o$ z(FwdklA#%l7n|@DiD6u($xbKjkR7h*{WMa7Uo^SvzLzr@;ZH;GY0{dferD#B>xjmCW<>!wuMAntK=F5dLzXV?=mI@j#Nq@XGye{_!*v(JZl zT99QhmCC-pTz(jc(utStRZf;ImSZ(?Bri7U|0<;pXV#;c(}cGAdu$QUc!Ws4v#*wv zm1I3&h%1KY{uYIB4p=fnbWAP2uor3laM!Zo`r%7B_Ag%NQ%|_k<2`M+!fTC}#kfv0 za$2}zhLlOzVX@3}5W^az9gFwYxNT~b+El%}g?w$s&$6v;CHFX*dE1UzxhSfZ>$Vya z6c+FZRLb$PV<)@H-L>-OT5?LYq`CwUsj0z9UuYCFw1 z)=Dz-3bb(}|Hx8sG~7Z?S-A?~PgJS&tZ7bxa-*Kh6C9+E5X) zh1yCp;6C`Bp1~(@+}S)SnhPZlF}iq}Wpk9Ja3yAGD3l4m`u2WNNF`Q1s-*2Mn>Sfy z0MqI{E0tU$nr_ZM$qDvdRh+en$FbmZHi|SWZa#0;VBUURyG$clMF&gW@psV~D!bT` zBOLFKijo?`i<*xa%3=z>!^c`X zW-)A))H?Y%7bVo%gS8IBkmae{Ae5yHbYQp^4P+||Jb5srQBNW~pcRKnrOysvS>Yf3F_6jMyA|Z)I@Jbo(r7zdnB7 z_gLi?Y1o`1UTGJ(KB>`IRPPOYFc<>@rKTls+d1e@_V!PMmYCuzy7;;e<+Zcu8S9|i z(M7unEB)m}d5<<1>H7IBNU`%ncwsKnc(Ikn5NaVI^(L6m%gcZ_VJ(!kZal$1xsr|S zom~v#9)E8goc#C!BEUuA*D)51b1Zxbv7NF<66xBu&Gk_DC2qWxanWmycs;yMMLJzl zmK%Ru*|J+r#Y2n<`ZqqoL!>zIQJM~#GNj6*y=|{$E$#kZEOp7p{^~gJ+8!N_Qdlxg zLW+4twozUh#$%eQCSoRk1;Fyi3*1s8T@C4(c-;Tfv}Dtk=km4-*q@7Im|0rPpKTZOh)4=A-+%IQFQ##I$PrET!R?Q- zpArY2UBJJNAUgkj1Ofh&ABe$QLeb zpAS5s5D*X);DvGW^73=C@$tggdB7i(mxq^^m*?R_c5VR}4|oF}QgE`fLfK&a0^oQ0 zo~CE*1W}4Nz{ioaz^hI7p*{E2pIs$O8b(u(?M7fmY2Em|JkOaap7_pNz8&0z$lNJD zMpWBt3x^&7Gt*@NDNIzmBo(hsn$}ISh+JpaGfN0ks{n%Q&wjqbs;oqDX}cxCfxgj@a+i?Tgr8(q?w{D#H?rl>m#}$ zrkCmAbN7;(%%xof#1?k`+3f(X(2x}~+SO**jJq^NlVx>Cp9(F1m7I*QwB#a`!8IA4 zAWM|1!IiA~GNaRy$uzb;KsZY>&z0%<(u1usS>R0RF7(HFDL_J4Md_39 z))|ALoCcT(%EO{}6sWOGCvx;i+8osuJY?9(;aWfNgR1AKoj<6k)b`KI8JZh{)V$To zwt7&H^WfJPqt%MjzMMnPk#W1gQadBAinrw$e?%}nRo?wh^H8Za`6K4%=Q0^l@(G)J zS$Xd)GJLj4YDV!BtCYc)gWN1{IZQnWYUNG>@ioSxsP>LGNl6%2bJi?J^XG!CT&W!V zxujuA%51uXru_PzkZL6e0;c_74DgomG)2T0%t3pwIm2y2}Djv8-G#4c`0eMJj5H zeC@El<<&)Oz<~xbOcID%L_^>C@p;D!U2fE+X(toqC_F;iY93sp9#Dch&=Y=AAl`MJ?4h{;w;Zkho1pewRirT)njucGCtd%^ibPAQ&gmv$dE4) zK@w@sC%yA}F{}evnF(4=AHjF^IRJ_#7G{qTCpLqSQK-QwTOR7(b{_@<) zOd>Ye*R$i`>C7KHLTY-cv$VaoRgsc+GC64r5NcBFq`MX1?UFJA>HiCp4s7v^Wc2g3 z&{JUAV$7*np4M3aNavDys5vI9=IcP7$dmU< z_T_fA7Kg+3jPw()fIIgCybtYM*-FpisI*XrJHP!c zF0b($RizAximWNNBzDfiC6@q9A!*4nAp~?>>;TqT1#~*JB7tAgHM>Pl#>fA`nvbX- z89C3T#q7Ws!jyXpdL3*T1!G!NAxmge&D{lzAf5}snBn)&(z#BL&aI@=>3uD$Vkr>K3 za_Xy1AYHwAU=v+uPVXOW73Vy!w8LWZmWfYCPqoO>iX;8j@pzhA2>=Wkb-+{FS?-%H zB|B>}_hE zbDwA2e@bGWRvGfeEh$A*8H*a-zaT^6ZU9CF`vC5USF90?Zxm?K)!lA>p+A_a>a46F zTXZ1-0|vQ5d*?eqI#d8R+^mX9Dv{z8%r)*+oMLOPb{Elg6-S|dNTuDMoGOd}bPc&* z8%KFVtivZHU>!UBh-jD28m&lH^#wN`~W)m*J}RO>&z|GGC+6=`4~ z5lusevh8mPWMWhOgf~dI$#POo9yYRH9%Z(>9~o z9A*glp9vtHYGj*PwwTQ$(9hQ%(=!l<=Tb79TlLR5YG3)f%qLf@=m1O!X%DgOL=%j< z16Wtz14wTw#Z+S^YkJThq%GqAOX~YSZm#bFG$juEPKtN`PfS#N9s^7T^)&f-STqcr zHE{ya!K#~>FS)XWth!q^!l5&Gc~o&+fz4xNxPEqpSzyc>$9bTZ|AHd-E!~E&JCcOTKQg#q|Vi_EAbTh$hQHMWqsW9O{v0} zfL?+s^0Hb1VNz#(j`vKiqItDT{p{&_Us2<9Jpw6uWJvDsvUN}y0sJvFZbWFN zNt)z7h${839z3#RcnkHLxqmTHp3YBsNajbfR_h{gcSvks&OvCcHB0#65HvnH^jNYa zSbCuuqg+wHe;e7;#_*Bd!0XwUyvMr&f0$xQvq)n3^}>tZ^i>8=0}K`c_8yO-r>rUrgE~7+Nn!VJ6_b~2;4!j8|$&fezArmD~j&0Ajg3$(tF=paf zzwI|5o=VTd6h%~v`;E!-Z0jDXr@B;W4ulQMWh0gdX!taNEbPOiFS7J5m?Kz=*`#N5 z^bGnJl~&=h+}`QiHOY&isKIut0i+E@45Ta)J*iJ0fOPeX*X&Znc7Lqb#m2PI-1~j- z4Ik6plx!cJVqBka@x;hn=yC znL@cPP2pM3R3-py4GSXMsyYB@7Jv)v!t4tZa}ix%(x}_*2ytnZ*4FN6pdY#tO96ZZ z%MOMF0DM#e@gUV_nL{7%%UBIlu1Wp!^Gi1#Jc5p2nZ<1kN(+6CIHiPijwzf4bQw!m z0ILqMJJSR*u|B=1b>=kp-2e7pk7pfMyK%b>q$l)~MHl^(VHr9#&;g?=l;#MfaEZ5K%X3Qc@-&HY&1Vj;cuJqaAgP};x z)-aNr&ik@A9bNY*P+cXlhL-0GJ=@Cc{l-E~04x!G-LMI1lq~CSfV5c7-p^Dut@sM( zKuq(KPyFV5*>v4ued=jGIwMKH^F1#w4;BDhNcOd+q{iKnThnP}wMe+6V>+zw@CS86gGd1fp;Vq2ew zS@}Rkgf~pq$mW;*>fscb2qYD+tOeXu0F;c*1b~rjeCP>WK;#aacZ^Q&(@yZu(Op`7 zfmz`#2_zL?x4({Ja$rlJwn_;MBCiGrx>}K}j?+XCW#gvTr_IS;?Wxj&?*I%XUpdx+ zrktWvA>hv&NGE&J>_%r(mej|ZpOXpEW$#pc{2tWONH~B!ZMZkzyZ}5QuRVz^7_+eX zuM$8y4~WPK`#ckgofY#(SUPexAQs6=9A*8SwWa0U=rO*k08AarHN(?{hgf&VpAArs zwWxJhHKc~Y(KUkQY**9nQ9;Fi~-QeV0N60CsY}WDt*f25G3=n5=evPxAaWL95F)o zfv{6e_&j%i_Qd|sM`n_L?h7a zPrHhMm8iLN>3n7SQUxR-i>vnB4P@^4Hvmr#aI-;IWUCfP{2KJ3Npf@I z7Yn4tdi$G2rrwyupAF|)AKg_=mq+yL`0wZZ8_U*Ts9@4`6=>f(01N@Ip%S&O;26bM zBS2XOudU{6Z`Q|it4q_W*Y`QgqMfk*C+KLtM>Ega!WZpv*4Qi^3zc09##~ao`D8#@ zXf|!CkxDZvR)}rhVklKe-E3<%haO2H%pbhWJhHD907My!jiGJk%sAdB0kD?8xdV|@ z1^VL9ZTZxC4WEdpnn;}kraup$t>>S%j|9VC3v3<53;+Vr)c<5ahOnrOVL1{|ffj50 z9c`ced0loem7izOBA~2ikL?aA)~^ZxEFG_ZX7$m{`xA%DP>;gzxmxncCX5?EJ1qb(&{iDl2>LVk5?6wGp;W07MD@ zoQ#z&TI9ee0legsY0;R}6-kpYaPt0(UPqHNaBcM=j6!VCMkqz*Zzd&4hJ+ieT%`K`2^oPKX_ z8MMP+9KZvN8OvE?aWQAlD>jH99-tb)n&U=vKOF=EB2At8$Xx4i`?f~$FUq*)2Ak!r ze95Pj?|lPLXJ=CY1Qg8x000000GbK_00sa60FD^N$OF%|w7SI%+zhA3N-Z34gf z{1|tNIbfc*F@UzJWS3gjilQ4U<{8?rtJiPW5my;Y|MLHB*|SZnY>g*FR`VEw!##>h zwxAVsT*-81cs!96(`$r=p~1p`SCyao866D?JfoIGL&#{)s$k|znJ%wHlVNA2n&}f& zFG3q(SlmdTO9B~(3tERf+sPpIZyR_10!)GLb{ab!O#+6yzUV=1_14PTA8b$rRvoEww?I4B7mmlp;AJ ziqVo@CF0jpGcJhf(A?UTY0A^375G_;7dCPJ;Blxaya^HZ3B3@p{`bVbjjpxvx zfwsWyYw3L2R>{oDC8pky2Z^ABs?~T9ORpRjTmEXXi`^jTNoBSkyH@D?U9%*9WuS(( zItE~D2mo9(wkqC*B$w^Fkcw$wU>xS{zytP%Nn08q;18V?i8 low)riypFDZ4LIe=2?$d+yhMhk+$4Jw?BO`J3OFTv4FEbE4xIo1 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite4.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_bite4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3fa77eaa6337e919acf3feff291925cfb1d0e02c GIT binary patch literal 25011 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 Mvy011%m(iN2Z4-;CjbBd literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_growl1.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_growl1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..746f4f3a4f12fa2a8a48bda87760c93d78d1678c GIT binary patch literal 16000 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_growl2.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/crawling_blight/crawling_blight_growl2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a60677ea8ab573bd18ba4a69cf50273e7328d442 GIT binary patch literal 7731 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 E9~yT6_5c6? literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_grab1.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_grab1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b18d0e34e5723a9687af4332fa71930074554e52 GIT binary patch literal 17079 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_hurt3.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/flytrap/flytrap_hurt3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0b347842350aa8a276e491d0381b2aa85700e3f5 GIT binary patch literal 13415 zcmaib1z1*3x9@)G1_9|7q@`1l66t#BZjn@4q`N~(TDrSIq`UJ4loV+YknX#||M#8m zo_n8j_A|^g@2ov*&8+oXv)2TQ=H@B@9PrN*O8B=BM}IyBp@2BQvp2SIxUYhEfBokb z7sx}Q0it-{^54&W%X`Y`ivlN{S9kx{(+~fb5jRNJw0QsanWDWpm9>Sj`U86^X(~>3 zPIh)ac5W&LsF|sgiG{5>m4vOch5b8Q8#7x+#(N(Z7Z z0_H^Yk@gt^77G0NRLG&q%L1q!Cr?dm^J?;}Y)2UBP%yO+0Z>6AQq%$X(EH3dm^zRM z%!0`5`>69%?a`PDGJMfE`>6cnIJa_Q6$G~mvLgkz8EVGF&{=CHWaK!e)lJI2A?dk0 zj0kL`{*$3TjDrg7ix?8IDUKM*J^NtByhMAD)!$)J0p8#+0m)DJ(v|pwm1M)?w2FUN zl<|1Rxg=Cn<<-E)Nl(MsY{uDX#@RzFF+iumL#rV`XEs3ZEWn5;@Sk+pe}pu$a?K)C7`su_AJN`8twx?n~FeLy6w3o z9k_cPUVur`@l}7E-0-m+_P>m9Z*~9>;UMd_BkKpX0cD-E=h1KwnsJby0abCYk^lMe zdB6)e5bCry36|a{T+v1kYViiy5@n)@WBio_z7U-Giz<06`Dj=GD|s!W5I<$IJw!Ey zzOgVd<-vm1BgCtqEg1)rx-*i-k{w2*F_LrtmRxaDkV^|Ez&hfMRIDCiBk(!g-K_fm`3W-ahuWeNQ%kLjp6zZprv2n=@A4X0E0RA`+ zDE?RW0Oh|Z&WQ8+(3^Eyn(xG4J&q@#%q_3-Sa1BX(+U+A<2bF>05nOEKl(dHp>a^5juM3bX#fCdi^hYwnCaH9P6}*nF2_eT}1x*I9wP4m^6;jqVz%yF#??!N6S!#$FJo4 zBIx)csW3b8bfwq$QNU>r0Z;}2Z;n2WE+YF8>HdsYBOIt{aeV^xxv>+{jI0SnT#R&i zxF)Nq*%Q+JIdMd?p=mj|CLyI@BLErvL(d$Gehd-82LNLXC>mox9CU2()z-=l4;Lroh?`cP4 zxn=R`Wbq_M@y%xNIq%C9ehkgn?A2nFJ35n2lcIKdj{OA6W6K&D8NIJE|$G znQ5u2X*ru|ovCTSJY+$tiu~MTHMKgmxf2_;1dkO*H9ZZpxid8_0#BWpfR$5^6{362 zGt*8W)d*&0RPVIJV3BNLnN?7f%urNRSX5_IR932!wON!^G*D$;R8}%jRbE_Xy#rFq z3W};&ii%i@t4gklSa#|PikeCXswz^-ig)Vv(K}gon%)zoBt z**tG8y&3=+Oq>ghz9VY{n^oJAf^|Jd%)&Kx{znv4J-rl1a@B=gkiRkf=BCRdATPsT^^j+f+HK97xm-3NqbfaY{0l z)NxZxJyfcZ(tWA1xH4}U<0hcUnYl_bR+(`ys8wa&l<^)_4uOmXYutpkWns^hcK9O` z9L|j#(-CRZ+?sm=$Z8`a2TM#QHwRxhe=TJwOt0$Ih#ShMzM>&VqQ;b@~j^s2O0-O94G2NX`1OC&2( zSxaDL%dt)(V^Ml9ys(=xs85&l*{@uZv=X6TD z_=RwYYCKT~XB}^NK*Sr>EaQF(xp!O9VCaan1&;lY028X%kN|z5y_^^$quP)t3SI4p z03%~JOaO&0mq3<@wOieakr5mPD;Re?xGj==NH+uxQwtS%1$uE06*%u85$6*5jS=PG zo8Zvo5`lKf#Ww+UOXPqh#zbr~BFez%uO!377=R-qO_vKsx@crzJZC)?r%48O=NJJs}Q?1^`U&!HB3r+0?=JQwBI^!U3-LbEb>{a%S9X#vZD; z7$_(X98#e@2B^Dk^?O2`_AV6&4Qn1}91vDL+Tt>$-I`Wq)VVO@5}p|l#I@_mRx%*L zYPb;q<`I#B3V2cpUV0)_CT`P*L3mSvY7FNH#5WG**hm#eVeC!>W1Kvq`_KdY$lk{v z;UEG0*#i;;HpuR?RENm_3QYd1g!=y(L?IYwJyHk1);&a|D1W2!*SHTqO|1V3(i8vw z{EwLZzoPg5sib373PSEbGeD#j4H>vYCRLZ@XCy&qxgR4A78vMtCW1XiBKHqu+|2O@ z&66oEBfvlhqJ)tVgb(P^aoRFT4p1l)U2ekt)G?(k!wT|7rptvvEkP-QD7iIL_o8M+ zr5JNz+F`7q%gKO0jl+2Yq2Mdsv&JPHITKLOKZ#6AKnK#c0=sU-%2*3C4zC6E56%!U z<1ikWHaf6u`yTL?s;~=;&#CShUw*JPH5hD*J!t!WVE_efk#Ua}>Q^!#s_rpD?GKva zZ=HYizw2-WH~vBk1k}dg_u`bq9-xJi3Dz-^gCJvgDA9o>)V~4T0~q~r!B8#^?-2>A=AQ5X)rS%)^}V_tUZ(!r_C6K_Aqsy#3qRSU%^sk!=3eQ5S9;qg z19)QqfZeR+4kN6Osyo#`LDoOo9>@6EBWS3AWTlxDaW~O)97is`3e;*d)i_*PG0jAV zqq8JVU54S4?}U9xt@9ALw4_1-*m0=2d_*AlM17zje*{J#qoQq$Ll*(z7cM6n23oJb z!-NGqfaBkX@hMmn0~fEzC(Bq6(9|{TL-xjqh^Pre-{fpV)SGvr@~1+e4(^8FM|=C> z*?#zmso2ntDkzbQ^{^6N1^@~Gh{2?yp-C2q#EQa>#`*Lp1~(Qj4umfNR6xA30dHEw z;Najlk=dQA@U*W?{d2m0A<#XL?=uvXze^Q_hw|T*vWW3t^8HHrUQAo)85K1Il9uG- z?(XhZ^n{k~$K9c`^+02)P5sv9N)mCu6Li=S#0-+rm1_QAA? zx1Qh|R(t^!-kK0GSl)8Ee`nxzvb2-p^kF~j?)L7k7@2~f`*9A8^fMbg0ATFjoSlgK zfhEA8#a%#{CveN65~b$%bl5HU?wxS;@%D7_XY_-cyE}t@#0-sc{fVXfB|QA*^dRCn zSn%q3B#FB`h;Zvru8i7tbLZ81W$=*+0Mdizt#)av(bq9ghtKo4GMt>T0F&*{36aqZ zK*qTvObHRc_{-P3sNpCtY)S<^wxhj?>+4+kBONC6jmqXTwN5ua+P4?1UIOWMr2)cv zl;++mnG<&2sWByott0KP8h_Q~8fNl_YI9(s4G`$-###0sL1UIQ#Knh}j}T!_eDQh_ z?OUe<`9jx3>K@1d5N+Vz-PmG_3A6+p?^K!-SaN^jIaPI!9mYhU5%x}oL>y^df~tQ4 zI~%V)><#}G&K=WH$osM(e-)8iGX|Nj%Deb2kI$_FtJ><>mlypcw5)_Bhr@I$ehKXu zPSptsmA(S<(03y%xwvlwH1be^kOl!o%mX{4^Q#(+9yR#UH?;I z6q}%D^q6$+D`N|z6bn3ZpMu9IXoXn}rpG4pKW7$gh0h$0I9?2zUr|r4I&P1UF{Nfz zdXQ!#dXYGFh4h$(m3!%C@8|hVb_X*N5&`dzx52p`RtZZ`r$$w;b@9p%neI}v&5bZq0(n0GyXK|YIbjGN{22*KybJu07`(p5vX<;#i9vUUvs z+=l3O-C@Fh=WPF?OoriqmN*=mt>Xv-QD2@T)XMLbQQEoZ;#D1#u5){NGP8d$ef{$C zN6kCoI3qJ1P2cZd?j*og;&fQ|*|`3!z=mSXZoq19&pK&tOM`kaz}mbyb(w5IS>8zx zW!Rl2liwG%kCrJ_y8JvypEh!p(0Q6sZuyA3Mj+R=F44~7^;>1J_Ez^M3cn$mo6)$0 zo28_E$VpYO_tpM4tRP7!go^I5=)meri#-E$;4B>=dwF3^dd=ORZq23NW|)CVI*3D( zR7b^iVas$eMj&*JqJcbI?fQH4mY1_gGk8lV7 zM8a|v;F^`X{_%!IR$Vq#QA>0igW*`oR`-#hIDp-89J{2J38SID>4tm3TdHEo!#Ve~ zW;hM7e&05CrD~fu+`M8bBzbkWhR3zp%r+$o_q)|a0|4ZVpO|QyU6lK{T`7`?6b7su z4arDz2^_vE7tOWqb!LuNPh*Yo`7*L;Kmj!IBfd1tXs`742m|ekP|%-9JJ+Rf3GcmM z?J7}{f%jvEu~m2w<|rOfA+~j`zSDxKVD*mgszv1{s=_`>`8$@Z0L@GWQQS2XE%icvoyT=i7>=Gu=!YC6Iqxt*9 zB-s?=-vpId3%`LR&xj7z&OwJg_9P7x(j+B^9w<;U{$H*>}xOCd0qIK@Uww=;0_ zVvbxcr9GeWCrF#7nKw^>#>&!-JbugOlvTGNoFumEevOwKs4 z7X^N&#hjvUdy0-`Q8kBZ@!O-UGbH^mRv||&;c4?_S^Xf zxi$BCyYnZpd$7-x9Wp#?&SC+t6u&u@HO!>7kD>?rK6X$Iob`MMP`dca;lh{I$ds$g zjw(jt^KNqfIwPKkBfgw(^6QPftSTNEQt(4O%Lw7GJF-}4Gu=BUUy7}QjL3J$8Mp7-$DKg7CMg}x&_3BZrhFx5@4`>ZY20t)fv~b>V&zHz* zVjsm-=N{~wk=GVKd$rE!6pGUupS@{7>tOc;F{tZWRW1COLu;S6!;?88f%IDGiQ3G>K-(chC*1hK96f+n)B@TR2UHRm8!FtsCs#Sh(>R}y;?CDwN=l{=FUeO{sgn_=G9VZ#UhKN&kXF@d_o(b4f?VPzerLbh9zW z;>K%2bSBl`!pPog%lXOh{4`e>ICmJkeD~&hKW*XLVc)#XS8f{)zWjL85`VP?^{j8= zELC4v+gTsQ3D6)l7rlvpBQyVGLWe{wo(4u?G%IOxQY3Vwo)o+=|GPi#y$SKVxn`Ry zdsKJoZ$(lWg-()4wev8~ui|lyIhGruXtBAYNiB`W&A-Rch|D1D#H1wb-g&YNrj?A0 z=fP8v9%%H1nlTVSzc|-ALcN-?wtCyL{s1Yt5*hWoX{uEG!4-}w!Ilf}MN~P?asFmjJF)x6fLrkE3;PIuG*QK}H78T8#QzrCF`pz?rjv>M0 z4TM|S0-t4-6iJT_s^qWVF6kW^kRkik3FBoG{MC&CX6m=S!!#7TX%UK5@_rO^w;f!& zvq^x-2kT-<4D&}oKn)V`06H zZ6=qsIv2ln=jTec&ouOqNJ)3Ji0eqlcWp5yw)(FoulduSo^}~Ce58oVsNpMW4PkP_ zE&KU0bk&ulTH^g^;d?R$^WYrBIhdsM7~1rXK^Q(e-_oPn?@JUJy9deZWOEm!d$K)3<2=x^7YxJ9xJ(=T!<*A?o=P+9Zq8ze z3JN8?XU!Ke3)EAAf*;J5>jhafS3ev!v1!{*6>L1zf=Vq&j&^w!r0vrF-TryA4d=VT zeD`Ew*Oje|xPWgVrz$_lM@)laJBfZvV`u8~1ypx=ZA(4c3Su)#e%F^2_tr2prFlED zRMU#POZh}Wci2IKd49CKF|Pic(x|&myQ$!-OVL*>_C|Lu7E8wO4hY;xu9j1f1L8er zL~21=0+EWm!po0n&2Gsd7&{reh;P{H?NUZNojEt_@ZWP%GryU4eK}>L-w-($|Zx%i_)A^QMC$E4^fn73U-zndk@94=%|8Dm+_Ign@ptnoVS zU^XrMWMjg~%J)C+c&o~KMjG%<0^c-GA{J|r<+no41f)IGx_)IZ>re*1#w0?`^aKwd zSl+O+SLx;5ooN2JDJr{NepUZRVIP|^k%BXQBP~y(|Kg~#u$VEV-|6Rsc1DQgMb8DC z=XFtv&Keyvzc1F)JIZ}3?!he41g!bj3MA#P&w6>>v*sI7;9BK~+2EDPHXSELwplOA zSb@!AAzZ-CNHe1GI1~~b8!6vLhH4xrM;XWu*IKdt9syqLT4Z88;r(96ol;tma%sZb z-nmMoSkL8J>fx3b6m+uHgkwH8uWdC1_b}N+ET7tZk4=OOL2$5^ug7xvV};8V|B!op zJ#`(#-D|N~M;>*99pQ$I=NrwZeaxm*KRA7I_>-#Zj4-Cl?@>b;dP? z_UV6vD1cuuOtr?{M)Q4pP8NRTfS$2zcwysBh=%hPja(!)z|J2!7#u}}@tye=1`lmr z&7fXhbU53V0B*Vd+0*C%mpR~bzo&7(x$slnn}uk;zq_-(zM`_NuCS&gzo@z}<8wsh zrx3SAvh;`{ZsalMw%ZWC(BT7g$nivxDGA1y4q*DI&1R=Hf2JjwQ|xvx3VSWZv*H`S zm)XJ7(PHV2*N$w$BGUfnFUL>Ms+hHGROhcN1X>k&Le(9FkSb%nfpHX4D4Y0aF_z2^ zOYW%|!#qC_o+CIrsw$cZW1+lud9Nl)oI3CF)VcuCaee&Jioldcy$dq7nQd83=(VUZ z9g(TIdZ^5j3+B8hC#!!dd|UF!Yo9m3SM0ofLE3s0J~*ktfGGWs&zTQw&y%g)vL8dp z*brO7yCK^=&>Kvk;;aDTxtmsuVgXkba7ppI_jy(efry$xvK*=o+%XuWzBbtSdVV;$ z(0|&PUv7WbJbQYxAJwH$WV0Kg(%=51(#F-jPCh3PFFvPVfAO*YZ1!k^93EA4BUiz>Ff54Ll7>Nq};3UZMa^9YqdVPL=Yf9>M zy?i9THF(R!Gu(3SPU5Dvm2_garDF7{k|eNP(SQ^dY0t58F`!_(&nUkte;t}sK1qH< z9rmO$e0LiAc_@6n1K% z%YvN^*)Dr{!>MG0?w*J@eGKzH)l44^`*9EO#&_(PSNSc=_(~^VTQZ3?^Zlydmq7;f z=hMqr(lL{4=A^;kssQok2A2h#$f(U+6scV7Bl5Di1dTlq6e8Vph!eRsmb zmG51rExM=$rLld@T(8N$(w72FYuqHqb-Eb={hM z+ArWuYhx|LcFi6Eb($3VNM7kyi`q97xL$M^5P~MsHH?Rh38`r)G-4?{p@4X%k$G1-+hzQISdzpM0tut<%{Y0`< zBD(6u`u@VrMvECpZdh`qx|q<$7;AEwVz8-V7>`?_!9WzTT2Q!SCjdmlZ(ku0>{Las zH2Ai#28|9@>@#Cb5d)rX5zi#P({ad-YICJt`|zQAOP4=2d=AdzN?0$rs@DRDAUsuI6Zq&7J%0#PXB+MXGmL!7)B}`xtW4XO2=7 z=@&1PaT`Ax-Qda;H1!qf~V=OtOrQZhIUtl4c~22X)Jx zX6{DnqNaq4hZ*P^Jt#A)rIguJomJ@Sif`v{9qGztX++r7mg1IQuQ$2rL?I%QM-OTT zMmX8O8Uo&xpOrXF>lI!mBfaQP7i@zIv*H40u|x_V*4W$iEA}q@1r98F6;@ z<{0jMy7zQ~68P21dDcG2SdS#+CcN-v@p+QF$A^R1E&ieI_{PgpX`SM#HTA{{Hs9pH zr*lHgoJHw0Y}(YeoVR$-;gYM}E7$W6RJ|{!`1<0jJnL8j+~x*6?RCF7+KIePlg-VA zcWjh^OHAQy=)`KpJT5SK#SW?eGa-`(CxMEJ69yi%iKN#d=*|=`#X1jWYp9ta)$FCz zvOKFz4kF68E;M{xlTw)?_}75 zR3|KR@sC{A9Djl+AoKrYzh(>$X_2~Ma|+4?h_(Z}Y%wAQtaOiu^5D1CT0~A)J&kza5 z#J>gcNl{w@cuNgsukLqEC@79c%bhpR46odqW*1+qKTq9aJ?f^^2r*BIG4E7M9WBG2 z>*Rz3XS||QX>~N+U$!9*G&WOSX{oQe!!r%j>!&bmN?s{`Fv>+~X_KX}c54pt`YvDj zC6iYmaXF{4+f2jC(D%c%zGX6I8=9v81eiIzDSwfa*s|Wd4-Xh}^5ocatPsYJ+O#)Vqnb?tBkHNj_Se9JizqQ8NNJiECnX0siYfBw?KJSFN|icFfm zxv6=O?Heaq!f8Hg?yXD>{u{X5K3don54ZJ_y2z}hPW$vh1}W6qYJE9E(5pcMry-l& zHRYoS-*X_sY>peB!ECXO<=8?-3$4w@EuQn0`lF9pt~vBah^~u#2(7Ko9G%r>iFoNx z0l;s+%gJ)8ZhwUck46Q#`^=MqU;{%3>z&!v?=NcUv!Y^qNk2&jDc5d) zZ&iU;6Yw4Q;b|bx^4s6YHpoG*J@IQ=4x!A8umnrd>{f0GlbM9$Tfc{n2@KdlcOd%<|3Eo0|Sz$n_e#+ z3bI5^)D7oiFMSX^Ug2&`E{Za^6h?~N$R)?lt0as0Rdq6LA^WEzV((_@_nV_(ORbqL z9ruYm9+W5^Ji4kaN$Y2a=0cJks!6giBVc-kAGKhw=6FibX%XQSo+9M+*K2;v@bHB# z9!2lR9fO8dF7Y!z4-kuVEAwkUbBLaf(z*Kt-BOjI*UI#ffjAnH3q(p_A#yaJ?EGWCTbD$OCT1lp47Yd)fSLJ z&r}{QE64ks`5pI7q~(Qq{{m?oPdFh#zq6S%N-asX(+`DUk*B3rOE9OvI&*?wF5G?^ z_`TXUrS<|`{9Ub4aRs(%T0Z8Fo1yJBNg-ah-7@s5&3eu{jmmbP~di^Pb#j{ijNYZ?2)w5h@@#A+g!uX)lb@h0gAv!z!tm9@|Ud z8KuzOeEypb&0l}sW?p=ZA^o|+&5&Cv;L?RZ@PSNTcgz_nM1R_+VTz!zLnUhm*>rR> zVrG@Q+DdvtQSrx*^n$pY{xt95cls)>C(rtAhCJal?TI-lLrLBz%c~{6@Fh!keWb8l z@f@B28vs0I7oJgaJbyLAk`}bqq}sfg9)jiQ!^x=wZosg8cdFEVu6V@t@?hs6DuVP! zqF34e7qLr5!ts@K5xjaDIt{kfYpf6K;sD|}i zG|m5`y1TL1_rS5^wLwwo+ISaQ@Gwr^yzS(e(Pk>KDvoVSpwi|KGPJq4OtG*5KRB>MC?`^oi@tO>GM4GzgnXpN{p zjJ;~}WI&m{8lNjb5;aQ?hiOfEQ?Kwym0RKX0yFBd=h;5sI!#X=fDnfzy43z*H8jxzu+Fd5#J z!@c~j`{M~&&qUT#_HAgr;CVKj{|y5_cw(CIjC}gYGNRw=Gov7Ik4#_oF7M2y;pu?Pnmg^H6sja}4 z)Ml?0ejhZ62^Woer$7MjC0}x5;9&;=;l;uI{=wfJg!|hPo&-wD7(O1(Z>%k}Rg{Pz zkn}?9!#e>V9AxxC72iCbZXFb(j79u0r+6tzP*?JcOm~YXAt&n{WW_h}UoBc^-QCVv zbFhdi(GugPlNX=yX z6una*j$Vg~%3(_yR2>zTTHeB*y8zPgEseUDt!=k(H(%r}OLPu-*R5&2D`TGCpDL#a z3mc{+I`Ku=xyfMcST%a?-F~i*sqN=uiBedFzG)uKahhl$cst~G@eRVcb3!9qRneDb zuWRviTd|fVLI00V;PK{*Dse8tJuPObudmoYCG45E%Wtc+Hr0N8IqJp*o@f{7P6~_G zkjMSD;lHp7-B*|O#w5kmgj_3$^Mm&oXqFyR`Q8MO8VDWR3*KS1el)9_F4!8+xUfvy zLmvJntxXk(N(V4|-?6+Qq<7u7ukrYi>Sg>SJ$vx{!wl-vV~H&Ok|ns!N9LJUsSrS$ zW97wDl?L$sKuGhc7hJ6$!D3!(UW2vWP+@5TxLeS+elxUu>9BXv#dq6(PXGKSZm&2$ zI1^q6hdpSi@wKarY`hS=E=mUO?5tvstYJul{|%xYpMO0(PM zi<~`qmq%}jM!mwh-hA#}^dI)%h{(VSjR@PN?rlq@{OCPPFVy()k$6>3d+qfsC4bpo z&gWj7Z)AooYw$oz@QZvexIH5N^qxY-Me|-15uNPgdr|wD!k=+3f(FB^R8~AEV4Axh z)+*JruN=E?P8MB<<%C-T0Cw+7YFW`HglC-Ww?E%=F>!vJCN+H9fTHGPptU1L02nGu zsGRB}rel5v?+1ZbFSfAXdeEN?+^7$UP2+#I5##BAf|nkFis#i|?YTBt>yt;_b#CfL z6@|rBUXnxrf6fHez1_JeXC7ylC$+-@25GD@oIWY8NU#l@Iy|qRK$tgH>7Z0XqzH0v zLVoq5^81xdUlC9D8p{{~3f{y1+ia{xOX^F88}&a87YTgPb3vmCUnsXV>AD9o!oA#u z?eKRLO$bvXio^R2IxaZY>@3G7{l1)8ft?L-uSWcGp>TEVu=uf&$C9Tz_t9%BYB3_P zyTEOQ{AJ_X@%Oyx{JZ@$av_ary{nf5cW+w_<}A`XPtO#mgwMCO+Y8YuPZggb_0Hf6HhbY|Z{D#fZ=_ce6D0uyuAa_ONxd6y{{-|m}H9Fi9+$nBveV) zDI|vN4@e~xpS+{sRMa1!caNtn%#(=JXLvgr4*?zuM2LG6ghq*D(1y|r>m-J}5Jpgu z{0N@y0}oH)--$H84MHl8K^eNv&W97S$#+Q+D$TEhhv4ndgyKqk$q1?7M<|1NWK~1Z z_;)BmzcVvLz5Bubg(wt-hau+O27B*h2)0CIMu;5GC0VGoxHr*1ZGgpP<3rHIdr3lN z#1TC}q&3IST;5 z$m5GD(updviQ0~g#Rv_rKmvjR00q$ux1@&9>tv}BO~_262wF9CX!B3*te+2&<qnk0)<4vXTA$GjrU#zu@UBVLlWqj{ywWE=<3j_2Lanro z%}}UCP_oTF>X`};JoksH{w8}rcPX--K4eSVn^QAKe{Fl2XG`n41+d|Kwb9V ziCH9VIEh<7V@cjSd8V?`{20yw=FfwF6M=(@&yNLhIDX(szO4MAuHncttz&=0znu|M zucc>S*`O}ZSd^@e^%p-H1ojeWq!#gN4>g-bGL~eyVKJ5d11HUcX#hawgktOo<$uRN z6eCaQ)$kFKWrCAuLPHwjX*rYXsoNBwKO1HU3s^$LOHWgsR7>6e5&s!FVtJxLO!j{U z!q`pXKFGfVPR9H9FcAg?TnJwOoo{k=V1;q;&^WWoDYwc~VKoBj32w+3p`qFSr{ z2_8cYUPFkMqjsvJexv6?n&kp4VC6reA^P7T;sby{;xooXI>y9xzF4rFm`yJeAcpqv zL`JPK#IExtg5?tFZ4<41QcKe_cGGj1pnp{Wya$zs5LN6QRpuR4>K(finP`)qT3VLz zvcLGCrE35G6tVwKa4-OPfM2_TU#o+q)e*#Bbc1mo(52|&086_u4~%pFGsdx}!U#aM zJ^ooV{$&6F!0D?Y7#O2a!l$27XMt$2OsPvxX+Zu@L1}_p=_vwOOduWv#N%nOuyki& zMuW}9?aK4aanuirYGs+M8=Cq#!blp7$Rd)}@chca=27B9trBjR6V03e?G(Wnq^4fn%Z`VhcM$jmCp+#|^UWdB#G*f_V? zsSqOms}@8B%dYg_ zSbz}%@d=tJKn@`o<&LELZ&4ybkY|f09bAYI*pU6#Glb9>;iiqklm7VpE0OR+pA=$cCUHS*;Ow7p{;N-XQI;Sec%3g5;Sma-*omBcL05H+bU_dPN|GV%% z8^i}9kpLG4M1wuG%&UkN!F_c=D(a|Ea4`rm8iX>#L+@(DHOyRt5eq*OpauYFKWmwl zo=PVc+Gf0n0?SPZsSwy^Z2RQcem@m@70E#Fx-Ha`toEK5WWf}j}B0a{fqydpjEcVGkI7_w}#n3utrBk7YElLvt z3Huit3f)6Aq(XquhD>?>dZ+=>B6P3iZ=(~MN)S&&ny6yi3@8*@g)OB*fT+`O#`Ep= z`+Qp{w7i8CPwAmLPeWa_haN)r`#HrRh?)$wQ$Y_!_FL+3R3S46d8#GwkYgS|p#GQw z;o`^SCB-mB*NlZ?HskN78&sgQ?==p2M``}FuTmdrmaj@NMJt9|Kf>y z6vuW}l03&2!VQvRBt`7z+l9%0T^@D$2Od9T(O5{S_v4E0x!z7XNzKJYL;A&e)_7=|cTl#CcM zV-dbQCVeQrIwNBdfjkB+LWtmL%42>C#Yare2ka3Q$TK3WOTmY5j!DE{kV1$|3owbP z{#jKl5I#?SvN|J+^gFsDl0p&%8A5key{J+*9QC0x^H~? zry?U7OA3iZH%Z~Fo5Cme$B0!?90(4M2LNOgR4(A_D)7r4&jShNH8~JWBV`pS)g|HL zt%`~FL<1yd_D+Ho(9|&~G&B%P1F`O`RUy-&&|-))Kh6tAp~!OSdg|=`{gLu0Ba} zVqDxj93roTMFoU7B}B!9q=jTyxw*syB?LqyMY*~8WQ3)J#o$cvmxv!QoF2{yXMpo^ z^YTcG2nzD^^6&}^2_m?ZT#_>KZ~-`{q=d4nDx4oK2i(m5)Ysr6xi{bIA8rF*0DzzZ!F0hL^Mm<15K~V! zO^%|y=lhR4exjAXF#Ua43M|T=P;`@)B}6p82xdZDw+MYjJB|pHiNB}Lc&_4H`E_F{bbFmi**}SB^iMv3xFa`DeE7Mp^n;-fvm!wdpONgv%Yk;U_(yv1*w3K5L?AK;(lPF zXI=E%+H%$7TGzM46AVF4dl`!+;SbQ!V*6K-nwagKIaMw^Ml*Z#;aw4Bl}xnD0oe_? zA9=vS=rxX#-THmcz03-Mls09WQKJAO3_yW?eU$~2$F?n9{D6F7|Bdp=#lpf+g&Iv+ zBW3cWxh+S8vb2y%4il{OOb)Ei#R3C8FT}g->H|sd)jq;^TA1R#(_C0sU=`v~GOOLG zEU2c(YkYNdOHKj5{ZsAb5Fl`>!K_A^#v0Bb-d1hcZfjW>8HSXSOmVKp;+GlyL!6<4 zoqg9bWjp@o{^Uu#Ue3Mb9NXtR2k=OG7AQ@Mh0GczxqW{lA(bxiwzk@|GeE?^YT+}> zaBR-%7=Cuk=PfwAGth8v<)$MkAos8zh7rz~|VX8tR(SZEn=dj>&w z-!lGw_m)Bv`8A|MIDz~dOO|rLyF9nfntGpvxh-jcU@9$Eo1s|gwlxT#C`N1;pCcYW zuQH!7ohHW`?#aI`RqLV5g$6jAo~oeyiJH{6&{-Wo>7&c}xT3@EeugZi$p8@N;_Ue5 z^JE|DXdAz|hA-O@O)m5os#hHEN=vR~kviXmveV{*C?vI}gY!r*pSf6P+9ldBKvJb))>jx9NWGJkzrDv~X zMLnmA?W!Rdte~}|oXalGcBC)QhH5BD%%v!oN|d*e9H=@%8aR*$RPv(*=Ey9L?t{bC z`@f1l&XY>A*_-zDp?1@%Z)htV#nh$H>CjA&YrkY%ORKq;OTNd>GQtoVlaPP?n)|JX zyXcud`V)(oL>%skV=BE4GR8`~1qF!nz98(tQuhLWU(E99M|4{Qv!K$1M}~jG+*50i z!IE#iw}O^R^fe&G|MK@E^vkOHus3`YJBK*`n3c_X20G~JW%@|pUK zDHJ0?PMwBl4eLR#jtm52aVfM5>J^}e7N{4Xa8AqBCgtn5!p%*cm|TL|BVBQYRfflH zwJg)x`?^DOJb%26J{Yw4C~MrJ|Jfm`L6%xdztxv(Xzw$@1!mPjz0XxYZNiUlB5S7Q z(LbMtQ(F@9M-Z~8+_5uh82pCS^b-K!33s)5`Vsfq1zh%Yb&&UdtJAlxUDHds4K(U| z@;G;0g5R)mTcw)g)-dH&{Bd+ z_cY4IY-?w3bJfQc7ort83h+-ebxf{kjrGL`VpciF^O|wjW+mE6GQ#Ie<)z4v!E+Om zqm&EoSnEc?$sbWyzaN-%E3J68Pdm2;wr(Yu=sE}dY!a~N7@j{kVx1G0U9j`6BHlN+ z^Xju262R#IajPNIs#M7^-hs&EbyveM75@mPLzO?gPLo+!(cXm}6;CnS)e;L{O2IX< z?c+)a?-T;Qmyau#pjRnTQmCA=WO@+y&$zRF#euBi<~-hNHc6)x`ZasL&^-1sFw6Mf zz&J3w8a6EC+*ENB2Wf}PYSJIuNiGjNn}@t8*md1*aRMs|(;C+mFYF+XqQtAOT5DsM z#s!cwKoV)X@$+Rs93UqY5r##a&M-XeDiqFNDNzrp6a)J>qscXUfk|%D| zCPWyhG|OaP;nurNEOQH@o7DRQm(FTITiads7cZJ__Ko0>&(*?YM%ZXC`$ja+&8;ns zVur2*_bUjw$7~h-15L%#1dK#9=U;-#v4TbThI(#;{?yVtYxgSuF()lvKJ<wWgQW6 zBZEimcD?wX+f(BLk2OFfxRf6A);VJe7E|Z?l4qmXWrn9)&)jm_?2BXC(hKYyKgGuZ z%p=zV0YPQUi+(`9losgsn`1!hx#-~neFD!&lk8i!N7ik6t_IDqsbAuY#FW70?{CEn z2_f?@*Lo~<`0RWvmBl3#D{@1V&X;?iE^SIHASd2`PJw||{M=^FU0;(o>2R!WuBg4N+qThEoCOTQXW*xh+70Axg z;PK1|Y=E3lG2zf+5S-O#K-G6rmxy(>A>6wYSH)`pfeKp5I@ms5;0Aak+5dGHJ8#$9 zBrNb_3=7+IT7zDDjOQzP<*@HhRs1^9n9w)1b?;9tRrZwUKA|wr6_4LpEDSE)08051 zCgy0R@JwE2yPDUAF(v223g!FRyJtqzx-;){W4aSva`5GI1EV*vuPXJZXHaec@W^um z)cVNAT^ZwGt3rZH4x-WDJG+&V6J$S}MVvLYVb_OchT0QoidBcJdtvhLH76YBC;Qjd za^N2$eLZ~d&GSG6Bg1-D3>Twwedw~Nw5T-34Pr@0$6JM7ZZn-LJyZEXt!rF|Hp^5i zmLnJMT26#$nf2_Ht8b6IYsq_{OCX#sIwd%}aO9#epq7W^^72@GL~!Oa{nq?bE4s=4 z3TcNCIWJ>ReH8C6ZbI#>L`N1*ib%{8u=wHdO)QIz($lk<9K#+|CO}Xxp!56fvIZM} zR$$i1n?x@aevJ4k&+(VTQ#tquUlBYe_r=qtVh1(+5-{N)3|NNHiq%t2*xDr6l~Rp^%eI>@ymx6s~kGm z5$I2*=gBXxo0i@#s=LjMLu1Eny&8MJQMTm;OS#^l%8l*neyMxtNKFNVLP1!LV(MCt zi<(AV{_O|+LdHO=tF>v`Kd04=D}xG15~zPXxKj^orl62=txCNHyDIqZW!3R@6`Q~{ zz&)k#)>Zn#Ktc|NG$_FYR97Mu+UKZy*|CyP`cGVy9(0c67N|^Z9-fPI+>)WocEa0| z_n*t^iB=YW^qkxWGD?|?QBeS=XYOvNsxcm* z!IiQeefY^VbZ;4rdl^xmU@E#z_S z42tx%r7rlQ2Jo#=;VzPhkO>=q31jOx8fk1QDf!)V1+F}f%FrD-*?{Mqo@o*a|Iutz zBwq4j^+wAmD=p_aXK;O#AT+n+JrVpqnXCAZT@!w5>%f$mLk16P?~f_5X1yPhr90_5 zrj881elA3Bj7`BVOrH`JZu*Zz4-%d({N}Voj#%q#ARND)Wx#E44te<^yQzR`XhE*L z_Bm$3i-M`ADM?cAY!206m_fBuh&+0cQ2_a&e!+cN5Wf41Y&!>!o|FBL1lLow_xh#6 zcH(HF$sdn?TQz+D7!*TPC|B{86GdcxF_oVyMngQEmcS>Ph3O+XiJ5Ws?;Dg;ia(4* zvj;ipwG0}Vh%@^#Y@$orw;WR>>%RTFu8Qev(kA@=S?b}^>o4PzqE7N0==-8tL6o^7 zWo=gQD_E`{$$D9LpiAyigynvJJM7llWvKWKZ1;v>i~h5yE>F(JhHcC0q9VP66-kTA zIkDr%Z1L;+;UBul9SB z!J-9L9ke=763B?G{Rc-F^4FU8S&9noX6o#&$J>59E}UF~+445BrBI2XwC$rQSoc<4 zy=}mp4-bXG?M%cEWB3&1x5}Sa*PAJ6zs9{<_YYs;J|=Q(S(3kNrl1h1dpsWHyR~&# zwh1!YJ-#~e3AfF_=eOvDYeOcqnfywZa!&ND-;5ML&uL~<_7s2H>3tJ#ZSv!^wL?|u zEyVitXp=+U(1Evmy4pNreI|~>F5LLHEl{;lHqun}+(D~lcOIN$w^O#o>gENtCLtd< zSr`6v552zpVz#_OU1-f}zrWvsCuE}E_$9GbFTCqbPy4ZAVe~f>5e$=XGmHS-uhBrf zBiAq+e~DYr&x3j8UA78-DF!{Bkn1s`E{5$O0 z8yTTVpy2VXxo!*sU~Btwj@;vCQJ{c;g4J_MTLx1Iq@gJ&q<^?I^IDzCsQM!8E&|=2 zTjW{S5LU$$e@ zB$3LzcqbquhdkFpfsaG$lBE6QDGW>?y%t0~=iniQ#VBOXp{ z^^Dwkm0%}~s(22%B4aRjg}JiLPptSP38m0L&8QLzum=jXVLzjUo9c_`x_ZJ2?#Tw5 z3!W|6&`KTY=%m4}DcBo7wqPskD>s_?&;l8t<+-ehEIPo1EG5VCF_;`U-ggQ}dSWkP ztaaRK{amStsV6ZU%5*&t(I_*sw7tP$dnx6#GE#yI75O%I^9>g+Ol6S-of?ltO(?PP zJ<~s3X}ViqxsMB49_oVC8m-(q3}v_v9#rSZHCB%>mb<5CXliBA=eS0ZadxEVLlvhx z1gf9=ne1~(XXgi7UBB$>V}`ci-btapnh+cFWjr+v(hg@kawnFX&OVQ1yz*Ql%?Q*T zh$#x3epBdmv#)T;_qfqLdOfUv{>Gx}joq;@xvm7(4Du!uk&uwmY*Bws>}P5{F6L6#mPN#UZ0K^mdr7P`0sWX5DEqulo-eD zLG_NDNV()YXk>w-9AJN|>DRCpP=}nM{t{j}+?{j_xk|yWko`7Y6AOOhK`ZIj+ z%DE-glE;FdyHv(ZljJY?!}POKh$NmpdP??TIvZ&LkOT!s3?&Ng=Rf zx9r3xx%|!-y)MJ2WC!T`K0W0{ zi}9o-*C+B_hIvIO7d}m`Om8xjuUWHSw2Ez$58Cq|-ge?Uv#<6PsrIhrHM_sRaEcDs z$+PZ_j**UD@+`Ddz7Cfxz7i$bHK+KB1|E4be9_mKGA0D5X@R~BFTI1`FDzz7bKYzp znRadrS+R;j3yVio&ozeVL*>W*czR{yqx4`nc~aCy{600l{}UIm>+%-st14oQlYRkR zS;AgzfmWwHeHOwja?=VG)CX@js7|Z))sQJ(gNRDkBcDjZs#X*U@l5*xO_m!o>|83i zpmP_?r}YVWWiQch%O&7@UwLK~N;m#HtpEV5@JyCPAt}BEE;=U=9?2~P1}?lB$wM58 ze0G18_54XEd)MJFP+k%~AyVyM%T&soqzPU-DwIFhI&WOk!iRTgKUD$=sl{BeM#V(m zR;JTg7KbIGe&r5$&$I45KM+VcRu0zmwpBZ2qCnHq%S*zzX`6*DM9Fq2?0_BRTid43 z^bCH{MY3XROL|b}VI^V%(iq<5g|%fgGOb_69ob@?APX%d@40OSNUMpX4)m8Arwfxb zO$ZRj8Zu#Q2kU3Op4(XCOXwuU^{9EWCTXtrJi3sB`^o21WjlqeO1tAWs@h71n=osJ zz`8STzcZV1rHM$sVKl(Ql(N^$n6h`VLLc8kwhv@-X4u|PY)dYX$gT8ZuSF{e25Ufh z`DP27TZG5Z(6_N@;qwBQFr*0-YAxIwW+~jeG*2g4h*QJ@6sVPxRL0grrZhFmJkqOk zchv%Y{b15BCr<6HrCX*_Z15fdfWN8m$II`&?0=9{i-iCJkdAHY^HRGoEmH{!>FPA= zi&2@U?>7TI?(0-AE&U6}CgnSE4vN5Os_d! z#}Z#ei?bbruh`_&wZG)3Pu*dk4z*!~+9QuNJ7t?$!9 z^1_fX?+Br4*#x$B`koE#nhjpst($f7O!<{sO#wm3{`Md0VU;|K%jh;FiO6EKVr)P4 z%bC;{%smRG7{?Y$HA{PUG_I#cJdDrVCw)2?v&+FtQ=`qw5P=zxgL6pp-aKmeJ-Vz$ zJc@}gs!ru}(X?EcbSL?gt^ITGhepaVIZu5h%!DcK6g!WNt38(?=vAS|1`}vr|3bqV zjcpWoH(rHe(r5=kp(<@-4^mIt0wfZAM%_~+E!rDPi(fci}t+EgE+NV8fm;=5^oJ2n@5nu z15z|Vp6-q!(I>^<^$}+(UxIiS%3WJ8LQQ@45^O%cvC?t?f8)FeP~aL5^0lLo#UAyt zacGUqIx}mq;QXW)Esq8QoB4z)g*p|#&Uq!vaMYRN^m;je)8U?$aFJL1xV1`AcK0;b zYwzUFFuWyZb*6*S%1;fPKfgzu0QTc-yL=gLGMZ>e*yq3BI8IYfmhcAlE?|kaFcjY> zBzjsBJAeP#CN8$egt0`AOn#YjyDAPf$he1$%SHxcL@BMZ z;}EbdPM4O~L%ZqdiO5*+f>DqNyv%DzV;aonY|uW&BtDsdr1&qbNG@kpTjhJl&D>}k zJ6$Lrj&)|S1w89|>=rx7j#rSb=sSQVC73ZYT*zo*0-!;MwkeGJhJ!U=g*$pZ9I%|^ zZ6KMr+F8ON2WTI_AKFJ-}b)^{>BDs?%vn19!QMnjMHoU)T!VL=13A_kidK!-z~E* z`^6=K*=rjOeX>Su!lTQKr!1iuvh;m6(abUjzg(hnl|`x5k2USQrRu`yRnK|WH#;tQ zs=^#dZ96A)=uTvLmo?Z|ygGe;vAa5H z6-|nj`g&ckb0%DK{Y%%bNF{_P3HU0kq%kR}ag}4e>%IVgH4_>A-oy&i8??UMGznYd@2f9K61iZ(BbPAKP&6im(W-E`2E5REgD} zDO`BBah8(n6G>Fr*;hS#MVCUlXp9ZKw7E`w6MEl#G6-@WC*%+zZb_DAP9c>#xC2 z>16yhz@;I(j%F_($%IUOdd?A@pMde6blNP$mprx3(sQZmD2+3*`3ni~#biUm3jsTX~cSbpJx7IV0u z@~)#0 z)n6a#B7VBml8lQLW4V+}HPUj}hg@@Ji6WK&a!3kx{q%$*Kk7-xUFCM#ox?JmJFX`p zsO|U8Y|nCt!rf}+SCV^01Ftrv#q}UxeZXOTGI6e(zBR!)n@*~33$%Fnd4O;vcaY`x zM1D1M_tB;tJZ(bfu=}z4kpI%np8@TzA?JJekuhU+^t!eZq)FayXCifqch^Un9&Cc) zU^%%VrET@n2o5aXMTo?(KE^~3CPtH@oUvolnnhzvg8N8Ll+Ip#A3JyADNLUYNr zxP)&#%ha`fVN}|@mVBD&cse*&+j(PpMF08i-R_1%K)qP?A>tjM@{L)4^YxXRJ;V23 zst@nc1uBR>fc#hW#MpFLm_97wd9x^1Em=ReGm}x$wGb!uHGe-xzc5&o%uY~+FAKSq zMi&%VMu`KrEWKLrqvcp;(;}nG43J6)oj0E}eUIXZi>2$hKVF>SUTnZ)?Mm@O{6KSD zBfaHZg^QT+vaI;TI3vw8(d+YR$4%FZx9LgiaSQub+*a_riAikXmBr(mV^(+QqfV%| zmpgA*hUv5OrOt!5?ghhg#mce6f~|67$5zD2WuQt`BSY_Z6v7P9cT26ZK{w4pkBN5^afx<%)irV4!VXIIHz}pU$ii%gEk(|Nh7b$?r_PF4?rVFa9ZA%BTa^o>nD~d6yc)u1;ezy@l8LTA50Q#Vi9w+(~kTo-QVRre1MMcMpQ^`)u*ZX9QpVocdJTu_}d|ibf-(rZl0fAId?NX0XgQ&M~%*QcC(AgDsryu}HLA>Voo4Km+H~Tr8#^cXg&(<4PAK3!r^)(_BEv^#5?3Y*1 zjj|-HFmMU2Kt}D#N~swM;SD21&f4vrI6XULLde1SSjDQ?=}lDp#6DaS71GeOjOcxzq-%pH~NTBK#~X};w; zdF%Se*=;yribE)Px%L>2t?xt7}tL3kd=KH|*!>buzm9ATV zD@AKBuQLMF(-rsi$dCD4etq1Kbq9v1vZxpMt;MM)9Y`RvrfFQvXKqRSjqeE~FoN#J ziSS%a=GF#~p8YuG9={_pGL6BRm071I*&LGdsY;Gy-xJcuk z2Z2mq0fFtYpE3D4RDU^D&rS3aV2jl++ne?-EGP8UB#j*vezsvygG{Mbyc>#z{M^&2 zCQM>q9;13{EG-rju9=x5KQ$=EExX13T*SmE_f7f0&3@^UmB`WWc%`AAWFMZ#4$t5( zy@)l07m?iwEVC{zTX1!^cidm;#clVrb>4WOt#93askA)R@_p&BOjR$EqhN3SswDH9 zZd6ldvHSk5cbfv`9^1qRP6(ZxG^0|H@!}k$Ye-=BKvtKvuA~1;-S*8JDA5k9)8z3=5RfnW7VfLx`3FyTf8(jliesLQiXDcwzb*(isny(>^M_6<$$*n3a#KJ)^8}& z@$8yY`po8SnQLT1%Vx7IW@QyAwjA_Zd6M=+?YyBD$CYc!M|7Lgas7SQR{_52SDqq4 zExE4BH=}xOIW1oJi~GXbDX?#?SFcorm;xAP)`VF_}|zboxqffNiF4S6L+Cdc$4%`|2l%IMB7;{5c4*v}k0 zfgXo&5Va&%4Q5s7KqSrgB7e2nInIz#ctbMw1*vk3$J)z2VWM+e*c=Q;`xvhKYMD5r zpMOZ9xXCfOQTBBm>f7+%nKNF$zjie~^CPy8_VI&IH0*nO7vR?FOfCfEWLCdv7VTJy zTj=1r(ry0Gvv56>4sZAM3s`i|!M%>q+|3qIF`79B%iHI8Tjy}}?dG=FK`s_wm~Vd3J>%bi+W7t@{a+L8Oy&d(!@u)A{2VaIZ) zFZ_5@C>pnO?v;*>+%HE+qFoR~VoI`@q9fOJl3eQm17I9w|N%+B*V$(mulz+LKqO z;J5mw^5_c@8vsO}8#4=EaAG(in*jHN)5^SJWPl-;K30-AR)qb~w14h(S+bOG>$27Q zj&}v&a3Xz~Wla3)bh0L91!}Ft-Km6o)h~OUKs|EK`|l&8>!Ur+=d$E0V;_(=&7k~E z5i7Ut)GJO^RQVHLO*eopenF zoMw_$6kFKoV z2j3H>wfj2%6eVwp%+`>bM#pf<9f<@md4xErSCN+@8;1y7O+TSu1p6=-rTI$iJ! z+MF7x=y)TIc#hj(0iQ*O?((Opd}?SNso5Qnw~>HWH$5-NnT_pxdslo8gT`s`Mk-!x!3DzUdn}K94fhScn~(k@-4EL zg;x+vo_xSPDKJ<+=j^i&Fs^29NSh|rjD$rmA>OO{bN=npzxBhZK+o;|*vFGmt-A{y zB?$6+e}6U4!l#Uai%3XpliW}1TA4}N4=&7J=4mdUUN%PEJ4!yMw>=%7X_2o)M}7wM zeVbcNQTIqK2YIQX8cYiuuz-;ArsF-0YVC>|<#1#kYwSA+K@SjP8$1<8c^p z{9f>=axTO-eZQcMLJu5@tphW25WDX3fMLc%Ub9lYCRIdd!P?7DU4&?B$X|T6xG<9B z+vSIb%3jt?9c5X7y*0XS)$SB zF9~sx4PP?PeZ3bHzRcy&`_6&zMXp9rVq4OP2iFu7g>1_Xui<25l1e@B_e`0>#`hkqcKRM6G#+b0--L#$I^%kKuj{k|uU zz;n`@uBdcaJz7+Z*!JbKbF+zp3G+8{;{wU5zwlFw!^83*Oda#Hi+p#w%j7K-a9n!- zR_e}>;b)ocxvJI8=i$q_$8JXrH=Q{H1AC%Ia6h5Wq_FE(q4e3|5wqU_#f&eG#6Wd}c4P&_4 z$d&cIn&w`^kTGNv+oCTR+?>=UK1u8H$zMsBClBft+ltBXK6gLHk~&Qg4JC21+5?IF z?yt&Ki;v_pUS}3#i6gc5%6&@B*!ttd9!POC z(Ed-72u+NC)dXDVqEv-hQRefDV2gkoT@xItcHU(a#sj17LF%C@_3$y$PF=3IZO0mt zXg?sioj$=O)<*7FuVq`3jbv(Se8417d=y?tJK;hDYGzi_n?Qo=rHS4feem)7^8MUc z7F*cU05%GWddFS`aZM`GRw9i_)X;4GVy$bT>g8iUxv9Fuu{A}-sUE0--uC-Bf;akv zk1a=L2#lKFZU$xSX?$ebTd+D=kE>mV&5Xo#o}AtX%(o4dnI?%HCA4pM1z5DjO?rEr zUat4lU*%nwTIS`MoL!}N!J=J$LO08+ zCOF)R@*NxKd#CISKA~X+n=ed{L=z|((*uy#`(CJ=xeCB{#9!Qge~}!^hs=#`RA7y9 zKX|eH6TDVqrl3C*JN#3}{Il5rj9(aUmeE%EmCLWcR1hFeo+eo?I zC^D8uA7nCdycFqK7I7nIF!6~&KO$p{+SIOhIJCnD%qGckSp>#p-YB(z)-ujUi* z!8xExjGFkwa=LBO{;Q_irCk)>w{D_toxoemL+Zv4nx{h_d4#c~@=$2HHZv0!$bymx zb!2;;kZgb`fNID|FI39G$eu6~?sJ$GXZ8KIP~W9fB`k*h)ygxoPq^0Gd=hL06VG(} zOlm_J^7e@KZTPkwf8oCFSKn})5wvz{&E#DazKfBBZ_bA}8;G#5-8jZc-!Jj;7p`57 zDNL79o%vR4Y~R9sje-={2aWgZA@ynR~A2aX_p#6MLdGG4XB3G6DWH)xf)J00k5 z7gSzwHr{!(ir)KNkhadgP*HjOA?^Bi`cRk{TGjQBNmOl%Xo=OvXFk=Yqu^c2t z7HAC3NBuy*)=s#MHj>*}-pP9Re3#_*u)dy>8aDIJ5%@YyD4l4Mxma5F-Pil4Jl~4` zdzAUf>M!1&`FIqMOW(zQJ2q@O@ks(Xj&_5nhFE2OJhd?LoeMrnH;jpqmGJq}GCT;c zCwh*tFVaY#RIH%J+NS-5NhL7^6y}dkvP~f8Y`Au1 z{D(L$qH2!EOxuX(^Ktf!Tf0xH{Ljog@Zxq}?UJ@?#L*n#67k%-_5z>LkeC-r@40I` zOg?|iI`a2xBeovv&Vg@EDjgmjrdL=P<@gO#Ut||1vXyDVxQChjakn|!84-8*c-ONH zh(GpX>56P?Q-3bp(#X`g<V=I}LJPN#38o#grKIyGprOa(T*i=Io!>`4X zA%}kD^%DmhiYVPiX93prfhxea`dQY~Iv~03N8(rrJ(F&dW{Q4NQSCQ%m>$bnV%j|1 z-`1o``Mz2^plcYebXXh^&|z_Vx#3i{H-GB#v6C?S`;JwvX3i*G|Hr+xcxTb`#SZH% zUpp&O!Ghd^;YX)d>gQ~paDfX_>p!*@Pi5Sl&AkOzlBaP)Hp1_T0;WFIHMewMm1ce> z&{(nriJo~5lyO?Gx?ER=D$?MBIU+ZI6>M;gKmtSre_Gv(*3%#DEE&mX&1;Qv|npuuc4&Aynw(HQ4>2=Na?yTEk_E@Miz5uD^I~u65f`$ zVf#QJ_o)U6;jxd=W3J&@K0V|X^hpAzh?itsKa3hLUJ;f74KKbFbiW~fT(wF?^e7c~CHSuS_y^hyD8^3_ct0v-M%e5^y zj4CLgGkbBEFb~w*tx#910*nw+#afl zc-u)-Jn?yA=bKaB92m))+^spQ3&};%a9TgZI?}wXhI#b$5aa!r)1i>tA>mdlrt|u- zn;*Utb4;VZh1S^Q(hQ#mt@D~7v5cf!>8kdXpjX_!iiVwSe zVj=~$dhbJA_3;EmMvj<+^HTEpESy&Nc3y7;WUyL&J?5IXTJ?i3_f*CD1_zfn1tcJZ zB8C-ZTOUo-R;Wv^bFvnL_}SrSRJTTz*vqg!W#d$#Pnqi){sAK+eth@QkVRi>=k}p2 zg&@%@4$Uk6xc(oNrYmkYBBH{}L8L+lrc6CNS8E$X`QGbXp3)OylZW~Cq74hiH!Id3 zW2T7))%^!}r!QqP zoloVS;aO@Z-AU;mJLE+1x1M8Mk=)v@HgGnRi6_X z?iW3dh;$VKv77L9UY%`e(30Yy0Vo}VUW&yi8dPqTR`XU~lbq8ehjraQBahvcQQdT| z`M7({hZu{_WG+T)_~tMrr?`aOng}@Rl-bPT13bc_x+|X5K?m*G6YyP^_Dz~t&Dj$5 zt=pazUze9F?#;?ePSNTgPX#9rp59`f{Tz!F4XmQ39!bvn35q8<07b+NFMK?099g$} zgj~EU0@si_o-h{8cJ$_P9sVFNoZ?gNI5>_|#GJY=;%~KdvOnAXCyvVlyOJ~s8`xcb zI+?~%pH_^D=oCrQuUet}W#a^ix(*~#hy4Vwu*8$4s7Zk*uoI+IF^s}8(%&)ljH!q&P1K|Klh}}gw zv76qVRU#}XgR(u+!@SzA3Jr4?_JdiVbWEE#^Zx?RKrp|PWn?c|!d`K3#^j`r5$B)z!u%O_<*F8?~3-goDd-vds#^GW(a~rJqs<<>jt?-k_2H^NBJ| z@%##YGvDf+&rGLDVv@ChoCK(Go6pDkcCL*3y#4sexX(Eqv-bY}+52ope*7`~Io=Nc z)6&~OK843c=8riQ-QDcR+t;^Gi?Ka;?9WrANMhKT-dP^g6gv)haxP=~`k?Onz-BXD zt*P3Veq>et3xn_@NGhdDRhM65*tVA8HRhEZ2rDG(s{}xxSO5UVl5K(g`kG(LPBy5L zQYG(yJ}$dNXO=H)TLYimv%>;x1;+M)0KvO#F4i4Sfqjv&a{vK~Q(o6vJDji`xe=(F zIU6WL0ssiGU%S=&1_&jf5dcqTXHx(Gz*+$S00000hnP`M0{{R3G`qGyVgE}1PybH; zMgLI$L^(J(O;1q&QaL;~JWoMW|5^V`|6KoS|4RQ^|5*Q4|5yJ||5E=;|4{!>|5N{C z|6TuJ|3v>y|6%`R|3?2=|6BiA|5E>2|5^W0|3d#!|5^WB|63l-PEiJk`9g+vn%#_! zO5uFEayIjQ&Iy7Hj{UP_Z$}+&JKdJ33@$PF7?Oqx*TGu4t8?1i=2UO?O1u13&4&+Z zTC-mMz4X-ou>NNL`@Wd=>dObIr(5^z@Bg#x<2ld#>+b$3x3M3*eLA-_@Bg2i-EjJA zpM5T^rcEbL=Ba!pYsB0Ind4RVWB;8Gw|+dM^s~*H13JSqbsDm|=$U7$dB&sjR4hFevo@A|K@OsevJ1bPf0BqimHb0~l@SirkjX(8DrXB#js>V}UW?@|bH002mfzk+;x7ge@G zgO~yS%yv>o7HXT^ch+>#>?lQ=JL5%PdGAvvL(o~?UK?14_S~7L_mQCi!coNvhoO3# zGAg8&g49iO=XGgnXYaGBHgvFBn{1BUy!dWC((0)@(_DLGO1+RjnlC>-zrKDxxxc>c z34SwoEnf}0_PhIG*LW8shi*RB60B<@P{x#zD`)}e}bIWhnsfdHfDlIFHg zg3$cT&uY`;_kS!SP)U5m)JndSeg8>!CUf6dSP zuO!!R`?r4xXP5KeOt*Ylzj?=nwm8o87;jJyXNA|%v~wBQ`FT!lF-jN8IDxpJ#9*%s*?OBHXtMb>wBk)gU>__ zJ8A17^>Q}WFHG?ev$a_VK zdTYM-{_*qo1PVPm971S&cm0K$O0F6yNma_kyCJ0e>T!Kt;T(j*b)ouuy!QJ^C2jv_ zNu{bPDov@kO8xa-H7yr+)+EnJ6Y3NJhORU1x%&XB7z7~V+klk7X3p04Y-lz zAN7@W3&5VtHd+Q{P%+aLvkenLI>?y#{r~{%{W!ey&6=-fFiy|jvkXFb2@XS5WvYz= z0Pv%8FKuV9=bRHRED;bw0f@Sbr%5 zyuJRpZXf^Y_W7ybe?9;GHeX%khi;&=vR?z0kSk=ypXE+k?6s?6nCI`Y$5i{r^@DsH z;;($;?tRY~zYLD!sD*LO1)T#m5eGejsehq`KMfmYQ5yiJXr9q{hRWq3yK}-G?wm*;+?R|c8`+2j0{{wKy=66E zEjAJW1o3RL0uV-ER$X~D4M4KuR|-Pg=`-pIDs1&WL)|)&p^sJh@9iASqv5MLJ>Ky9 zeTa*I15C?AL>!X<7|Zh0pX&JX5Fd!8Jm}>18vsRCUuDkq>&qv<0(3g*+{q=Ys+9I^}}2LpI_dN=Id?YQ~$7-kMs60@AbCH z&foGS3!#YzLUAh4}$`YyZ9>JG$4R;VnY?C z_&&2bv(KnaDJjT>R(y3(rPM_Y^UFVLkNLLG=UqCkb;?af5Bn;@!ZzzB* z;qOYj9e=cfO1=O3t%^b_QB@1I8dC0&^TbyCia&2jjRg*qHb7-)IG;* zrNCJupxIbm@B6h{xQo<=Qu4TZxW_El?ke6+I}qCQtIltsDi%TG&-zu_0CZtw0E}an z>EHu2PzB%<0?xWtT>O+MOg%GRnrnMx)|bC;Z)ayu*4fMG)cP`BPq;tQCbpuL4wPZ$ zLhU$a7!3Xc;JAYV8xP>`NMq)AEO!U{-<|&S>+=_$J?eQ?@h(Zt;m@*-X4h&R@|ImD z8JuHq(NtGvn3>57u;ex)Fn^L{U|#FtZ(MEbuUkLw*CcI6_HX>=sSnqSALERV@^hh4 z+W4gYSE)){VC&T@s`e?Nrsmans(y)z;{%jqQJx9Pvd9ma7huU~I$)82SMgh#soC}Q z?gzcKi z418k(lnBclI7~jk5+crzVDN2$IlIAvs;)YVh?*isZTMYJK5QPI==j+FJIQi2wdMI6 zWk1~imY3R}^#np@dfv~!{>xL9Jev0cYK#4a0kX>$hDKV(g$(U3TVmJ|Nnp*LMqb}9 z0KoCEgPpeO^q-Nvkv%!VhMcT0R#mM@83MLw{WlKY=dYxu{=N*26_NYqWjK z2)Wg_>b&D${+K%SjbHzDYV=22>T>C;@wA>6{pkIX?$LvM_I&nV4}Z;i8smbq@b=~N z_`KNbSpsAw>a;<151%YF_581u>nVP|?YBM8yw#`s{_p)&!#w;m3Z6OU9QR&pXWqxK zAH6TSLqyR)MI`xUNR_V(s*+RLy*QQoJZJAk@9#gJnuWL@n$0EtkBk7~Y zV-oQZ!OQ_{V{D^-EQ65YCjd)=3<3C+0z9F8!kLF=M!~RCRqge7eww0}H+#;X=lMmJ zY)JcGYO_lv-ZH^Y(VqZ(VQ$2Wk7GEcAAqQk0%vmphb{hE_!8__1FhSI-?^Pko`jL# z_cv9Qcvp$5lJ>uNa7<=yO8|UhWJ!c&f{=ayh%iVZ0H(hLNI$1V=B9%iA9;p_=hY+!l&|tGc&JeFc3 zvKQYfw0bfpfB)pg)Gm(l{r-8}&(*^{&F_^o?@3ho4S{WVj(W+OYE#c`7dnC<^n1P( z5R_$Bg?ua%mKL|Djn>GB$uJA_*UIDW{ru{ut%j@nd90Xh+rFl)-dde9U>HT>& zR8)QQv+s>5QwFDujsjFurVCGhqA-Ox;pYY0|7F~y`LYZmfyZ2-HBK${FjLO{_r`MP zT7630{FHzHIKPq)_|R6^Ce2f$ezjG-O_EgFUsV&XOO^Z^`nRU}|39QG0h-CpWC-Zu zrabi6(q(dkESHjy_=^C#Z!0hNUgL-U{nz&4>7QTC4*T%tSeDrvm+$;_on-7n?On;x z(IpI3T>TbnWSX;5zHRvTnJLfF%>MfBgl|SU2vI+OxX51mgrT?jw2&|Nel^W~elTa> zT~3pA{QhcJ$8(ygQBg}PX2t<~GkyPL?p^s}@BZp~%DDuL4>XPDHqN{m{PW>{&i(m; zn=IDZ+?s@2f0*aY?PHNWPoXc?mv+a->(RLr3&)u5dyaeN`n~^9=S_Ck2|F=g<^60P z+n6J_DQD1AmiT5{S~YHLiV+ekOa37wq2{!b_oS^9AOnKH;WvL1ne*7%qDnCglc1_p zydA^TwsMVuG+ z?_1IbU>^Sn0CsNuDgZHR{qZjq2*O$a0Dc-q84`k*@vve*pRHgrgZdGWwh}<|2aG+& zh^PDI=je!!UT5UU98t*0rlYFD)zIYZ*K=}n{z@jL<@M_D;j$^(InUkO-kBp0*T1{m zK66_XZXK5W_n&Vb-WgA~*YTaAAg8Fr)D#_*^@e7xig{}hVI<8M@o2s@dCDO87|8I7l}6wOJf+J zj8CPyB^K{#zmWw^B)BTWz5m{@7ES z1{a|v7dWYep@K#M0e0n7VBNYL-}*TK%m;ydyVPi10iQJnbo-A1Fc?4_e#+%D0Mq5- zEOL&fh}>%pW1CAzWIptu)IC(k!uz4&+{Ky2Q?k&#q#;>}SW`(w630R=f7R>#r)6XO z^ZxzFYQtIoXW^+gt}U!eDUd@U$$T2w}d>iOIukucG_I8ChQ{{kou&Dr>3Z+3bqo&hX?@DvIDo$ z1p~D7cK|>RLw&d3AKybs*dPg`04w+twlM&{+9d-5!WWYsGtHx4GDnhiUdF=B9~>zgZwOTqZC@ule3 z=Ld^a(Vg*!GGz{Z#_vD9embvdFP}K}es~}IeA&~S<^Ut5rrIyHlU+%9?r-O0)i9OG zvfpGjJG+s-K$^n_fEhYNuTO+gS9jYGBvC7A5_*cP5%Y0OXS)3Ct9y<0)%w)MoNl9j z{Iz=OY<+XHclMdLt*Sm!swyog@&v!X4=sOp1KS$5efNMQB1r&Pw%LHw&`T>-uzH5= zplSKHS^yFVJvg`xEl%umDRq(G)~1XC#J7C2#p86#N5~e=1hpJj6npeG~O#=S&q>EY88v6VM zI@K;!PYOtZJXRo3UXPS0tj9ZvRerhVq~?f&KV^K~BgF&C?sIA(4meRFE5G;2=J zw5X3VnicQg^81syKe?3AJMp6AJnrj46172FT2*JPvloB8dE95`Of&{A<33FPyG2p- z>CMBQFy{C*&papnhvUsldsb^)469$3yv{(UrOI5X8f0VHb`bN!Qfk`*$#(p3rQC~y zdyRv=LH_Pm5~-5ckPvzPs7oZx6$~E+fKaH9BvpZ^k{AC=^IDa4+W$VKsajwA z7Z#5k{;Eh&Q~`_g#hAjNw6i7xy8w+G8d(}8EGHCc+eZVMPmBt1RvyY#GXO$w+9KnW z&}V8DDLfz^3TsCLS$kJJ!1cJxjm|!7SJ`~q`$H4Vq4>+T1G{~OF> z3i)y!zMium#^23wyS+aD<@C+5&wu@?&T+HdFrQrW6;)=s-t0SP*9bRWjkCvXKlgd; zzFpaMW{umuNwnMmIdwWoqqEth^1eOIUsXWWMH@1%9H4oU4J1R&xz>AQY&Q>k_3aqj z95U<%&NG;&qB{9DFyq zdtkc+N~Lv7XL7Mp-Gt(gas;X_0N&b#90HXe<8tZDbg5pT62Txhz0O4U4WzZMjDG#Y z&*t+Xe%!-eBCf_$5a7u1iIFk7G5Rzl7m0PyK*}pp;fp_W9Y3C-R%o0vsz!gZPdRXg zg_&i0`l4bWA?-%I6or=90LEci)rBY?aet~ZeQ;GPxI#H@B05g zEY2MJ40F~4Bmj_qDC>KcBo&Kcm^=@A8)*9M6A$HCIn&k@BPEkC??IL9u3hi0-1Zrr zIl`VC?yQ9M)ZEQ6lr-;uE*5VYS+uotb*o#>USGSk&%bsVHB1JgD`gPaFFLkshcL2b zd!?P<0ol=GV+@-siZDu5@{_tG#Fh*W5T7|AEF%LT{MxLCHs{+Xlec zuZ&6nDXQwPeyD>Y831}e$xi_Qr2ZRcp)%H{rVE&zA#eyH^W|qcli^_s8w3Eb^=6O( zK3jzt0kuHxv+dfpS`kTt(3?$%iT}Y}zX$RT{ElbSB^$k0$zeDpl~g5Si1|va&6}rt z*B@uc>|Xp``^4p)fz7eJg~7|l&C>eYpFSG2aXI2VFK+*%yq*54&70P{N=xPS*B{%B zTlt-vPmc;s4?bS^e15&pU50ZsWNZm@dS|GMaQs{Y!xS_>b@jjNR=S;UTd#YL+kGEX z!1?#?Ou9Rx1eE!dyLcOWxH>hqS@)x1e(oLKZf}Q~lis=ei(6LaFPrfo^t9`@cXLeU z$^DKYr-THnan-};-@OIZPr0s+dvW7!LpT73RMIwoel%5)QV^;t&nZPkrIdBs{PwCp zf$EJ4;Wz|@exc&el}QT))`7#|n}d+W%1e4;ymqVr^7A<$g6tvLQS)|@8)#*9`A$O#cr5i!Hg&v470-__Xiy{yHb=B(DjR zYmOstdvD#ACBT5$!XS^y(D5MAu2|?shbR?%+qN(u;q+GICuS+YF55Z?00L*-t(;?+ z0OF6oQYr;rS|tJnnw*SFAK5y;QY++DaCp}RQ^pWGzFpKr~)GEkog+gV3KE;mU-Gw(xpxVRQ*R&C7+(wpX*adl~lDL zgQ@yo8-O4)#+{rPVM7a}k3O5@fenCUneY1Z%?6%2C3p^88)va#&0EDHm4winv+B{P zY3FRk1Kv|gGP11w0i;A|tqNDC@HjYD?EM(mJB^jb9eIcX!uJLc%hxJdk&(e0K#f zm6>^F4P&)9wYu+XW{UoahInUY0<&?0KP*YBAD5YX)UUq&<8jt5ec#XFGdBUo*!DNA zHeie`{fuyZtZq4jeeA{lOBNVF!q$Z)iB%M9;PtiQ_Mu3rr>}+jsHDcFZ>Xw%Dj%t; z$EVjMgjW-5Je+b?RbV`do-aWl1W;ORs+-nYqYAKR*q7M)%CZGQ2tYFefB{Rg-@i#R z2mk?|Syl2Dw%N{nk>P!%RHRs#DGuYqiiPzP?5mw)jGmW|zh>e1A(%tm1r#`DSu%5` z@X+a^!c}z%!)V?V?A3-hpI*t~oBe!SG@%PowV6KM)}||yXfyWybCGjy{`mU%85$RDy2u}Enbse! ze|JBVPOpXbFY%yt_p~!hT?mFVgLI+GH_4dVi0;M>axQAB67$ zGz8#w@ZcK2X|D}9Vh&j0Hz3r$0bYtlfr@NAoXeH7K_P`+sTYSJFn%0ox4|Z4NrYl z7mbqv)+BPB5h~}{^Ne>^w4TXi3WiQo6jJz?CA{WSJ@LW0Y;3>?W3X2lV?vd;AvhwK z_dsAkHUf-NNU6Vh&0`0aEn$I?*FwEDGC`DIZHm;T8X1`I*pe;Tddx={OHi^F7gl)? znu`Ko!9#tCf}p?tP9_w6a1Ds63aWsF9oXL_05EKTdPU<5fB}8+KXnrUzKX?)0%c$J zOBdknM!952BqZcs0eTNs9mS^>#N8N>WtXTi+Ddk7!nvvlHXP33Dy*ry<3sc~V$6+4 zYL`3FMKmyb=FF(OuH?J9so~sjE(=??M+j10E(s?)ik=Q13~z{hoqQ>`f5_9tc{opt z+@7*e)42U{$34(9dA@a_?x_=jgzA72rqqv|bG&}e<6r8zjpmufot&B}n{2OJoyzk) z?hlU(C~6jl?95~mj=S}5?faIa{I>wApg+B`Oi(+%|`^~YaPkV=)RD5~;%3W51x5W>3W zH9iHY()+1Jsg&zRY$OAgo*%Z1Yyjg`vT)Wlx_p-nAV7eC&%G3ICLWhMLaa?sj;|f; z+p+By*ck#NE(p*vg2gC)8U?%x*qyl$;B7y%Tu8P}LfS)@Bd*O4#o&|Xzi*niIxV%t zfgwlRS|*(uQ&r*3jCY6Kr^D*ibq?|5$1msF;q}yt+niqTz3LEUoq#8_GC8eLBQ32x zn9nNRmCU)6)a}0YCT*_lhx=!>&UjPy#{K!$AN$^0pKmi?Wlz1gT&7mWXUAx@tasex z{JQ`Bx;tF7JjD7<&pxjoubPiBU*Fz%n-btF0U#?6sb?mW`3Mr7ZWwSsM{~Plj&t1K zzJ@xto#!#eG2%X7Ke7kY%{lJq)Y)K2zJVaQl(&B*^|`8-=3s?YP;LCVX z`S%Z1i0~sK%?^c;K!|hSfN~)Yz~-Avj4>gXeZLyabo3$!0t6tx2I|(s-OePCWT0e( zYfpqYOnB!T?&pi=lk*04v1NAFGd=5rDnMVi0A?7l0OZ@xU!Knc44(Rg$bzto`5`w1 z^!vP$HV?(eyeyF*dY{gG%RkDUtGU(`%Z4mZ8G|xQdu(es%^*+%LavJMpxd8UdyGfl zH3ttqHhdIYPJ3UwFYS8{;z})20TBflpXqG#)B0ju=A?O07W;qr_VBRZnr?1d$#=Eg z!>&)}K6sxBvE$VhaGbOV^Gm8n|uzQOj3d634 znpZV3&rp*}FRX?AYz3ABN!SLAY*VQutq@)@|IN1!7m*MDe@FRIId6C3Yw$_pN z$B%St)k%8#f8R>lOI{73rv$eWRX{~Vb;*des`&U$(A|XFnFA40~?wT6^uc(LV@jiPArpbEx z^W>(7_!eQ0b5;k&ZL#uH9~D<#OTkPQ1JgAm4LvKv^e9EsRj2-pIqGzRz4zU?x0k0= zXOCAicc3U@Hwn2ez?RlO7;FH*+>(GuJT5sy|F^|=fdLUoe=*dtS=*y$!0=5nzNmzv z<5O|*JGeqUeRrz-@7w=Cq0DAeFgRuP`tPehk`x8ZHCsgxVE&AVvbQv(-%pYd0MODZ z02suZ0tD=MQdLP4iS|D}Iz^lXZV%;QX-tB@6iX-ssCg+Yfri@K=O?gYJY?7RFKciH znn#|@SY|e+;hq{>F9A%kp-wwa6qRxfzu{!@|MZ?l?s9N#@|b9ocisg+#1K`1?X3rI zPgrc#v_GAa**s{R-%2S1N8XjE^#nPOVdJ z#bNd0)&LP*)kC#5$E<2sDf0xBp6Oy%paGya2=bmK4A+d$on7vEAj%#y6nO#US~Eo_ zotcb#{WO_(QUHam_uj?c;~bm`p(DZv356OEPK8qV-$^jZESAQ>Z&bOQ)(kN|(yo>04xlkXS9!MD@`yIIM50Z2RGla0gwU6QAr#B){g{WFxcO1V+Ejv zrwSe_1-1=tCiCTzq06-L85=quQ`Thr@VIP8mc#}IDs5=3d2TDBx&0Z6-Zf-)R zlTsps>M9E+j84ngj=AUK_}N}H{rnZ*8LY}*F>=-l-ID{!jEHh_ zit}RKbIT3rKso{QDwM2qer-Xp^#%g~2mo2D>hUi2qXd>Ml7BiTEexcu;r#^W6w&3b zLqY~4u(iq-0Fk#)1_OpmMuDKG`^pwq|3wJ^HJNFEWt!|LFaQAffp$>@0)P%FGRyvG z`CLml<>Kf1Z7KlU2YxEWgbl8X_Hbe5-;|PB8@jzIFCChYdw)8H$DdZyk85?c>(S~* zI59>`nK>I_*;+|?up+VG#ndtO=^gA{o5a<5;?&03()Ehd8{c*GR;~*O&XQT}W$9Pv zY4oYs%*+!vCsY4gD$h5?Qi;ObW}KPE>KRYB(|s83E`68!^S-k<^3`}d&sFRhY?*C8 zN0$f6fg0Tn1ue~f&U((YtlY{IxkApUCW7f1-O!b6l1>3($-9}vLvizK8wy(8IP7)c z^M?Cbnt&N{2d{}^pP`yshjry=Q79^TE(L%S5%Vv=BFQjB`>=!5B2>k>i;hU0;c-6UG>}CO0UkO9yb5j}#)m~VlJ+*GWJU#- zAM>)xCfDwvrtod=cP)oFnQ;VQ^jxO3FJWL6)WGGP8$=SOwXl4;{!+Ad{`5Pl?c??N zn#Ly!y}vv6FSc<%x6lgy=04j%_Mx8<5kW;IHZ&&)k8|zr2ivu&KF^x9nO^=j?@-s~ z=XO^v)4>`1*_^DyzeHA>e=PrbsB}B$9z%MAnJ4*OQAL_dZ$l?|s!lhMzy2~-{FrM$ zo;mj2nNRN*RiF0w=Xu;G9yX|sb83=GT*c1aIRNL!yTx6gN#@Fv+OGCPm{aNiWKd5} z0rF!ZD}BVzHfC|;i#yn@e}IbcE0uzQ0+cFh73mwsmO#=6V@nu&^->ZfE0m43A^-ru zyg*}TVr$?ofeP}`uj8}%>~+zgs}|TY0Le!T8n`4u0EsH3@~a7DSwGn}7)0PpIXE}^ zID#6;MvpNDjL2XBD*j6Vz*z4>23~pB~BPlNrjseVukr?Z>?a@vw07%o{it{pI+^>4b`iw%c(=Q z?>u}gETPM$=&bKL;+32IEj;fzwde;Ndl*mueZG8uxc|5tx2pg4r~8dM(*RV=&^akR z)R%GVALi>hxAB1-CvWa9U~xbDYya_0-N&Nt`#NFuvSpdWw0G*ZT5ax+9&cZ~na1O! z$;a6@09Fq7$Foi5zyI#n?SR^Cy6*?jrCI*#ew)tuG;St9r4c{~RY^VypJJI*UE9jj z&%Y&-lt3f>tWP0*0}Np4*;w}=>s(kevh>B0ZNLBmAr>PAgAiW^Kwwvo6fFc&`2Hdi zgz!}8u%nXvTL2vK>Ol~Q*L=AH52d@cBHr}=D|<)RAF!ZWw%fZ& zTe=+H`;A4Ucma>kv`5oE^Wn1M?f%9zrRMteNf`fH*KQT$cI%nx;Z$00g$?aA`f{9C zZV#%)4@p+e6lYegCu@5B*?t;1r_|-p+m$VMHq6VI>?yrtZPvJ-FS~Z;+;*X6*S^vu z>%jJQb4=#H-_LyWD|^eHpKfLS_yK(zv*wpR9F) zjV@Q0!n&Q#D2!g#x>_LQ%*R?4PAC^P9E%LH)nWNr{`;3h`-Nrfd@$!|eEfNH{_3Ak z8s45NX z#NJHZYw|EQS7*?jbKJ+?rh9J{5+!*7y{0%UUk6Oh@4cq;x)`?kCQsRq4~54i#YhN1 zlCUos&d$kf%D(}|Sg=I?$od-*0W$9b_9A1DYo>nNdYN3p$YOkcwa&iyQutbtDxC3w zBI@zif1kKBq+sJZ+EgMt+dA9R^oi3ep<*0t^@0RD!8jZB?t@lopv;|X2_SH>m z!D|M5=tUj`L{&s}CA~bV%{hzqL{(I0D+=Fw@PYlCOCB71@nG`)t-BsuUG}}%98Bla zJnk%lqtCpy_ULJU=PU)RY2?<6eN#<#H3D^e8f)9!<}qt+3gElp9x7{!vbNJ3luk>2 zrU-{cx1lFbV{Y4KRCt%Q-Ue@WAUFJ1DOc=|8}sh-d6+*FvKoYblEJp&u|o%v2!CF; zx*%eLK>`3!Y$VHHNnk+sdnK#&X|+z(s)S z*h!xM2q36dgz4$uG=Pw^%Lsb*Kap)2TMDr79D)@A6a*mqJ4gav+7v8<5N2BDrv>;k zr%(yN&C7gQFfQEu;O;!H|2};|u`1^kAn7;)Q1(8nHMkP+DO^rKasoyxo^EL;FP#sa zjJ)3L<%Nxz!rKWx_*1-Q@v>oVPUTec#H99b4>>#C|er?bAu=y}LvSH7KZEvaL77=P9e_4(wks$FiVF-+&x8^hHfIN>Ry zmOHy{7=S?5zAEh(NEHPkNCLp%zr^-Wkol*izUKWkKaskhfSONk=^W$8H;zQt2g)gTJf3GDf%bE0`y^0%|Ql_{4A@5dQ@=t}?j=1>uQ z88fC{o5$my8CVob&=2Roe=Pg*qHHz3K7a0SU%ooLu%^^Dtz?`x=Viz6+(}UCeCTMV zGppK~X1^^zkMg!hH8a#WB0C?tM>8a9J4I76bSR$pkbB+VlQ+c%PioD|Jm=9qqt1J< z7yq}}Gxz=D=TuKq;Nkz7JnN;%i87f(HRu&s)|cfceC+X4uDBZSuYvP@osSoT5;tIF z0u>*ar|PxQmOizQqa}eCp2$Ac^DaBepxn{!P{@!fz^&3gY2}b zd?ZK&fJ1@$kEY8z4rS`%C1k*~{Z*57Hqo;T=-clv3kmuLm;r(1=cf`9p2_4C3ra5L z3*b#MIn@TYH}e5-Kf&g~Wh}qOiU&2A!=FaBCHt&$_@Xst#fpRtg{raeG3c=N8TN}a zI6nSdUWNbLYQ=i-vA+7l>4}Ky?U%k3+bemwl{dZi@oY}zgO)m|PmvpL7FSxH=IMZ5 zns4{}bno|ns{3s`7@gbg7yjpq=`@+Sefd;1x%i$vw|8xw{jeYQ8TER9eEK{Oee~pX z^;T1!)}^?>G==m<(RQq1bVCXToUO2dyYEO_jx~nkEY44^lvyD zQBdlgPNC3YtZ&l0P=CHyb)~$$C6A>Vj4u*ft47|=8Ft;aUkU>Nen*yMU3m2OKb0e6 zb4eHg)^`t0&2TbzO!vCB{)i-{_y6iwaMA!I%Ybho3+O0?6yK+zL@wIO_->JRa*`0I#y4?79 z6uB6if{5l||fo+N>WALNEJsLgRG z%zm7|_CNNSJ8=%6DGv}91@k}WFz@%bhdnZFhTLhqO;6=q{r}yDId2nYh}eTY3{Qnf z>SwA-*EnahkFu=~U;w#E>RsB(_xcfzZwH`VK+%L%qFiVSWXo{*^@qB}^P-MGwgmVm z5JWyPU<*(lq=O;|1eWXifY{nW2Jiw{$gO^gm|GBl0R*hN1jqn@&p{gE12zHx5MV!T zK!DaA4<6^-09b(h01&l-&`?@25CC*@@jBjx!)<#hWjTF1C8qKka|+j>gi5tAvhv~h z`seZf?=fr+J7(C(TaORD=eK{kviDzaa`yPmKmU>5vH1V}ubofdtFL}oY1v|`=YA)1 zl-IXB)|ZbGS^~Xz_}-feR(?f-q@#P zB$6v*JfDVf+jCD&^ZdHXUObm+ycg6>u5|z>l|Wn#4ZX1jI&*htOr|twrGNE&2j5R` zZ5g<82RVEhV*^;013;HIfBgp^RO8xjkhWwj|0Ll~7cHS~p$`}UNk1TD97;xTE_xVy z+q${n>lMHqMi)pb(WLwTCzV~+F~)%fC<1IwpV$BZporOEh(fVdyI(z` zw`GqSNk$kt#4Iu+uh{fk1SS4UKp+O>*+Obx0e;6E)PVquouEWG-8kkj9SDG1Zf^j- ziF(WzM9lx)<>$L+FTGtqAFvAis-beyKn#f>7=`ig*L^hUobg=d@w0|7peT?*vWTdt zDk`kriqd-P7c}+T?a!BY-Mh%W!ghT>r(FbX=QjS{oE5WvEI#Is_H}q&H|zKB>#XNn z(%b_$YcUzLXfr4<2zqxi#k%=)4TPFkGTxpYvyKsmEAzW3`eiZ=C3OkvWr}G;A3w&+ z`!w^@Uyn7$uo!tf{W*ln2?-rna(w)8vWMF_|BWQ)mLZds%Zpsn)Fd~^wh{LESR#pP z@@bjuX6lKUtA|`(d^>)Y>hi=MqCvefUsFza$a84Q?8IY@p zr0VNqRjEXRgpDysJl6WIkFtdfqB#yP0RcB`XQ0IafUv&t1p;2j9A<0*2s!|~JLrJn z1;EklZp4mx_$FS*ShgWne|z&WP9K!9EbBACD)4|}bYC6FnH_r5Xaz`nvbcS@~gW|JXy(ci;7BzeQ0m9K7Yh zDh4k1&w870Ue2|}ZqLY^7N6c%a6u{S1}6Q3(sM2iHu{x%y}=i^+h35`MFK);TEWebJYNjcm9spD+qoGJ zu{arjpSKMtZvX_4Hr+80QB^-fVoB`6(CSHrhj);SFd$^vQuqa6%v_u$>R@>^)k>ci+D=$1wchqRYX7J zr~a-@xnH}rV@*rX@!l-T(^Rs;W<1c^RD%7!z22-@XXNpgzZ|*&DzL*eWxzxX#Y_%G zYaf_R5>ow4^Os*A|Axu^h034-3D(DukZNo z_WHUoF_$@K@=ShuRNU|0IaqRr3;@tcN>?Nl^#w@*@2RNzw?*F#y>vKS8}6QgN|4}z zp9R>!9a;P9z(#Wo0)&LY^waSxmo`;`y?fJ$q`+XetpTaE+* zFh;HM0S*LVpcl}iKANGA{aqFY05vd1`jd?T0CLIz>?Z&L41n}*i~ycy+>mAj;L$Vy zXycNDCKNzN^MHx~{1dN6dS=jy|HAe2X_OdcJ7#BrHzkvlAmmIEe#+!AKb@xE0eb_T zMLU@1JpFX~Z1tT@ukZLITx-!&M`H2Sfh#9d^-YFR&pKc1hjDiL^WpW@`FlNb(ZbYzU`a0)FX2k`^z}%{h#heWOB~Xu@Q&NvgGmQ zj_t>{2ibp@e=C867H7im0AM+Zuy~UY2mqvyA)Va?cmo3f`WdOJR6ga)QRsRJ@ATZJ*WPD42>`=b#9i(b02mrUYEidp&F%byB#yEBW6xe+CD6o1NiwHFgkS{VCn0S8Qa73EelPYWch}wCS!gY@x&4EUy{J3x zB#cKq?&a=EcK0BUC)&)#I8T)l9#3wzKX<*E8Y7P_PbNF`La}taQ31pVipnZr_?A1< zxMzP=qT~UfcNd<=7%wiL;egIY#oC!QYA6NhneneWtL6H0=%l_N^J}#i!+p+CoEMtm zB(vxL@HPC&Uk_c;7-Gl7n&4RUyIN3yDFXn1gpngz#%Hdb%X;eYp+F=48I8jCc+w-^ zembl-A3PmRNgGj3)&Embex*|36%NhXXke^z|6=!~OuqtauaS`Svw2vbO(H)FN(I12 zrIIKgO82|t`tSALB%r`|j#M;-|C*mA>JI<{z+l?|fEO&pk64mSpfk5jmOsX_3;=Kh zkip;N@A@)NXJ=CY0Kf_Y000000Ed`SPXqt}0QH@2%2@wt|7ibH|3Uvo|3v>r|3v>* z|3Lpx|4si@|49E;|4jc#|5N`?|4#o)|5^V(|49E$|3&{-|49El|3d#w|4;u(|3v>m z|3Uvj|49Ex|4RQk|2_Xs|3W^O95S{5lFJ<=;Co9BGnN3dwGRlu7xX9b$Qm;Ih5Wcj ziM3NyRj;!@05R%u zC)X}H^Vb)j)i&Su{9LUWZVLE%6I5z{So0*2I|ao)#ydAQ$aJ8z?UNo$4ry=f+T*_A z>uruR?lIrjJ!S{NlkzW9SX#(me4&h~nNhu7Jly1Yb zK`Gn1N9fHM#gBB0K*&fsbR_G`0YZRu@T=5wU#e2gw=HZ--w{X#BbucPjqEe2MTx2; zPgN-eR>dP5kiKk_p0@2`{agURKD1SSoS>+@`nQOUB>`9f*1obWBmD7PU^ECwp86L- zdba~?&>3`RSQ=mh5CHzh9L_8O82N&vLf6(D6t)07@@cVxSTmX*;6Ij6+}A&UzCbUr z*lu^*WICxWNidU!2!aV9-1@Q&!FSH-*XLic&D$~CG7`JB?47x@*Xc9$l}XS0H~MMG z2j}^^$G;3XEp1L~siw7?`~P?O)gS+OJez)&oXJ8|X@J+`)x=<5d*c>J&>b1&3O$taVg)~Wm#2_)x2S@dOpzltgM8Cr9SjA-AT_;SX1H7>^E z=y){!`bXZ~r}4es#-m9d`9$W%(p$asneY#TaW0w6eg~%U!-o7rK`I_g{vrj&P?3Ar z(!YQa^+#3YsX%BWM+hX+iVXh>03e6&!V&>>V}mV8sPx{9dH@h3eQZNf-bKJzqsTba zx3(#k`x4a!0Bis-GSUKcQzZww9ZFz80QKWfQg2T`tMX@|A_&bKm$LMC0AT%Wei>eJ zgAfn^k_h-{4Bn>Pkf{O?vV#VK?hLsRX$!y?8~|vZ__o^*b4$DXdaQnSFY#c>vy_@$ zNli6aa{|9B1rf@XEf88CROpY=D-#zwJzQU&G47k{KehACbp7p5N0ZghQi?5|{`24y zFUCw;JTFFjsjI>HI#V{|>D5BFvmVEBwT;DuTG-AWv;R@l;`e5Wj&izU*3*3w;Oo!e z(bSu{z2-Jgoj?5eWW@gA%h*ly%a|ebE~2cNM(u>4io%D~CJQKCbP7v3NV*@*^!Fs= zUS1rv22du{=5l^JW#Bdfuo2=G5>T3l>W$A871Tc}krJtDpAIa2byQRT|Nq@ahlDgp zNef7KjFj#aWgz*c1*KzzfP#WF(p?hL%>boKkdQ{YyV>^J=X-uTyW7q^_x`cxc|Py! z`Fgz`0Wbq*!0pp`U~s>X^|`1@A)hpqm@#9h?sd<^ly)RMA za&E_S59qV~d*3Dbkj!N&o!RQ+IgC(?Z`!@Z3UvuDtRpEkVUI^#b^Waoo2&j$}~<#vF2ouk2* z)8Ve|%{k|@CXG`ogt)#%O9*9SL{si^@lJ8eD(k^_>9v3no1+M(Ju%RIE=w<6r8+wKT-k)GV}PMfqnX@aWm)2)>zc zc77(%MxEw-?Y8DDN&z9DST8A**}C#2B56qH;7pxOEj|G|_yB1*h)9pBknBBM-fKdD zOu)+b1QWkSC>I!S3kSQ<^_8a{?*HOf3ZUB!ELKt+X#Y+InN;K@d~hsRYi<)j3?%3t z&6r?D$O3Hm`$Nw9j#gZme6H7snJQ_e#??dk)+Ehl=1dZ zW`sGL<;C!Zdcu!4IvM8c`9FQ{-vl<5z6c+$TUkt24{?POl||b}W_r2Rp-%)N&%Ih9 zLP0r3uQhx58FkR2_a^T_X4RRWO12bFZfnN{t?t3E>Gl#c-BYC`tT|s($$Cv}o0Q+e z0bMeKklCD-l$}3hpMJ?tmNscv{#u-m`^S4fS!tG{zhjC+dU|3UWhPDfn7*P1Rd$&C zN2uH=u>@Ur3Zt>LG5#<38FP}3M!uGL@fa#D*mLXo@EcTs1m6=p!H z47D6O92%&F7Qj}u#^sm1Zjas9{jS=@n4X`@4e@#1pPnGKQlq>YsJ;cOcWL@idZb7S zXMEcaDsf*)zEIxdZ79A*QD?m(-c@{-j(mhzb{p0WkaKIHFX>bm-?IA<5$4O8&4vS- z?F9oaRXo%V(Oq>M-drB%GrF)~ z&E0Vgn^?^NtIw*&Q;ipi`jGwjK37~ZccFLZFju* zvwQ!>E&j1`a8EU>f~3ySeJeCpA=P@h9LN76MgEGq_4v9kTqR?wW5U}zq{2=w|1EC0 zRW!?8$K#JcmL?VL7A*Lgd*T(GZ1#G0$5kmOX;41d+|O(7*+)OE`(DL>kA8rzmC)dY zl-^tWSnB}kIr^BvAdqJ=jhfK zn|M-PWc^`lR1f9p}OWhjaW2fco##gfk+PH_h0L+ zTtJcH3J)nCzb_$iF9)bETgu5l=HWo+tQe`E@JD|0;--gE^?aws$-@KX+2Q2eLXD{b z25vVgTov}S3Ih$M2z^cpCcTgjLE6XSaJsGAN`>i6K^(ijp?9>_Y8N6uC6s|kxxZbDs9lxA9hpm?F(x1j zCDW9{h}@kUAvs+8M{R1ODUp3XxY@qFa)nHGf0A~q;5WWadmNH2=yn;ueH5sSWZhm* zOKX?mce&#ndT=%q7Va5YUY?bA%eWCS%XWR@|4dMwEz$rYT7F47Zg1;HA#eyp4n-JPE z*m&52!rTcy{0Ide2mk=@RiecUAw{+7SiupV59B?ssG2P(elj!Nd1aAWnPu&M){0L`62>yPhibs?8}> zpZUA5OIsu!g6IAQ($+^!qX2-@o?XUX%LUF{dZ* z#X2>5{Kl5k3AubBao^afYpttv_{JaZN#>~#uI6d))plvp_cYbDp(}N0{~&vt=ug13 zm=+CfR?G0Yjhl4>UD37Wowomd$V*87q@CK+Lf)lJHrxSJ&H9@173mue%wWqZ8UwYj9rC`Jte zK+1G0ze_5SjmI=wDp2+h*H6OBAcGSEy~9h1s~plMF~MZA%WP*FjZ(qX^%n8{PF(7ojpv*Hb^evu zZ`tf@+7yzZOU$!0D`80Y=NXDQ_%i3$I*A?gC>MJbxS=mE?+J8&yP;oZTZS^iD}6ZC zFK6(7wl}z^c9$?j%~J${eKjB`|8}go(CwNg0_wK7<_P4?EhOkc4KPzdZ5se!dBBsj zjNq93RpaZhL;Am|q~BE?>&>4qS4ONo6(esPnOC&sVg`;#iI=x9&qlDGn>(Z^w6lm$ zT#*t)b05l8aMjx`Nfptt-CD&pfnoNMS3*9U&6Oyt8!LUz%4TBdoV$u)KNd}b?cLk=?BP!OgZPvsW-6$HMHYTN{04c-cOgE zE$ilBT~zdl5GV!Nwkha#;J?l+On;y5mb1Okg&vi4?EF?S8;X=SV<69gHrhe+o`a~w z)Mms1Eb#gY-cv~9Q{aO!<+a9SAu8BE-vGx%U;qpVC`#_8cU$K{2Q3w~OM5*0{gMl5OkzGcrl0Bjw-4nO$AU9m zg4?aeZJI$_y4u1tY1=j*=v&pl{_aso=0+nE#`8x4Y*rk7S?XZ>%9Sw( zyR_zJC#(_>oCN*>0AeNnnBv6$_;JIZt`m3*2JjK?J^D$72x$yNzg>f;to-3GI>Bft z7n{h8`J=MJ1sWz|MUJNrfrCI|&OQC6YX5ORSbQiXh&91X>YdW^dK+_=?X*i8k$!Jw zb7y>)>?;HQXo{*E8wUCrS8+nUWoQ9f+~q!oBi=y^youhN;>FTcwx?vuPyV@Cw)2rl zOLkr3bX@zMJnYA+OzEeTvC(doHh?{3)7$knH^t3wZ?onlJQp(Tsfkr-XrBLu2@193 zRvv9k26~A4WqFX)s}egIZY{*boL8=Ro|x@_6`GOzyPf&z?N;VWV9pApBGkY!1^go9 zxQQ56waAhBe&&gAZ&q^DLW1;qinNDiDW&GSZCLM8ujF~`ODG{S3bMXKC{TDE9aoen_8vbNQ?8K(zdkv(_)zj1OK2KCCvjgsFA7V);d-}W0bP>t6UFr3(WzyTh! zHOWqGAMdW*%MG+tq+gs#a^Jy7b?I=A3W7$A@(I-T??qDF(@KJn4<51TMbeWMJD+OT2DNon~lZIuy zHTMo0(UK_wICw%-6={@n|Gl=-_0RZ@LqtkwF4E5lyot||R|BDD7WKRggdp7YCU1S* zhu5@{aY{iG8Ev}E*`KEZN)Fgri+?sIa5ft`>jAMoxG&T*n`mCFO)vZ!4`y(5na|vw z&$?oe_CFBMc_=e|DR)^^Bi}SOs^P8qjSbU5i_qBzj_*-vWbP})qL>{d@-<@YmH-6yJf!BkwLuuE&M4;;z5;{@8WxCmVu ztOBc)1Ih{zfB>k#2yv`Hcsycj#Vde z(F3s7qkg{%vOL{&9b?m&Nf<%8v>ammM_x9e;6J412TW75-{2D|zp&U_r zn5r{Kb&adbyNpUAcOXQ zj+Ge-vB0*PokV!PF6TaQ7l3|6=+0fDFchkcgYeGWGX{}emKpiQmL!QJ>+WM2<@yfQ zdOxfccS;Xj)@%NAX3}5;7`p(gaF<9o0RRX5w2w*g@bNH}5F$qZ%ySd10#OS)gCVpd zaH1>F=+xj`OM12Pgli@q)YamI7dh@Tg1&>V3!+;d#TsM!*zYFBvi9g!B!;(9jkP-XVnlY+Tgddn|&z85A$l>~ZbP~UlXQ_PI0{M!6hMo!^v z-|d3Jr=P14o4JS_7TFZn5Z>RHJ5RNdeyn~>1TqH;3^4E0gP1RxF7D^HJm$8*@dC_z zp=e_R=AL;^=8pOgHG18Tlc5pGodh(6@&M4^4UmS>wfxfzEeB4>XrW-$N@pA>j)%*( zQ0T;vZ*YQlM0xQp1u?7Xr$F%Wp$i6Q$@~(w#r?>T=xa*MwLBLHz(rj#R8gw8s6g=R z`L$a@YuJh7!I(aMZX-HlbaQWJq3G}jBW^L*u4DR_GQz(@Z6pq$BcM4qv29mhNtCMJIDy0OPMXrUjbu z_4407ZRMke!hedPuv4j#_cvkebvJxP4hihfl~d1Qhb=8}vgSXJ?pSHR_I4vhbrgzY zFy`4xay~;^Pwe!Q#i;||F+pD-{(ST5MpI3At zC5wSvFUMp0n+7}#ffwBN9kNNb-HBEv&9S?;4=CGD5Rt1KKj|XkcJBtE``Wgy_QlK z!#|Bk79di>9Zk=~bXBw)sD?g5&`_{1$T;mQCG=$6FT!e@Q(GO?05kY7+_}g1NmP&&;8DkyBkwe^Xh7 zBQdf4Z!xm#?Eu?01u>$$@HffqK6Y8=U9Epb?0t;bX14T2Z=EHAyQINUF(l+K@P=>o z80A}e4!IAuPwZj_1a9!U_Qg{KRaO7RxMVRnTRln z48(e77P(x1Mv_i+WnU90y4Z{#AKG61wz@g6Qc zihcDV=eftLR=RvGG)K|GZ_7Ds1wn1q_ysS(9P(HY_gx0wIpUAI#A?}_UD3t)n+sWo z3WApl$5V@%mO}MqQ`e(kD)LFU-AFo=I6wiTkMi60aQ?0F{e=(>NPu)<>}eZbl^W{( z^dqC*cfAe7;lhS{&K?s5)ZZkMi=JRcjr_BR_6zUWx| z^KnPU_eCX%lVNG_)#%63nTz9$2(pZ^$a@k_rKeN$GJ zh@lk>QPUQRvn;N1ID!mYT&3O83h5H7Ox!poY;9sW1tYjzFAjFemi;A(L@2wK~mdilZ=^vSe%b! zH3C&p?c=?!_bcIoM%k?_0FzFgmv;h%4^QcBkOINpi_sg{ z6Q2V=P7qT0IFGDFrUqK;E0X@c%gpGV)|dXr&GjZzMpKhmps67;jZLje0YqB9T(KW> z+WWZ+d3JaGUrXjMUTu54YGLGRBRDHcrk?S}hlGb0=lDMGE<}8vF?Hdt(>L%l{pQu~ zqN(Y%>k-{n&iabY(Yz{0Q!Rhx#m6|7y^E_?Mj9;_;rRabQFmb=u}b2RsoR<9j-1Jv zGRsfh?Bja#Z{83cuHKTAh9n-OBKzs~Q@FFvWhAkI-(_?Uz9->+0wG6##YZbIWx6vK z{`hgm#Y>O$~&lJ0KxiXvV}?PJA)faaKdFgMzFkI)99=D#Ce_R`31(B|h+ zQ$v#8$%}oa=I3Cz4GZb&J@hrfpoPb`NBr!%*or_9fHe?Id}uapROW9`8lUGb+O~lG z=KVm;z4XU?g|hOnJ3VYm`$ZZ<>d@IW=l`gR&ymd=MS6kQLH`bT&2`U?4eUB3 zWSSrH?idRF?WK<`h@5NXvmXBu@NPjK-ZRE}3e0}|W_UuV=NZ&J`@se|DCPH1p=6!V zW3SZ0vR^P>m31AczM7xwHBrayrBP;hF21kRa=BZ)EL1;9=tZ(h|K$+1E-wygYRcNu zKB@!-a{2KH7(F`v&(ZhP0uD&|dJ0m(<@l4_R==ijGvowro$$`aW2uq3!5 z5u&iJS^bDnK8YB>0d8VJBd%CbRppO&>AE0HKE|7a=S<`%-aJ*Fh@=%)H3sdl1}J=s z9qecsrhWfIOx_a8bWuA-sMGVrnm8a7xB97q2zGAe=l70x7ii>urMyUG>OoUb`j4!n z;C^`Z_DIUtToASlE1P-`XT#sv^m1^PUr_UZFOV4_83p^?Oma7#u2)~wDj9cHuOz;U zi>KNh_2){IoN{=0oZr$bI>;4{$OvDCvf&$}A zSV;StP^_|VUh+!1wmf;v#?A$kYq-?sV@bdg6U*!5*X)t1P+?Y1?rMUN?qJr2s-*B# z63#Nsn&WwETtFvERtU4Rn~FR&z>f$E%+^5*RfU_7UcA7?SEZ>=V1*WpAW$mP;sCQe z1uXo3Rj$Va-oYjT9&GwQTWJFA12BR|?>ca~B+o}R);D&3kZDS|J9DX%uW5YeuqNfi zG`0sLt={am0b=K`{eNuxN-iyaQ*k?hx%^$L=_J)ge~d04dVSc&G<^O1Zf7Qp&&whB z7>4R?9f_+wZv6Q*O71zQdA=8kYt_`j`2?i&>byl_ea)?FcmO%lf!C3ylO6cZMg}@OaRbBA+7*qMN$E6Y@-XQGw+R*jPU)@G^t(2e#Ft!Y0=G zTLV6$Ml$x|AC&^ zJa=F@`I&J&I3FJbI7%jO%4rh1)i0&Xyn_A8L7Klb5H;+8N=%l}qjHps$x1)N{5+fk ze&0J`5AmAGhr^Qh zyM~tTU%I}y9=U$w5|prB{&byoJJcSvQIsI`149mgyQ3cBg{V2Q#R$9xz4#~ESRj7L z#qPEC$4Qua;GA^{!p?Y2iwucc5Im^d`aBRV%e?PTjZZ^+E88x577nrugP!~_ki~Sl7_u%_| zsJDo#xeH9Ff}ldt*WZGn+1?EN5Rh$sH4goQ!@!ylDYR-*vpcf>8eV~TcidWf+6-SO z#*Eo!E8gZ89Z5mJ$&!lSdG{&jE&oYZ&V^SODxf9Bd6Xom?$C5tdNBKL zEPRAa=lobR=Bg}^fB2w0CXB~pmpL^cj7!+OhW9{FlpP^6hVIM|LH75H+Z{RHEj^#W zxOR@Tjjx~Pz5O1ub##T?jNE#Ljg4>oT?G=U>u^YMJG0F&LWCH(gS+Y8?sko2Wg+Ct zMoQ$mAb+S^C{|ZxB_UbdfFo<}a(6@q_f7T8+3OJWZOrIsFpbUKI5z=7^s7zuWj_-) zrTQ-z`^T$>Hq!M+lz}AdkOWu!$Mbiz!}Vc`+gG!XdWd+)Uf2-KeHUXU^sfK#O$ulj z(FOr#SWt1mdALRaE(e9wbbo);fx^yiT!fp0Nj;s^Y*b_CS?HtuDt!O3*uWnjjOJd+0nz>H|-@-f_?bw;pQM&dgvtv8~LDd@VWKep%8h@|Cb)ryBw| zB2T{AK>)C1I~BkeKXPc%PW#18x_aaB0&JfUY*A}lm{W-xPxb>(kt{^z!%G2t-{;`> z{}dec;qk;9Cg_D8%)icmrC>~P`CJhZkgw6e46*`g!b3kR+Cz5UNOd+caPWa7)|)^( z9iq7HJh$XvxVMf)`O zcKhm}Sg4n&D)qR42lc^q5a4qE)y@T&L*t6!44dtkH@-!-o^#Nm@_BfU)pmbAa6r|p zIt2-j_;J&i6x{_qT^yAc$S*5Ugk=C6bc!cj`Ue|w38?iTLg)!?%>QAt0m=*RJpe9+ zx9DSKo?8xVOf-vKK@#FQA7`M{+as!)lXm3Fw9;>-ukAV9X2}j}vGC!S9esm4T7y!Q zjD49-dcZ&s(q=HuThc6J5M7-kH=s$#bnOP?8%_**`Rm@N=S9pN{;&=Umqk5XNE~9ugxGO)C2_w5eUmS2&WzsL-1U1p!!$iuH8pqUH&eZGuu)A5GS78xAjK#hf|*lqU}a1`uCBh{jdjFo;tA9)0Zl zbZ812VLi}6!yF4yg#3EJ9@1n0WMkq8;coemtF4x?l4Edu=L353Q zAyiImQhLcR_0RlOSR{PsW$SP}XVY+Km8YeGN&W}$!ytg=&Jxp};^#5_%l50*pc58; zyas*Qn-TC2DtnF$;$XvD*JBFzKQEE-KX=Q1DfhD#usTfCR~dVjYThj>8Wq5=81r%pSX`MrDJ!Vc&M0g143XOu>fhFI-~5EDE&|Et6> z$dgXmv6fH(@M5V{TKV_Px(55}O-?z*M`5!4x%ndR{k_RNrf9d@9wmbiZFJ1;&$~W%H`aW{?+mJ`IZ-TqLn?;XY3usFjAO%1%q0zPtLq>N zED*i&2`0YZ-D1-E_*q)OPBHHuE9f<8S*^hk_SZ)8Q|{Jfx5GixLc7;KR#OKf`p zWK)l-S`0BSDLBVBx{fMTYqTN&TBo^>DT}qVLATDmi-eipxWtGww4XVx=nxM>MVLgK zOxVze#DD5pq`=@o=g7U`k0$|dcIi@Bvo1V!n@U`}4ZCr9I-aH%)C7z*>?o~oH1TH+ z4c&XgC{-wd+>Md^Cd$;DsOSI*5xqwHRJq}I+5CV}+H4H}P=ihm-LE0@t8v#aBlmh+ zP`SBrrg`6vqoN6~ybcwR6a#=BwWbrdBU)dyj9a-9^pj1L)H-}7uk{695Lyjt(t&ij z->buyAjmDw-?;a-!Iw6&{a-o`!{3ry0)UXmE`3<}GEe=CvDFQ&03g=nmrz*Fry}}l z%u>Wuk7}kF86O8&M)xm1oJAs-OG}LOnT)tq_P$W$T_o3%TE^0;O|FWzcjF*J8J`?# zr6Q)8UIW-qBmBIW{})Co%^{P7&qB=C%iqFvk|pwA0%iFbj&dtYm!BH9rZ~s=pE5Fx z3#6!~_gqDDrbYG?gCo2*B7pXel1q&6F^cOQb5yqN^EIxudg+#_!e{Fm#!yOZN_7e> zC^oPf-@XES(uh{pxAsGYIJ%pDI;CwYuHOieHQmANMc0?jBor~#hf}BPe6k2ST7Fe^ z;6-ml>$T~~Gr}XKNb>&PdHE{!+&g3HG+iEs6-f7Rzi0jCXY=}sR6y{7_;=bX?W~Y5 zUt5}b8Md`T5Ywf^H|67%z_zd*yA{n^#268cWO#0wt1nlHR@tkOTq=lXDc$5EN~VrD z8ce2{IQ5d4q#5RV*w5oMj^C}yJY9&2Gcw5-R_lS~jF?sN5s4|Q;!6-fyvSk~NitFVV? zry47Z=vS!f+xqs(P+}PwgP7|i_U<{yu5)}FKen9>zTS>?+SfR`cb$)Y(U0~wp_l*H z85_r7|MIwcQhNPLK({i(!_{65B$N4Y#25ErN(k>Z7{da0l0U0Zjw1FpS_7}L{g+(CX zt5kp(&dD<@W~ktQ32&|PPm~pmv0cKPjOzq|Ip)XVt4psjuH)eZ9;sl)?Gb5&JiniAGqcby;couWQi{@-zlp|LP3b|(SdwY;8UJiIKPL?G?0bnufydiSlD zZtdJTku#1-k<7!tc3h=DAPBpu^E4UjUYIsMEhk_O0}vGq{C%2HB-b~Mv>m9*@tnyQ z{T5?QU+%iYGfqijFN@IrUE1D`#ooUW%F~unA0i$LsBBbI1?fvs-2I#O?UoDZq0vdS zH840NL=8#q?;dJhf1a;nu!nUWp?F64GQG}LhMk}xX~Z5J6}}Awy?ev6hhgVSS))tg zSb3FN(PXVy2{0_?w~jeEE2uSkC1%Rg#Ae|xG*b>?s4HpXg%A8kWoy|-hxzt31a?kq zXi8c>Y*FRp8Hkzwkz%M7?>933U3l}$DJw1~E05pPmlJlqvqS*>Dgz;=BTPv7*{z6+ zU)WK%A>gXXsPGuR%ILCs_1(t6iT%WwNH&zB5CUMI@DdOeUns?c$@UH{vkP`%+i=5`D*`-^7b z{HCt2Ba_8LtQa?z%H833i(vP9{XEWnEBvr}owqY!CZvHA^+u`UT!5EXyv1mLtg5Vx zGb1VpHGl1uk;8EQT&p)+whuN7dOww6JtqOW;h|GYYkh_f&;I+-oLa3udAd%f!j5T}95RfWPW^whVmQ6+;3&a6Btw9%D%rKd< z0dfQ;G?gAnSj+=?tUSu%KH|S58CRzIzd#sQF9b^1m8{Rf2|u+}fP>0@5Z^)%ti%Q-CZl`2J6$%9)mtiC1^+vsO8}i>+$!^9vUoB0GfA?>c|K9M- zaSWPMj4$fEz;8_ljWXMsGqqtvAgcYB-Dr4`6RobUUVqYiP2(FhuvN)Wead59!mpYn0YZhO~=*g-RndRl`VUcdx`^sl=&w$^mZ2en@- z$yvRb&~Wn>CuU(q;4b8`MSP9`a97x$LKU~FPGIP2k5EGMh`v_P#{u*MEp)CnqI-@^ zY_0~J0tisSeu_1%#KRdDvM{~(p!GGM7{V=0nqQu zT6UhATiGoInF*Wk0>LQ^#gv1Rj_^mVLhJEAirhRw_K|eUi$7!@=^V>GD*ZgN#lt0^ zUwT5&gaPwJkjpQ&b)YR*c7wY7(Uwm)-gZO?W`22$bDqFc8eJ+jIF5m9-~L)VT-6b3 zxgUcCUhe+2zI^u8w14ojd#f~u%z{y8cBV>H)ytJU@g6nMMrdiwF9oz1h5;#xVM#tm3u8W|Fn35}xR4@fCCqsxv;tzN5@fP@YEaFo}ZR2Y{{0`l#ZdrLpCU})PIvzWZ(VPJN+p|1o7ef)0s|S_)PMC#naktXWu%^`HkIHYW20BbnN+3oNmNh@E-F#yywfLVbY*#~2Vv&x*_pitshnJ!2Tfh{;aHeg}Zp%7t6sVWAx z1SKusRbT-`193ovFuf<78U!Zdss!au>^y~_j4{Yc_HFzGygJtFzF4Kn1Sxx>Qaz=> zEfjT= z^7GEyRByZ1v;JT|zx7YF+mcPU_UDpz$@z1)MD1rb=lap7?Z*z^`h7)=hlY`(8$>TE zFKMG2sMNE=rb;B@l?*c|2OQezwJ1maXdK0NwbU}v9y{pT{Z8ldlJu2Sc;7=Ixz?td z;^0+9Uk|n<&h5WE zy$@pz)eaD~1UbsC?0h!;SMoYQsEtc!_$_JX;1k1_BgbMd3ql%*$a5bzRT*GgQvz0m zvQacCSC@XN-_IZbFbM;WCcX$9T*qsdf&_e%U9CZuCKy!!16*~s`GJYgw76zmuJy5u z`Yirl8n<$Yz=z!aw$Rwa193eHAyYfL*e5#Sc+hxs==2r~lHSjyS;uGn*0brBMSt$; zUf5(LX>n7Dxlur3aMdSp>Cm+n4H?La-)Ga?L7uNY*j4Hp86r%wEYS@2=bvgGOP6cW z%MOx<=M4UJ{L0d|@Nh(P4eN{zGbjTck@$)GgoqkC*i+*#PEmX=fopjdPkln&RPAKF zq(ZJPU}GFIrN)~{&PUb*W!H<~S6WjCI9-qpi|N0_BUh>JS931c3vv|a{QwO^m@Ah1 z4GW-(^@XpxkuY;q>|qlMTN96nM;IG)IUDh4G&MCBC&Kixc~j}LfjI)TU@0e%6{&{} zNQ^X33@>05!rS5R(v=jtM^*aL1e*Z7SpXimj!Y~4{JCtfy*o{ZpCCR&t(6#T8Mz3Z zPY^C(+Zu`gRl&+c0D1|C})Del8N8lYH`6q|goujk=AHA%#dziEO6b$=trnEBlN zh(7R^*2x$|itJn&T594#jJTeGo~Fv07s3q6mdw3<)88zK-3ylujH2(>S1>G^g`Hx~ zLB_Mr76&ejzD`__r~Ic*+@iG2-TbZ@=~>VFS4i%^XkSBj4o=ywusf$cy&$?r(jkfM zf0Ek}zD`^n+p5K!`%^nAXg8DXBYKYUS=_f7Q_AO8NXY6RLd2}zIL@80ORo5G0b|bd zdynQE;)lloOSs)%oY-JM4D4?Cl`7>40*(Nh7!6?PyE+3kjRd2!iudZq4LvY=@t$b< z1;svUg3h;UmD)$j8_vjcQvx1_FBW`$*bo{s!e@VclEjMp*%jrb$wb5n)gX$7F**7( zJi&!}_38Mjn8Az#!macM>@}Hoj)~$c=0h+@xzxHE5jS1^ExCg)IC(#b=81(y6@*jZ zGco^PLCIIxbP6C~;&ux@yo&g!urnByqm_edTQLJvE{pizPQ`JtvfdAL^7Q7<(>6<1 zmmbbe^V^R(tTbGoW`NjC}NIZirqnYE^#lNxs z#a%Ye#kj#Qrj#1F=Wf|ofm=0 zA+AK=7?EDUV^G{mzud-l*7q;@CAL;#fKoUjP=OhrmgPGx!l$MloqiG(5<&r9fMZ*| zThKveXAc2@k+IXQEO(hk(jQ%8H35zKqI-Q1e-9m{qxq0LtHLL)5HcftURVM^bZ{vL z!p$S_=DjbPrzj-&S9GUFZ)^-#Y}W+mfO`)rL!%$cH823`kzJ^#Vl2kWG>7|~BgrF% zo9E3QtJ5UzNSssEHh$)^y^C#?Qg^sX_nHjhk36=)N*yu)=)UHDattY;{p(}+*O9YA z=)XCJL+b!AobK$IMtCo#Z!BOn?CrX{Q}?*cHkF&J-bQs^-ToYmd$^lxIfKMiyKD!a zw#NN!q8>Yp(X}x%`>&7nwd9rSdvw$D5naEuhM(Q8K~wu3CNt}ba!)oX^d^|LJjl87 zc^?H;!z8GlY1v<~71y}oYWH83d6m4~p&8qe!|;zVncbyagH&$XP}19qIDF7mZ< z^e5lYQi)+*II^dp>|zE+sF)|A#K}|jHX(}b}m+G!Hy8=`A?+UL&dKEwtQ#lLz#z5lwT9TN4tMC%IdmAZ4@@c%rM3(HyM27rw>V<) z@a^%9MkMIdNH`ML=RElR9yBuug3SQj0RWSd<1l6pO+z%!EJyUIzq1lI=NxY-4fb>i zWd#UWId`1IQKfiLUUrolgk4oV*uwcm6nhEFhs19bz*sPh%EyQ(UJacM0NJjyIdrgC zaUrsT{u%zSJYQLlLgtsv91p++OYXi(QSH8alR=1uMH7C}1ITTUuvvJ1krK*xa_Ye_ zZ|V%1)U{;6eaYsF(^FmZp73i5NAj^zBz$!OXtm^g||4Ue`V@)p8$#*Hb z57QO?Z%NwL`Bhb0n&^ih2*F=wA9KFMqfG)V)_=<%C=Cs zY3UE~c%E;#cItGuT?8=U?8tFiZiF>;UDuiv~KX}i>HdTmQ70^K$U_;)|L^adr~ z7c`Q8;x73kla!kowRph2+x)C$D)3mF>KN014z{j#)ri%&8lS<+)Cgp6xrxm_-+ViX ze<5qy$!84e^z2u*)C z!j!$Lg+>@LrFlBt9#Q%%?I3jxUpUxl4)?}S$gcTTKi;)3bV`&T!Cn?XXO^S|_9;>L zUxGp}-W)zG)R}h3-t7GM{`hEm_m?jJa9`njf7uRapLwS1#utzHhQDXuRJ6Uk=DF|* z?5ekZF?X!EY3geiP%-00?cA{1ZmC3WXdCoT3UM(x0#1LIg1Y|oFfQP}tLc6I*XO?Y z{mZAqCE>`Z;vM;$7`BXeqQ*asf9Bz&Q9Otwbu^AY_>Mvn%`X|@?dOsR9GztpVzZ$t zu;OH0`9K&r$#~?B>|wF@WDq{r`Bn%BZNnr~h5L zyFt1`x?@Q}KtV!4Is~OVgk_gj1nKUOE&)M6T2e{@LAsId-gx%+fAQ=&9QGXE4Kw%7 zo%sad+o)av15RdBc|Qa6%2=vNAl9M3be6ZDw(5yeXy}zG(tiX1R_RQR7$Xs4>}&$l zpQvLTc-_Xxj2WqZP4Io6Y;=(ZOG2EO0zWQ1v&3bg)x|_J=btyCGqXCy9Quu^3GFK^gL?>gVHNY_eaZkJ^z+=oQ>{T}ZRd$(8W#-EC0y zvmk}dve`|Ghs%dW=KbrVu1AIGjx<=%#_5EN-^8_-sxI+J>+#*7#m)7J8ehejrxYZY z8ngPkn8e}0w21F`;8#))xRMeSdFk0pbor-wLc#XPL2d7|UW`Bjy+WdXQ>{r;QKB z`-2a8OD@!tX%gE-Xtv2@`aX>q(4rzttmVYGtwYXBRvqvj#_{-XIOrR~eE3h+KpTzT zXY-!z3p{3jra{#aIt=ZomTH-}sANq%a`FY)*|SfpmX|zf%q5$><8q!Zl>(pw4nawx zr{S!zDR{839yKu^@RD>^`q#AOpNWsRk5&-@w>R-_NNxZ@7IO1WsC$7JF(u@}+9TsU zgm?+4zfCXcU3rOJnBlz{_}%ny8S%^fxl-r($WX1pI}g&ik?Gy9xxF%eck&6Vdz-k| zs$LT!KTJ*~UHp}{bklEW^@eIM-x7&;r0s(x@-kQ>BP1dV!-h z#sUFV`%BZuzxZ$QrbTO~VVQ#7SUsL|DG!wim3bkp*}==T;TXjTmX6~%;==x;l9|+# z_AlqzS*e zcZX{U;;oi<+0gd*Bf^JoZWrBOM2}^vcG#p3%jj7N-bRaY0zP|hP=6L9q_`luEP;NI z<2Egu^s;Gk=|m42$DYocn=-wZkUjGwmb72Mr7cXYS5uJk?fi{moI_lxCK6v$L#L4J zs?JIPnV_!yv7xpcFLC6NQ&D0K%8bhl6tixI2LK&P6iJLFh4=df`-bPdTjC3~n_q_~ z)__NU$j#x#cxXXY9afG)GCg4lJ9)k^)#WrxbAqK-AEYtU6LE~;L6LjA@@Fr-Gyz1v<~y*c;&6*>Z?Bi;FIg? zC-HYbYh;moS7)v?q|(78)`RC>9d~xCBzic@CDFzIa&xn|D@m6n%JFfs{S8QvV*V)j z*>1r>$6}Wr?oBpoEu4Qem#;5Qg=Jr@x2LIf>Gd%b{w=`-;zFv?mna_=%z2?i_=K?h z4E81dPcJEWi5=^5@rMiKsX0~J53zspPhhr|9K{u-b;-QARk!G8cEDl!FHt@A)rtc3 zb=MmA7o^Xk>6LN9LZM`}(xnMs(8G~6VQ3E>Xi88XUryF@=T##oe(0$x8I>#!!2FVF z!W9&Ei0h_$52eO^%NvwZ@_R}-c;YerPgO-jikPPaJpOd-0KgFQ`ujEe(X4e);))@Z z{)F^_R0Xa#J!LO&j^ZYTBFAqHmE<49YV)>RE=N{YA?+yph3|jZvs(FtnpVAsE`)=j zV0)kM%W-$j@oYbTW#R1fthwaHY$~z1k0#8wC6a#bv^^?v;;*jX!x-F@>NhY0Qst+T zKMEh!woINHi@W;Itt0h0DSWws1#2o|@w|tL2p$C3d3RQjN3qk?xJ?I7U5u|J;KY2@ zlrTbwDD;CH@D%1;qH;=`_5MOmo)TF=hWcJ+6dYZsmHC}-$JCJG1WPTzp!2o)A+ zT9Js8)%%S z?}XQ1WjZ(7sVWE-n#^3-G$1yvs%Cy8f9zzKKl$$QMM2}MoPgIBUsbl@Zl8{19;A+U z&Ju+)-cFibXa<5l1}Ii=Xuh>|M{3**d6Yi0+Yw;=rwx;?6?e_GEbcHK!I z+?QY6U75A%A^vnk5kX>A>FpSScO}6cLKk4Lxze+DB`0G!IQ{OwFHV)bz@L!IkLs7O zHNGe{aNbyz6?togR&3j#FO=IS#|yZxMi;2g#9!a%X=1#ZMDc#MOgDHyTwu-~AcK#+ zIv&1k!x8eGmc$Yey0MTXD&iQ36LR3_SC=&jv^lz)D3IeU_4MVPKxl}^!BdK`+iyT) zLfEBYUiT;)hXFa+J7W(+Yla013gauT?Qre2l2QXIxxYcAE$zfK4CaI%ov!jCF|eMC z+&V=Ft?#sileq7-yDQW^v^;t7!?=#Y81bEWil4g3$QXWz5#YA>-;51bmHZShj%1<1 z-fG_9vA3v(|BeNvlJcDEz}=lfr!;S{;EjY-YR{`JJOE|^!^Ba_Mna&LRw%A~b4b7M z2I666FpZPTPjAt6ymq5xW|3;?einNF=+{lC*{kvLm}fg#`@0t`1+!y#p~ka*+mZ*r zyF+>1xw8%ai0+TRM5gzf#w{rPMg+9{iVUwdt`IW5su zFywP=ozvC<8vXk$-lL+--{TrIW>}Q_O!4Zm_R+c_{t5tGcqB%~5l46bW1WE_ZVmrU z;c=c2Xw9Dv3tfD3r63c-TMP&9kmf(4Hl-jN*|iR;A>?9zX-KV6WW5-PS)}<$q(bPW z26uap6kc3^c<_g!zr5Vz-oGUgI?4?cqv-&yQQPRx3ab{N?7gXFCbhpkrd^-S{7C$YWk=k$!Gil=H5Z|YCQm{)882GDNq$HY1S&H zQ-5`~3`v@UARbIcQ)kT|)2ly6R3vtl6GMhaJEC14I^CV<0;)A##vWFkns%3cCm?%W zyTnpiF=`+Wo(>AG_>Hi#(>?Uye@yQt2mEbyFzcqseZT$Vm+@Uqq6oJT6$~OWU+yN# z!W=YF5wmgK9y6KqkhF@ezpLRifwbA-79YJa_w73_adH^}q?C=3btkjz>UR~TRD~;* z{n0A0CCo3pKYrj4F2YJ)Y7v|j{I*!ED+qk1+KlU)fXW4Rc}Z3fCdLVMFFF$l!3Qvz zqnYf|Ig7^goHnN*l6YKVtwWCrEYFQD@WV<1Zg?%cn3Gq85IQ z2Z>M6uQ(zC_b&S1X*MYPzn#com9aUa#?7+NM#@o&_#z$de*bTNplF{eSx(Y%1ViKwd=5mA zoI}BfUx{j@S<4YgubIlH5Or-8{w)2pC>etj*Wi@Ewm-O3=misrA_Xw5h7(ev!ho{##+#(1d}kqM3fj z8c~EPa?DJ1#i`9COT7AHqZPl>=A!xOExjU%MckuK9J;!#$r+1OuJ;X$R2Zy#da}^- zwh~C-8 z*Sh<5qY3>W{`*H#nR|ETtCEoI>*Y+W1MxB8eg)Ep==&?5Z=G%S zClO1;oYTwDRD1U_a+A4H9;ndmgqvPWjx4Fao5?QCt9)w%ZW!k2ie9VRScF~&_uWi@ zcU4mnow9aTb!<1^-Bmgk)HvhImR<SjC# zP_b8K6OrZ9&$nC#zQk3unqg(~CHOKc1<0(=n z4glzw*`))z*Ac&2_aXGSQT%TKNud4WdmRt9Fl#^puC!ap>e_7%#W;VHXF2*Ef=1e3Tm?Ygcc=@VestcPq$%Z@z_JJVoY(TuX!Pn?@cJ96KXbV)5>QF*P?S7 zmz#v|ot1QMk>=**EV%D<3Vb%%J>J&;&BwxO>uu6uG~e7ROKQK|^~i%D^&3WH@R#!c(MZ;8h6p~kUI&lqs#`E6ux#jeTdNw|AwO#|Buq; z>UR@+eNjM{lAAybAJ&0kwszv%s4I0xah7=}8#Vgl{89obY{#tb!Gr#F&u?pny7<~{ z@Xvgl#>S-E8DM_8UOKbxbTv;ckrA=C$U3YFpaI&_Kqeb1sf&Ds+2Drj;~>Fq`hp8* z3!=>M9Lp&!<#?BG?VS$g1)=YXT z5th-vzS#aa_P2?gg%y0aEczi?16|TX7=m2(T){PcYTFjL1nBXge(J@?gZc*MimHS( zC(DIWxMjyT@ds!T3-iuT8U4piEup9I#`KKPEQst?iGTH!px=VUzTQX`T~+%{*1Dn5 zwIyl~%e;eNXLcziv##MCS1?eJEIu9_jyQwH6I0H+UE8O%4a8NWO)W==i* zh5Iz(?1e**SyWAB z7`v{af#NsM0nh~27 zyB6si(%iu3Nm#JEkKh-75&3LXfidCwg^jPs71?bbV8EF9d)JKC!`n~>r198@J}@#w zT3sm4T?LAvj|nnA9~6ma<(T`i^Zucr-YHHnOO~@5tH_QCha5IcH*-_<0p7Hq9%V}k z)LwxtzsuELP6t_qd|y6!({RZLt?mFr@Ax{>q1q>WAu&qv5UBn4<9aZW69g4{yLavW z=}U~T4;{(M_}tq`;T!SemB*5Cw(AZgJv=FUxhAu->qd=?{8GN#@0mm7g1-eFenCMP z+mdr1POFwxAl?=XTFhiUAzs7cn6ruU-7lh21Te7HJ@4Tp;yK7F6B`ll_u3mL=O?>W z&Yjyj8kYMfyt<*YX`&W9Q!n-&o+&FkzgRV_Z&Toy_$z42t!b<@^vfo~gDf+DGemLmW>k|6RI(yJD|FI{IiasM+MdXZjXrTl1T+b$w2%UG_ZlK7^ zuu`>Gl=1>Q=Dgb!TA2Ej6Smz5&q=7&e5d%R>8EcDecKe#crX(e{B5zxn~u4dh#2^I zz{qCq&@u0oU~<oti4*S+fq3G!;nr+GYjw+{DyD0C5q;-{@SFRLHy_wl$|MsYsh&>Wm!)S4C znttH7H={G5Nh~o=`&1+=2Q%?z#*<)b=%Nk-8nCRjCTN&q=WWQWp?`BNU2cYh@zFz- zsUjemSa?e8x0RV!A#QTL8D1=&89WOdw2mH)DSc8OuvLC}DDfU>&QWT(LKt$h$$ds+ zL8ZS^N+T_=A_yo~oxI-VE!0DAnmUeG>*mVf#`P@G9~;+a#V4DCF6`g_i<38jy}ZX| zFn9Xf0F>WLuG)m~4p=7)DeSvt{~cQ>;HRi_(8BZjLR3D|8CwexJUxYMq$l`v86NN4 zZf*Hg2R}S?DHEHEQ^(bR>g`n=xm$&>H+%9>eO+p`U%lPD^|?3GuL_Th#QtOLF*>iA zu>3n+eU#3pe(CKxhSOc6yE!aTxh@3qptgN;-)Z9YW2$lT$$q9fXP_1!am=wo`UlU7pq+HYU-l{~DX9~f_MC6%UxKS|-rDG1+rcCThiCv*?~ z-B?wu=`I*DaoT`{KDvp&2(~=DJsIf5}(4qA#D1&`A7o;M-`EeBHoE(jx z?7=PGs=4I!UZ%g?YvrJQ-))plMs0O*kdGTtzuV)uqW<=14=a-h(0Lt-{89ciCQ1u^ zMf4OQ>G_TCywj@cx!8u`iQm>fl+4|Q)!4i>q99Fx&%&^9+#?giu=V`2cWv)FfClUb zqs9$V-EXst6H zEp3DD*wXC(+Bx)nVas+F6=#tWMU89!^e(s8)BO!|5E;8?6^4L5(8mC)6^)epDLS;}zq^@#(I zFM1-$2|`8Y3^h6DX%M!XAv5#g0qjyiq`|?hmbFDnDT%lC8Sh9WvILeVcSe~;Lzxky zWx9-CM*^944R@~p-TBL{g7eOP{MhJ5_H%5)?Mc_ZRgOYXRVsw{pzXc}{lywJ6=j3N7ui)}ceBjD)oXOsK$k{KKzs!M0aa`WfKB1+0 zS>LUSB>z3^#xbx)bQt0AgCThxhAN?o60P~6uL#zf7$l6#2{ZqbLefV${04myP9 zzrYe}*610-&`F0Dd`nIuYsPWjU=rB*E(CK80%1Gf=Dug$%|5cc3w$@?U$E5sT&*}Q z@n<=3s+KKYaGUG@$r{ive6}i&3Q;mBhiZpf9xu2h3LMNG_ailgPrBP@gw1p61Wkty zR-pOfgAM1lD_Z$QI~)BXJ^c_F>}}DOrYe-oV2M{w&g;kRH=Mb|OEY3z$&iA6x8{WU z+_|Gg+tDl&XSZ?mK#oOp6C+^FR7Iz|HDnATC(op3y*fDeYy`Dnjx*mgrhalX5WQ41 zt}m-0Yb~>^ude_Dp3-3@t3s|!1dQ)?Z_eGixK&OUa5&8f7}owIPgiX;G%HpqcWqPC za#MZu!yNt{;rb>bTivn=3&WS5$OxbP?v=7@k5tSYiE_V!i-|r}3_y0ShsTgB{-b)- zeOUi01Y5ta_Vepu99Kd`%2C*VCtq36Q>_{OSJ4bRjduS8L0jwyDJ^}<;GVOSHT>uQ zE>{-+4pT^#FKE*-JO=>)>|?#o?!(Q_GfVSd+^7_&Fmx1gemQ)%eg{2wzi@Qv>UeUp zNg4w_I{f_S6_hM>pqiz=H3q_Xe*5hD2i(y##WH%d=0Yxda@xM5ekLyT@#<#<-5?fH zdlviiq2{NBsY-`S)-sdz6K<2|rrcsBUvct&awv)WOxY&wdP!%SoHkhL<(WpKl$N8` za}{wG;Ws<3D>%6&`BBz}%i{oM3ycgzXV&G4-rjC?pC?pRk@n6H+C1xL}8ADHo7{ zejo=M$W`^1sqe6F99H@kp&AZZO;p!e7Zxvoj$mBu)(iG2_8E~3dY>dpW$EuQ3`yS{ z4#{2W#Y6f7MLEM_=M2v(L!d1EIQz49{^+*zHd{z305spZBX{=x*}+4P22KjCst5kerZyo9yixtt~l-wo$q<)mnyr0CI|c-ExujB z#-27CleLhfZ@ordf}8Bc!W!knl=M*`~a$ZN8aEIIK% zjlvoh)2~EP8$Z=xeukr!8xSYg>%x>%5KduG4H{(4x$S@zdHKp!ya0%7YFNbFa5-Rz zGOnmWoOvSgQ2kFia{DbRWXWeu4pb=ggT$NSQIW0fbIA-q=!6d;KR*sy|G`WmRa6kTb&2A;bQ>n2V>q z=e5?AHb$9Tlx$b+4Lsjp%opU`zC|*3aw6e~y`__I*~%-H(ZWk_JT1bW-_PzEuz-Jx zt%ww+3 zFs(gB+5Kf`R=;`z7EYoH-sSbUY;yeg^&*>?BQCI7I|bY?a?g!S?jL~nHM{URG3MJv zl3ja*AJMKQVpthIzeLoS>yvZoeCU&HI8Iy+BkNS*Z+z=Ks}dz_j7KGlDo*ihB8(BS z-tc@>{WL%TU6^CsIvbhlYN^Br&Y6>Oe=D?9+QT>*%D5pgb3_Pk;4d8`I(;9AsyG5-YzA#}vmm(fc)} z9oQ~FYB&*99`>E>FmGYmpWlSY+J~n&V|q3A49h8W>><+Z`4P56ijUZbVMp;NsjGlQ`dSw*0v=HS9l#3ssVC40IM6!(___OYXwE>fy~TlDACi$6_reW4kX87T-wZoXMQrnpS@>ZzTI?_W1Au9njPj6V8# z@NisMz-#?Y($54RU*A3L3*>E1moV@qbgN!DdS6g3KmdG8RmiuN-PUk}&$h7$$=-cD zANzJ@W8>cXY^F4Kw2K7Y<5~i-v|@Fc(?FW zwXEr5m+9^R= z`antw$A|5t233x;`AfXNiE`P}-9M?LKy17V<@~dp!c+!+(L0sBbeobOcQOnt{o=xm zhCpm(8^+inTry9k*CrfRWglScek~qLO9?|{?`=R&{z>CREshEB9sHMFni{_o)zxN- z{zSeWblu`|dZMdN-w3}eA<<+S&+Q#HEpLiEGAgF7w$%rSETIa>#|eiPa76UOyFlPg z#WTS&+xnWDof0-w*Zp2#E`gE^!NuR^Z>E~0Mk z0z_AwRg!p`8JE>2z6S;F)%Pxzdo3y`^%)UE|2a61PXuMv;JnF%Gfo4!yHfi9Mo!_? z9+?S;L8KFeH-^HxFN|kVQ}U#H?(~^h(o>a*PZ_R5dK(DaL+?NlB7=BD7?I-|X3#r> zeIFxOx4no~<4~hlr8)&Ka=R>~6#yc(dRECFTIxz|6zTkGo+b2BK+z2 zyz|-KQX2`(csdR08kcS*7OBCq{~bR18MwwT*hcliosLp~6s>|Ank7uRy0a0Id

vGvwR4Y@<>$NN4f+wU4*Fwunak|6q^ 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 DDavW6 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/idle4.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/idle4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..95df5d7f506b417c681d680ab0a95277643f432f GIT binary patch literal 15667 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 OJk-gOc1G~u!~X~W9YTKq literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/jump1.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/jump1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..168605abc0904a2a88044ff07c9b7b3d3e01804c GIT binary patch literal 17748 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/jump3.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/jump3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..12d986e3f060b293ef086dfbea8bd09c057d7210 GIT binary patch literal 24370 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 S{O6hYh#l~Tnj!!I0001OkBCM9 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_bite.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_bite.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c8857578e15d5cfecfeb2c17279544df389b6758 GIT binary patch literal 11796 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

C+Z|Ej&yc_XYs0RE+H> z>&Q|xK0LKM2vhvk-?#ct^4ARB{*XU^&m+@y%#Y5RhiSc8cHc2| z{I$RzF3^6Rz-c=Yw~*~zMTJpBI80e7hgWi31`@YKg1}vIkDRAW972d;d^8(`qR({OlmaFkFrHqk`uQ{$s3(Ksoqwb&JcE+ihv zI2~@9r5u%9<-$B!>qc81w-$4UlINhGym*h5DIaP(h>a%ZOC&H^HD%pNS06N{2|oUq z#Ds-A&y)w||H;vXPda(lP%In#5)(gj@;wYlnz@~OoTJK6f}Obss<75N9y&pazK_?n z)dr5K7oj2QT2vb{;Y5!184_SZ6PIc8#_i>=8ZavuFyK2F**5v@XC~(C<-_FzKaPxc z7MiwWojoohNi#(2IJIQh?4r_0Fj<+KtXc^uO=`A|YGd7$-Eh|R=BCXv5j&^&;7SlMD><+9IFvL&h85h76}}+4#$5!G*by< zmdq_m1otZ{)&Z`7%RLZ=c2|tXW#pXZJ1ZKbWG#9x$1yhe`9-*?46`aF zv8x#yLnqZUIEvM6x4|k4An>jH4gE+3N8Cz!JoZeiR1h3vkVFD=YmwBoVtqG=0ZLC? zalIXlAxo!xjSk*zf(EHI==IYysaJ!EQ?Cv-YjA;p&j${yCBjl1)hBetWY0u!`Snq=(#CSh!g$j%N#`^c@Wl~&?hnM+lu$pZz z^BE>kanqd`_*kt}{?zEQ-&NTj5rUV7AW+AR$IDQ!=`jwEA0K}cup=?xsT)5%^x|R# z8kR7?*2v?M?>AP+DoFQWX(@qPnxWR+R~HXjZvcndx+PjLvA9}(zTeH`V$(q@Ch=1# q=*ks%!UjBtIrWKvxcXQ9UUnx~N*n@4z`bV&RU7Dk=H>o>zyAZu`!JLM literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_hurt.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_hurt.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7afa99cfc08282fe2df82053f51d4c9c93da1cc8 GIT binary patch literal 18004 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 VB&Vk(3H!;#{7rS>sj3&o{{Zdi4@&?5 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle2.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c6f6ea1dbb56c6831be735263328dcb2273bfa71 GIT binary patch literal 25776 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle3.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..381b77c3e15b60b7e7e2a645a53613e3a0d97385 GIT binary patch literal 18250 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 E05~IT^#A|> literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle4.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/stratoshark/stratoshark_idle4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e4896b6bd274153e485c96701250c743d01b588f GIT binary patch literal 19594 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/block/skulking_fright_egg/skulking_fright_egg.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/block/skulking_fright_egg/skulking_fright_egg.png new file mode 100644 index 0000000000000000000000000000000000000000..10089a41bdc0c6786b4ba6188f73aa6bcf650bbe GIT binary patch literal 428 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 Q`v3p{07*qoM6N<$g7E9WoB#j- literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_side_active.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_side_active.png new file mode 100644 index 0000000000000000000000000000000000000000..4d12b97892b958d7cd34b7f0bb006066b1bbdcf6 GIT binary patch literal 454 zcmV;%0XhDOP)AStxQma44np)0a9iLCQKM8M&w3Zfh%warj#)ga}oy1-sLos9E*&6_HWhF zm#}v|t!Mq8b^6|S$8u$%ycn4-mlxN{x!I*O@>v*}8?)@OH`b1xL;dqETwmRWr~8LA z@>v*}8|mtzmiE{i*GGrKe7#5G`gvyy^Rey&l#BW z^a3C+`svN-uRN;i=FMH|z;ORqN!Z5uW$Fn3Umg`=;o~*DJUxcm%~?S_rVGvTsHfU8 zI5Pa*1s*#+J_*h8Xt8fpAQe_r9+MG|$*kcqS$ct%s4AF4%=dc%U(Nh4FnQ_%;B<$O zieqZw79Nw4x?slWTb<@+&-0(>F`1irOlA#_$)a1dE~`4{eZp@UCQC1Hlc(l!d~zaW w;Z@}|M*0E(0RR8Y)+!YM000I_L_t&o04e#7<4sP*f&c&j07*qoM6N<$g7>1-n*aa+ literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_side_inactive.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undertrial_spawner/undertrial_spawner_side_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..2113de32994763fa2eb336cdc65628e346fa492e GIT binary patch literal 459 zcmV;+0W|)JP)xyj@%1Bv0{ zb?WF!ZhrOY`#JB=xx2pS7q@qg%9Z8ya%gb4?CTv!mCwS+Sk1D=+IW9=8!oQS!ujz@ zczn1|mCwS+Sf%Hu=d{M!xVE|!78hoU@bNpjJSeJa@9O-ZAygUv_WF|6OplL*XhvsS zPg&p47+jNF6O-XQCZo*Mw1Hjs_P2}8t&QU0<}UCUZxbFfHiyS#5wyDj2~{UGG&iv! z=Q#s&o^Al-NngD&{gg*tot>LcFVNl5UlKMtHW_l~f6Jpr%uY>&fB$R3;puKcJmwYt z%A+^+EVXsDpRd4U*XLK^uRNOU8#PFWHI>I?#A7mZcubaV;7N29%ps;1ZopSF{|ii> zUIDPXO-RQvy>JST$w*%?HTqV&Iob7ep2uWP<}sN$JSK}y@pM_$G4B(;%P?8Gfs`(U3}PXXLWqfl1sV$r8?Ef@^f7!BU&XgDhSJ1<1qKTbqKKXzG12qB zC386h3E$1^%>1*vx3?xbJBgaLgJ^f>FyZ*&e^4C&LNY zl55cG50a!7W9xhS@iDF?xwM0ZEx88i1YH?pL47PuvA{8sH#Yv-2q<&~UR)YtT9dYJ z1$5KybcJb0NF1@&;v4pY1Iz;Hnbju_)G6E-a}~|WWhN9Zh;n<^l&`z{rYQ-ZCUBv=td%hQa%8Yup3$B0Y`Ztbs2OQ6Qx@5UemNw5wv2 z`R&+;qo@N9d}r^y*8i`4E^DjS(Lt*a-)Ze`ryNrIhaGd)26W8v;8n%*n%w?A%FA<2 zQ+cRJsZbQgr|PSe%Xb=LfbPCj)*ig-cq$+#O~1_BQJJ0zi5-t=);88st1UGx)Vvu6V7Oj^1j&hCiu_{PRX7x->ABsdz7Vku8 zLKhh1^jhAYX|rkH0&b(3o6%jdZvjLYERQ9?x|_zw`~OG$sn?wxCKlZ$6DJ3FoWDT8 zjS;(xn7PUE8}$>=ZJ6IazZf(|tQW3ZuekmOR6`fDm;1gid033t;@(X0E+l{!P3|Qn z*@ML9mH_RJ7C0{|;|t2ERD~9W>s(&0E-oc^Q|N$$MBW@GJa|h3bO(V(@~R+eRNXIqBiQ3-~6B%T;EOioY9#CXDmIZy{^ z&|2dBTHAciSo>E>?*b3`yflLxm1ul{PB9I>zbewz(N0_lDg)uLcp+|zoB@qvY7JWa zetZ{JfxkN-Mv*RtZ+3vAXi`_hvJ3L~SkOfq8ju7UWivN&e00dvK+HIv;ok<-l*%Ou z_yh9x@yWCSj$|7Al*?{Xi?K7aa}tY>xH+$bh9j8<-UMBlV?li^O|ighByaJx5m4v~ zJUB1Jw8m@A4(O)c=?cwWA#uc7i*Ioj9AFjjuB<+BpibewSgY$>vXn{*7eqNbIhFH^ zbRAqI@_L!jptbsfA&Estg-;W>P?5oi^!IifqS0XiE*Uv$Am(V${sI61|NqZ~ZEOGl f00v1!K~w_(2s0LIlLHk`00000NkvXXu0mjf5P8*v literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_bottom.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa6ba52461ac943ab9b3e22aa13d28b4f2537b5 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uB!5SRt~O4rVcu~)^3jd zzCdvwPZ!6Kid)GH%)75#u;uyozx;3Fh4h3U2Njb4ySF+%`dTl{*7^N?qful~BmF>-fm1+t)ShF3pD&(^HEsKqKe(Qe&c* zSMvIrkaRL3k?R|Iix;G=vt5dRXyowVrG{FAF_lScF}(2gDUWyevYiggML42-_xn~? za(LK;8o0T-iHqZ8Js^VdhcfBy@6m4HXu$8K*3cS>XzVOtVNbFhkVmt5Ry1n$3c>P9 z;u2s0B?+HkYHO-BWXepN=_7C=vjA{3a(M6(Q>z_dIKMs)93Jfl_6~Lebd*RZ<@wD~ zz|qLz!OI3fHy}yiM@wU?7y7v;{uA8*PFu7`o5b9mLI6i2hX*flCYKk(U-1=4az9pJ zdGQsPk2ge&7HkOTWB|7s+=85TfY9ABpl^WomLv0*V93!B*~3yS1pBR0w(U_%xbvZa)=;15tNeB@)0 z#F)g)XvjyTSHF|{_BJ#1%ze)DJmIJm$dIL`S0^BFcD?W0+1>E1Z?5^6 zD4tBn<8xF2N5dmSmJNVzfJxy+VL_2wdbun96WsvLSd7P*)SR7007t_kLzepW{X-0Y zsYk%%e5}Co)FW^|?j;hmU_&@x25_svE%0;#gsRedeFKcgoiG_XfTQ67vgkTNW369$ zdpo4PwLuEFI6}!^7ZF@Hp5t5s%5q(V;vR literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_front_on.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_front_on.png new file mode 100644 index 0000000000000000000000000000000000000000..90eac17346d2e1a56db35222f6f05db8162e2de9 GIT binary patch literal 557 zcmV+|0@D47P)G}?twTvRMAg?3S~n=Z0;sVn^zZUujUxKnT`x)XGv zA}Ud1L?voOO^i|ezz<%1u1p9afs?uSoOADcXP9xl-9159G#dD|?Q3h$Sl<%-`x`a< z{LvWzIJ819H7>EXuEWEOa>p6PH#T*YzEMqGt%`qeXn62aL#@M@J_O^F4 zn2TvO7Pol#cFR^YJT#$(*sX7-l}erE0SVf6pXlSK4>k=k94Pcs>lh6okz5XW_%Dr5 zjB93k3R!SoXN9EJwh%6RMxIA;j!=q&cQ0R*vx-yZv^jkUy0Zcwqv62|PpwVBcq<#T zp^3@S(8$0SRL<9%GV&>dI;XVt|GRFZt>Dg&cpy zTOj8SM4BUtJb)OkcnjQ@{2|iOgDp|8w6G{Z4Ci&f);!!;n*gHW-Di6Pe!RN(4T^ke zG7#fI19-`8g676rb##1J`?n@lz78wa^2WgRQZ&7a?`ay$$k1&@QS z>HU-v^C!xt9`6U-tG5@bcU6Q2ywp(Z=Hk0bW-kqAcV+r@UZKvX(*KIE+B4;O!1X<^ v5+3iT_8tHL|Nk5vtzQ5D00v1!K~w_(!Wupvz+FvS00000NkvXXu0mjf_b>fA literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_side_off.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_side_off.png new file mode 100644 index 0000000000000000000000000000000000000000..10e264c695d247c6a05363368e21f694b8b53568 GIT binary patch literal 524 zcmV+n0`vWeP)*@5C9F5;s60ZQaB2f0#8 zIdG&D2O=3JiIFfvMkr$Vy!A}K5hqih-|u<9&-ZzH-gkbl>u7Du8Ff{WTvIIOG0onl z<1vl5J3Y<_bpJcap6c*0b05iT=msJ=JjA9uL=)Z?zY&H+a?3X&XP}Y8LoqevTyj6F z+4+QLV=Jwr^tCeQA)yCBBZtTQ))71h zSN!@_zW&?yzd1lC|MJVntclSoE9$*Q4Ad4(U?VdkquQDnZF*+hZ;N81pn-|(*J67= zrjaXXz_^TA`YEi2Xe<{5jXY2Y+4BoI9xQ;78FO!YS7Q^Sp&)4F0Wa(y94LQ?PmPH2 zA?EdeV{iga8#pkw5(JI$$y-A|!H@E=YO4R}-|w$_|L%nb O0000j8EM{%Vioe3ve;_-`no_n{NW_fLV1yat zBOm!__?^1PGh$`xH_v^p`?~M$bDrn8$?=Jt5$)~Ijm2Uf)9h(F9@BWbo2!gKAHVGF zjV>-SACbIwiP3txhrLD&)D}!&BQqkS+L{<`X?ekKi(;dofr;$bVtan4kt=AxxQtobP_L1p zSS|<}d7uz(?;qs&V*!lJm`Cx1<`-u}LD0wpUN}8ER{juw8WH1H%6|`GDY0>_Z0hs-D33g-&Q+53a0jU2PPp~G6D6~cp1ZeV_1%Xx{6`uM7pXH-k_T<- xU#0MvpW1f-00960sZwaZ00006Nkl;)sCn5j<002ovPDHLkV1oN>?ymp< literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_top.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/block/undervault/undervault_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c477f33035d4532ec11c178187fbef260c0b8035 GIT binary patch literal 555 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 NNcVz)R=y@FdM literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/crawling_blight_emissive.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/crawling_blight_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..b905c9377e8f7b86ddc71fa6e7c3a89913319d66 GIT binary patch literal 2597 zcmY+Gdss~C9>>>uTPriGV!90*)zp+mn=MY;$tA6l6lo8VGF|4u9yuDd386F#dkdj0 zM4MVjhP_jpCNW)>%Q@w8R43Kebx!E=97#nX%=!6m_1Dbvd1k)rv%c?dt@k}B4_<6R zO{6dkvj`0ETY+IXe8n+=DSSk1(W)>^*c9mJ6OxF(YWd-CbEB=P;in4U^N;p0zB{HT zv>$6tKHqA4J3t~_|04?bRBq^bY+*0m?;-8kVLZFFdZm*p_t)26T|0aKzESe!UWU<9 zA`hkU6Gz%Qi0o_|O*BbRW-`s)|0>Fg>ECtH%uIY|E^^encNi( z@~nU3#jHgX8)j(8pB`UchCIjjpQRmfQZ9@A-O6*k9P4t*ww5`w81=Kdz6oU(uf{S% zO8wbXxUyBz_reG(`6#f-ECO63GWzE-2y*GFQ0Mq%^eFJh^fyi5^1Yq6wD1;JgWmUF z&hbup|GsCqvh!$zG<}6K2G6yb>B0D-duE2;`u51~Z(N1`B-*l6VR%u>+qg{QK!07` zfnya5ycZ;IuJ#g$Ql;*N*q-E%L;Aj)FCUIolx>Pu2=9kCI}-vA#*wV~^0IwoxUcy` zv_tQQ16?VO@86N_B1vI{G5{~iZ}R?lvts0CUvuNor+b4&+nBG36K2FevRFv5pIgg6 z=Xu+)UU3CE<(<0`(Lk9`)l?YY&FK3se_QXnrG4)v;^;Z~iw*bw&sJJPkHg8Dg|*)h zdxb4?kD`)Q4@U&CG8UU{UcZFcY%9lZF4^h8Sdcc{FXz`>DdxPIzt!w6D$V3nh*I95 z^A{TIaWekcsbQLR}Fq^7#BVI$$@S&aF%n`zd?r=8_ zRv1&hG*%c#-qmKiMpbr?A?-huphQ1)$A+eyYY87?DjqZs4(UF3)%RA1C+;lrPWZ7S z=2{a?XeVq^>vF!mbGW!Eaa4YX`&8 z1DM?b>`1i2&<(4vWvi_Nrm>jSfei_0G1Rf#C&x8CjK-bER(I>jT@bTNHg_Mr0w>cw zJl9!wJF=rdqqtjFhPqvPCLpdtVly?PK!k$r8lu?Cc{c>k)^h9t`rCI*Hq0as zY*sUEumEiro=DRJ;M&w9EwKw8IzG^m{vhM8otr^hfsC_koz(=8;e!V81dy5F^1lcq zgaz4~o)(}yp&13j6v`Jvlrs0)4Iu$f)g6;r_RO!)EDuDfnOcykz5B#f1Vs>ID`N-Aj1ds;?p2=+NIYX;m`~xPxDir(u@Kj3S}qA3Lo*st8m&C383p7D2BG)inss|3m<^YW{}BS zI|XHcjB`w*C>34;eDGA9dK+Z2(ryWYK*l;f(noR?WO!h?LNWj{Tjr{y?l2JMrrYN; zRUpFyNouAWWV(fCj&U@|h#G5&3(yQ7=*U^n%&gq?{%9Y_NWv#i|-&=|OFe7=KAdL)gn|Dom+F;*bc zm?SP(qfj2`wdKZ6ZDP26h%)$iI!FumY0zJei{^hrSJv> z&56`oCN8A$Qv5|F1hqp@cHw71sS}Gu-RYMiJxoulb+H4p8iKy{+!LZ;@4{Qu_u+Qu z_(iahGySs|3f`hTutm+d!MeKzHfL}o>|Xdkml9W@AwJNNZt4Qe?UH&m+5kG{_gA8m zu>O~ddY2erqdUtau2HaXEMV7k47tREOt5>>QZ`G2w5Ljvg=Znn+Pu9%tSu=++S9ks z36m`4ShOU`Q4XDi1hqaP%Hbz7MCDJ#S{NQ}R%w}VKHSL$BE?ec#$s2e#Koa%xbQc3 zqCo`)!|ih1@BrM$rx`eQ5=Q6c+uo=sIDQ#jZA7yJX)=0LolR{F@f3bFzKz+qyne+K|S|3nbL z%=qtc41RqN0Js1XeI3h)!u6tu8BUX71N#M_yXyk5CmiLB+{)}vFa#EOouSzU``UBT zWt`*sdC02T8xt|!G-GXjR;#q!8ytSUOtp8c&a>W`R34k~k%oW0V{iGH@4bS|IU$ef z9ym1OUTUV3dVg0JJ$B?eswj3}Yh{i&7jln|9{*V!?Yy7SPQeqMqc>WlZ+$@@Pj~Pw z5M9u?lb9uGKIxkb;o54m<0Yi%Kc1Thqo-g0+}IaSs?*465>Fvr#`W;%zUY;(kArEm z+vx+dIHSO+xw=@ABK?LLKO z*baHS(8k9$rJwX#UxL}g77C`q?)E>Puld$rr>P#PDv4%HTIzUr%M|yN;&WVSVhd`l zKS~eqtk-DOTc1XIQ3go2vL410TJE2@@=Kq5?6Tk+?t=e5zF;u<{o@Tc2YQYPg+uRj z@og69$Ubsfny91UdVu5CG3K$o8!FF}#7)Z-n_zjrsU2n(SK{~c?iS!Gbfo;Ak;px+ zKeZFl?e~*`8R|U#W9UAq-ODNQ#HQd`+;iUkm5vH4VmZdo#nim5L^<#3cofCjk+zMP zDUDXMW+Hdw7j5IUO*+7vS|k-h`(}3>{v|d@{-Ugk{p$8gc98)NEvKWk??`GXn{wV8 z#a}O+;>D?h;|yZMc78gcM2|wT7I#1GjzW_wswz`FoiLMQPvpQUa$lpw%EUDs+YX8q zBHDk%hXiF(u6k38*txPhvN<3r_OYtk$fdnM#Fq=5pxy_Im(e8yV{bVPS#7#*oWa0x znz+2^RS$mx7TfW32!heE$vjTHgorD`Djcy*352AX(6)Z;QR1Q|_2FHz#lWUqyk5Ju zc$nAt{hjfqqrTG5?I)Yp@OzANNT;XF2MJMoqSe_aGA z$1}a9Ew?)pxUP>fkb0h#Oo&iG-b-iv8u(nB3;IH~JIuJ`bLaUL$=F2-9KQMARLMlq zoILq~a)g*a)+_;K#ln&(b2Ek(+`*4p`J4lk82|LC$yilO`T?I zhHo5q=_yDFoVlVjQVuxF7$F}(0TyuZD|n5P2QP+BTa;^cT?bOoJuh0{Huwd2WZyb+ z%0L(7axl?S4n0d2rjBCv-2kj|{99InQA6~3rEK(7^Je-{(sf#rfK(X`y{SffH~Rj~ zGOM?(G7F`Dpq6F&EGBlS78#(Tjrti96QQV6Diktu=TZKkUAM7kd>}bJR@txAVJA8jo=p?dz z$#fttn+0<(*HDf?NS_P3_&a_RLlH4v2bPYz%f-CB`sdumlO~dH0-@h=f1d# z`EWZa0MPBe`GHgnxr3%fbV*?ky2%95`-)cEE1NYEgHXlmBXJ~jlfAX;h&mYxAGfFj zQsW;iF^N}9_RD=m$NC39@x(XNv;uVZGKV%eZ?V_DU|!zzpqRffTyzAApc1kju;zu8 zVpC=xM$Ibl!$eL=)?{iVxXHZw1Q)7`!4`a$1h+4pA_DhauG!8XykR^mIVyG_#Ry`B zi1$jbfC!CV@6E?<$CNCh>4#qL+Ai|Eto(38u`2KY>K2dprb4N&2TgB31bRpB9n5Iu5}g;hRhx< z@$Kxt#Mr>$LfA`h;Hw5bvQ7JpOv3sHgMkbEY>3#~lnr%8=W7T4)ETKD(goG#P%{Wd zegQqocJ5MBZKL+84&{{di`d+$gNF$;IC6bjR(9fQ;3MVvJ}IOE{7wA0*q<9$SQFL= zO|pM5c{dnRzEVb0qgUI{AlWdLw@k;+Wz8S0X`X|O8$Yw)!cZ3KDw&9JKe+x=pkK~s2)4%6OFTi(|AnBU zc79NANN_i~Pv`=tAuBcx6q(9E>4wP329u9l0`z=I-8PviBSc1W}uw^E> z*zws1`|sqL`+tY=6N(y29U|B06rfDlC?Q9f|A|gC<2&>*{+|Q*M|_~tZ)INEIf=&K zWUjE*LL70660xh)Ehi#y#Y0jN_;gKA7qgQ5ROo`?f*R9`m{zbE@sJDD4>r!J`EXs{ zUT18`T^ylEbS*?O&m|RAM$5bT<9(!fZ z#woR|xr!Wg(q0$V7qkp~IQ#-Sij?F@*qnQoiZNs8Cqd4RmBb&&f4q?v&kVxAa%C~#vw(6`lVCya zDc%y2{pXK!)4V=>F8aWldE6P4H8f5x;FRC&0JIu_L3}bFo31rPjT1>bOdO+V8sum2*WY} z=X(7P#3FtFt4hq6Q}9&<4Z8*yQ=1vSEu*O$1vv+WIxO#;Wv;em5M zhiff0&R60hR=}15BfS~dW6kn>-gd{KMG`SdeF>SMo$J*i+n_Ier-56abM1708~p-# zC+2CO=RZXauJCb95dl(E&>x2IL%{Y)lOd_X&n@ZOi?ZIwh2<}ytHd11TMyz^O&0kVJW1-4* zEr3OV-m7gDhM=uaRD%e;Po~N<2X=+IJ9>U!5|+Be#8<1RsisBH-i?&@esd4$3fFZo z*HJKellk$(8IeV{O_}?lWDQ%$%1&pEe{*a&J7EITA|0{3rooT_$-)gur%I97UXHYo$tc-SQw?m zA#TByT;6P_YGvJMhq`BCg}B5of2h@^OO+pccYqxtZQ(Cwmh9+B0SED>k|qC8r8PxW z{oTm3-Ekhw^$^g_@S7PsxLNM>?3SHc@-r4DlZPa`jJpk&WmbHi0HdW2rxsI=GA-8K zqx-{AUo8$bYGWYJ2O;8A4mMgwVTw7UI1k`w;hkJn)f)#R_Oq$;r@i$ncKYH}u{AlW zIQt#ZiTiTL@wu(jDrxITm>YEHxVt65XwU4q>&{;y(3HsVRm~Ru?UPuxxp~5r;~Qxm)mkZ z+0E#brH0MP31cD7>cl%}6#QQj>P~w9)$Z@Ve~Zxu_d{Z!YE>VpzSF?OVnDHgzi!ynp-T#A=Eph%nKUXt<5ksa_jD3ghsEYq2* zAZ{W<-=7~-iJJXg{UM~;>({Rl)ufCUI2gtgNFjVI75{>hWQCoCiXSW2+z*+qVL2=1CVRH?^E*6 zG6sP`n2%Yugk!ZM7V71k{GYW7=oEkrD=I{6G=xiE0L-O%5`J9-Jd^%it*Xcm=S>`nTQLlI z-u_jJZG$#(MsHBYjoq~>2!gp-#YU#FttQt*=h+Cv9iHk!TLMGLth@i=iu&-d6OH6(njrV-jp z{DWEBOV>dvK7c{%AgWz{uby(2u0R}Pzi=r&NI4Je&&TSuB9L~ATx!xY;BuR4J4`^$ zE>H1(zJv3A%l(W<@+G~&*9C-_I6Io4VcKJ@ZW_JmO2k*S?uWI7(ktcJ*g8|LC`L8u zW?%m7^qBO-!3W4C=X~;*O?Qq=2_Mi0;hXw7loX)te@3HuYKN5q!a6sKBDpivN4o=x zo$_VrvO~$ATMN@eXigX4&`r7hRuXRn<4IitEY|xr&$?dCHl+bc_ABCj8fVQcc!?XD z#AU0nihGsx7+J@D(=d$}P=LbDK4aGNk@E{}k{$5uv2fy>Bf9g;O8s!Yyq~*;rR;VE zvX8C`HuzQ)m(9{BN9XEUY}saH(f)2&;w)Vy1^ZQjW#7foM}ua5t_{hMBkEPG#6-@YA!3L8HVKhZEcnAwlp&JaV4(5g2{a`o&6$=ku3t zaZ%sME4~4OLSePLV236LtKGczllBwlokh{rAxf;cgeZI)x;&Sx?>fKs(TXkEcRDan z(*}QpHmcZPZQ`D7QDGb-}bfe7pM1zn})JEt#!mNsdq>Y>XB1*s78^zz3}a}+YjU)2X+wY3wr3M8gwTg*1yi9 z@UwkL77#<}v^*yvRC@8;?a*T3kT=JkAIZ+Z60tX-21eM`4qx|Dx*B#X{CAsJxF)ki z5UuMmPkQ$!kypc6nkI8UKTKyj5z%`K2_*?Cw62Z&A6^q)if1N(U9DLH-#Wy_lFsGli?}^5Y4m*ansL{ORVAQ@UrvD-z$;r*oNEdHeq(a?KD!1$E zi}yOlAj1HT$Wcq;DWX-FZK2}#{?B5o2Jf4K9GXBQ%9zf+78^S0f+@gkh?3u@CaD}_ zm<#Q$d5z3;t8n}ZYo2NSmEWp*CSa%I$iSEqFzUzF%Mx;B^(?f+?>U7J$0q}b_gSu>MAjoIre`LHeCsrD{9XF5W;kY$xZr+7U3R8yEA_%X>qw?pyU zT8OP9ry)4uK%I2m-}qe_;GGz@1R!VyqL<~;cp`!_s+X=7Drj%3mZ*NiH+rAZ!0HR< zEOuxe%?8qo{B;eZ@v8U6;#wm zac>!5oaQobS1&ynzfiprE_tT?Z0LN)D{%ZSfcUrD@cqZt_k0|JT3yP-`7NR{i(fdZ zWa|jBF_f+{b=&+rJi-Y}4${9TMCqfACz8%;woC6*WcQJJvzwgXwlMLH_)5q=DHtpy0ExKH0b%_)? z>94(uGNF@1ehqPeYV}K;N9vbZ4)n7(>9rUzU|AxDIBGua=~Oyi7M|2ZX*2y{Hjy?A z>^GeA5{<`kM$9(QU8KOznyZK&2L>ru`U7$v)mB2=@Is^UL@9OFz*kCwWH$Efe(o;d zJD-czxfZfyeKg-s)L!IhEJC5SJk7vXi2Q5sD8yk@R+w=jzRTAodBT-{nD4mYKK>}f z`W)AeFPpBvH&!`&m4VQ@&>>n9lrbHIX1nX9xzFc26uE11S;GC=bL#63$a}^r!tmu_ zs{J?B;+xu`tcOa(=%5CELtp8b~C(oY4Ji@n09_^Mp5(nC}=D&T|dgW4b zf&cXo8?rHPOGjq?j#~|xuuGaa1O7-BrElf0YpHS)jO?u8S!*~5ae{Od} zY`@TM){3w0L0aRDq`5;}c|{Qtp2GVCeYmt2GJf5hVPNasTF+YC2E#$hY173X#e^}f z?xpF(_S=}{E%Oq;nr$UF`M|KnU7+qP2XYB##5E!@6w=8X!BlqFkLaVO)XNzyK$UM) zE=UD3&Yg|z+<>*iv{!3cuvyUW0`WdOV#T^&sihIB-3iru?fFs{p>Lqp45!1W-e;Rv zW;t{}VlUU%bLiQy%)H#Gdh^(H@-L}Z%2I2N0lmHZNQ?I*;Pq!JT2%aOucfQ*`4lkH zxX%J$PJ^)m;%D_ha0z!AAW5H{0fS8~1Gu;q&H?}5>HpOd4AUV1K&M+P1(W}M_c8vD a?ID1e%!jr-rDM;38o# z$K~frvl(E5JbQIgOx8xk@`nE$=>J>dZT}g)=a`t@>uotJ1`(+l0Kf~9y>@X?ipv$% zQ}lMx(V>9sN$ZQT=fpmFFwCCuF|oX!!h2OP5c=M;W-R?-u z0H!FH-z~)Di~zzmyqC!tgh2W>PiX-u;G-!v+5OC|?-f}i3*rN*8KA*?1&MppCSZmk zR~Hbg4P%thQpa}KVp(K~iG~mhP5W>A>UEJd3NHa9xb9c_UxI7_`feD6@|fvhuab5H z?GrJC+-^V(EHpPd8*nch7t-brXnURlA_bztB=iE1+1(Y8`Qn7hXDS_F19+~W@DJX7%^A;^1qv?#_z*CO3Lv6S zM7_+MB>(^>fF!tL&zMK_&NJm<1QuTc2sILbRUh>`{sS@5vzY_{Ox;TQKQ9UJ+?liD z(lL3*;+>5(F(oeR7^XR(_%;BI+2JjV5$Uuqz>T~(gU{bTTM4k-@~r=jPJ5?Ed}#yZ zFe1r{_`nE{>T!QPdiR?0@WJ3Cg3@m{JhxBot1V{>_-`-WGS@kuVwlnM=R?;5Tr6+8 zFWY^Pi1+n<5HH=arF%RGf5YQDLi^CM_>6k)f86xn!1upCxl-sTVn_mLcP)DKV!YdS zc4=LHE~`%)@Y_|py68}Kt$ug{U!C8f13SwbWN+*c=bC=N2ixd(c>XkFP>(-eIK0>q(v+%sPHhz-Kltx~`Q_L*q-&*b-h|Ja4*s(v7e{qQXJt>@#r345V-5>@H)96z(g$NRhxF5Y<5`U}XGC>>L zWP}YpWV0Q(hJ<%c()s+FgPwqq1ldXe)w`q!_K1Qp?=1bwqye_ih>lwqgawg>s0WBo z@VC|deKtDG)S`27-@k&~4#uEdgI+E0g!>=<%JpqNwx3&H*Vjk;iDRz}Wcrs4z71dm zJ*uk?{iS--Un_BHJ9jB8YoFYcR z$Oz9msCj@Kfl&a6f|uYMZ2RRln@Gm*%NzLJXAtOoQwmUi9RO)D+B~B}z65@5io2V( zMp_WTiKsI)qA{4NlYDwsC%Tp)gQ;Ke8NhofL=5x_G7L;dh}=hg_rp%PpQ3l-F-MThN9mqX%4_DW+GA>sn!CEpJCESXc+Y zB6@>MhE(*i&axNd`U6+)?|k>#2P|{xY~qM#0cDLSB8M27V*q^9d#BGQ?{tm;|;YL)yZ}dVdSz_KlJzd|jhP%-Vm5Q3yVhSwu@FTNt)X zsD+XU_yd~{msVGs1doYb+tQn&U@}cqW|D2;%DBND?L%uH+8AL_AdNuVOEd{V!?s>^ zG?yqzh|HPL6>E#p3s*K`CiKQFf|*zJa=TEo5oJwfsc<(at?-!^MA)cv^Zk-u$1O?I zZT&ASFOScIQ(JOP0&4&G&6i6xk)%dF(_9|_2#8H1O{tM^N_-%-Ni1o?2U5XeM0e4a zlHu?dhNy?yWkSuCwr#@9PXm%VNI5fEMXRwN(2E49;D%aS5qjI5qRk1|dg@*BlO~Ej zzjfM46!O`;vnNl=Ph77^Ywq|fgKUM`WrDLsV>62Q%;0{ak;Ag>QQ!q8Y{e$Z0=KN- z^+lb*dQo%;e;Jb4*VCQXoW~Dbb=`IB_xHHWkX+T2JzX#_~Q#l z^$LWLk#0sQXMBF5ZCl>pOT|Skmsez@X8>B`N4ZVW`{jyUV@>B50hcjP)e7Vv3X$sy zo&-E2o)s&J@pjqZloH1Mfqu_l?N2XIo<__VrWA8X2DD|8NdbZ{AolXS7iC=A3be}x zXB8kLdWdV&lVvGKoF2UxXRNrI^1pUr;QE?~_A>h-)`Hn`;kqVR(f$G+&V`%A_& z+@yeZ8-uYZiK9y#;y*KgZm+L`F}~Bz!a$V7UJAF%26qXd2n55AdccZ9R;4-NRNDhc zQb9P`())?{^_{!KXYc$>W|Dv#yDo-ro=D9A0ZZKLouvEwZ3)wyc@RD-llT1W%euXL z-+M$>DEkNiNX-B=^-C{oz*f=jmoDT1Dl^v4v9UBS7U$lOZAgKvhKc++%c%bWx2jPyy08R6 zuWrUOh#6Dx1)t=~=whib^9`Kq2GYaNwdMmAH(bHf)AV<>1`ZDcKl8_Lx5su(iC;eU zh$jW6#Pn5%#F2Zy?D-5H>3KB3>jwa&(z?O)P4JBARh0t?Gz&OUrgq;Ihe9GSQH2d! zg7wT>^7HW32Litz7NVV`!p6Tpa4PWKO!MNo0k+%)0!aa=fi#97^?W{zwGkinguvia z%pjHa5DQe%LYRKLlL_76na~A6Elq_DKt3RPzY=vc^mDDSVM`GMqLN0@`$70`-2FK% z1$tqC;}>2HONk5Jk9+A@`KP@BQU&x{VFSbtuMaTU*9sd^1gGC@nLs2327@%&pq946 z#(lp()Q0q^d;bnjP3pY3(D}OIvEbLxdU^`o#3o6B@BjAa;{K1{Rj7zzk>O+ncEo$I z?Q}zb+AXfzH7(mGmqx|G-BSTw?2GJR?-W^f)E6$3e`o__V1gOGdCj3V{^&S3fQSho37`TV z{Ni^Dkuy*RI7@(j=f;s^NjguK?N!G(VDV!d4&om<{u3zy$Squ_2lpGrH)`fLAd~6f+JsgK-vQBtM`bJ z(+kx|AOYON!8s>IkP`^*Uug>{DKN5km{$8s52s;Z5pv={bj<{wBshBHXHp7Cq)Z=2 z@#Zw2WrULiC_+vghz=&0^B7>{>{&k$_r3S75io(Y1x~*%*XdXn)i5v#Bm?M0kXQ*9S?dQg ze+)wk-)CZG>F_){N-G0X&~}mvkOchUoa|79y%Ci^=*N%kWIjS`LgJ=_qSP3={B?gwg9BSzH8p^B{v;o000ACNklwo#%kJ>N<;RyQPlgD$vpQ6J_3X|;+to@TOAPHzhP@y}V zmWTg++`SrnZ)E{rolUYoEDUy#CP_ zq(|`DzuzL;&pv#rvcOA(^eVt3ItWf)L*C93Wsb!c0Z#b<(EFQrzbXwt-Od;;vG}BE z@uhCn${%I)Iy$Wsy6+O-;V&bEm*kTWkc9+@B|cy&j$Ia{PYU&jF7>|xZ)XYD zY@E2nQC|JLD@r;HcFPE2IzJEn54cKzKow91v%=}1qK2rR7GKJ(3-E2W7r{ft9Hdu6 z#UX{NJs7b}N?QHtA^|j!`HG|jwT)K{jYU~2hssc{=oCjJeMgQR=yr&Ae5W>E8WCP* z2dT^;3=8Kju8DW<_@{0I_)fJ4iSUJ3C5x5FjgkUot_qq2BeWt15uPLf-^M3vh6+Cm zdwpQD@}@kWk^nX)NRtx?@$Vu5bm45XN~rPNfl_v+Bw+iLaTGArP8&G0D41m{Iw=Y7 zF)i;DrsU!!bB1deSO7Q=0c|~87zgs|o^ z^jaRb%;@W4(OIJ(Q?lZuz%V4Z3|1xNZA4tr=rR|St{9*P*a%(rYT^Si42+BFk#C~k z;+%X1{csmQaqN}c=um1Kzy>~fRYJLOTSn1_GzdinnJ1AKjVKcaiUD+CNmii2^ymSh zISnxg9b@wff)Ny>m5m7oiUIVC=Rq8WG{ooooAnChu@NrvGGQQ90Km((fKdG!(+AFD ztec>(Yq=+Ldr>6Cz%hU|FeU8HooC?KQEv{tahALBB)%LW_n^U^^mFhVKDF~IKs{Bh1n-sj|;U(eSk z)ae}mSNs8RR7%B3@1&lWuaCF?l5%DgAg`+w^2}0VrBQO>_jsN{+NLrjr9I7#Q8uL9 zdGp4Rp)Ve8ha}}|IjNAVvW?sBK;N4&7i~w~{IK0kI{G#Vy?FNy3Gi*?u+z-~^>>h< zVLTKtChIc?h8_p-)q;LfHbti;;j3WP6X+954IKQbm`a9#^I;xI2@RV;7_OF%u&CBo zhg%4K7M*TGVUb|&C-8DP7hTJXgps*m^h4ZP z<6Tl_G@VW$OwJ7BB`9Aidg~DSnp6o~3|?6qCaIP;1|N~Kb*g*=ro|KM|A2RlZaIb} z(aX;yU~;X|T$BZ|s<@DoDTf0vCf-*R0VZdwGZsQu=0q`giT5qNpgZ4{-y>ub+VK$v zWl^(o*chzte~pc9amab^p@7Yfa9Ec$Js$94C(IW?cYHKBOUim=-;WTKxt4X>`+?Da zn8cbmG%pHFzm4udSY6rrO7H|j_5{$~I{6kM)AOHLEXCD1l_?luRf)Z#7@W7X3aLeUpd{5}^=tnU_%AU}DzGZMmp40{eHN@lVo zC=6*VvBR|5ZYcvT=*cQzIAYH>&#(|J|Min#d@OQ(yT*fbV5eeVvq$sT`rtFIFSa+9 zdKMi#XdWX}3SOZgq5P`i~X$muQ!6drC{D zXYT2|i%%`Nb)Nawsq^fsXj};QEG7ePNm6BMFtw4MW4m0n=h+=^DSLP_bGE+N*i+;X^_Qgp literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/springbug.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/springbug.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33c5037acb04687c394a255237582dce055802 GIT binary patch literal 28712 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/springbug_emissive.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/springbug_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..0fdb420d621854514c8527c20add24b752995bfe GIT binary patch literal 7865 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 AKmY&$ literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/stratoshark/stratoshark.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/entity/stratoshark/stratoshark.png new file mode 100644 index 0000000000000000000000000000000000000000..45f4ba5a95a46bfff1f7ea4b4b141ee42a603547 GIT binary patch literal 9081 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 FV1h6U#-0EG literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/item/springbug_leg.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/item/springbug_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..f517ba33c6778b5cc02d1526ca5a2ffbe42e2c0f GIT binary patch literal 321 zcmV-H0lxl;P)Px#`$LQZbIgFc2Ig6l<|C2<{M43MvZfJR*PKf%k~~fffqdlX3!b;vz^C zK==w|DxD=Y+t)c{iEN#i2;TaX>rquq`MQzile6j z0HCCYKnVm&KuM1ksYNJH-yP0a{N*5$P}0M9k~TXSY2_wN%mq=rN0JrD^8x@cpMF+) zY7T}SiO|>B9nOg2JvQmlF3yC$ei+pWjI=UD@)6m^S)Q&n0b$9*&MkM66*Y3XC-gPG z)?3$8*#Sqk2ztavct+l&M-c(esYS~co5*Ew%X}HL@xYXylKqJslB{^o!9D%~wT)++ TnZ6T~00000NkvXXu0mjfJzIkY literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/item/springy_boots.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/item/springy_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..8a3fd730251368320b80adec4dd0f5b5c6edbc98 GIT binary patch literal 382 zcmV-^0fGLBP)Px$I7vi7R5*>zkUdYrP!xur))Jv@>R_=!h>@vr1b+(~KhNJlq9Y?oWh87ahCqXX zNIfqzx)W=*!6HTfG|Jv4P123@yafOOru>@*DGSmgQz z0Dx_la*(cDm$q3tI#mHM$aEZCD;OPJW02{Ee$E-kf+P`4)eLVLZ~NXd#x_eNAL3^K zz$#Agj*RMs5=c%1zV~!=jcJrIS}Baav>Q#~&QLa*VR3&^kq_fnWqX7DaDR1%7fOb~ z?zdr((0>#3{1ivma!1wxo+b<2Ya7CpP=r*|bz#(My2b~3{^mWNEb=Rul`=0ApLryB z4nk!=JPShQF$lS`40)-ab6cx!H5H&`m2p+UJQBk1U~Px$gh@m}R5*>Tk>4vrVHn3hm_!|;&5vnEGqtrePNS(^yJz`TbK{Eq5evCi{- zC<(iA;f9DJt7T1XA+b6OH9BgAdR^`0Y}9Da)%!m0^L(H0^Le4%F}oNMvx^Z?YJKJR z%T#ztcoqMj238g(+%DVy1V*Q41VA#SGBP$uscRSPx$X-PyuR5*>@kUdL6VHk!lqm)A+l5{e#lbVoa_yH~o5wy5SOIx|P)mGZl)(_}M zM0>Qf2qA%B1%lNeNz%u$kPIVQM2+5t&{EG}Yxneia9!Nb0~*;%#Kl%3F0}r-GoS@~ zZLWS;Z9%nM#O|2*yCAl*B%+aUySCTnqMtE38hCtu0Pb!}*c}s8%fQ6t?E)a+G_*yY5jQ(WX8;|rrl4EYN;mkA Z@&yt)dvMBNR=xlL002ovPDHLkV1h8vx`zM& literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/item/undertrial_key.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/item/undertrial_key.png new file mode 100644 index 0000000000000000000000000000000000000000..893d05c89a332379d2d27c478b1e89f90248fe60 GIT binary patch literal 465 zcmV;?0WSWDP)KsHZ`upbd!BR7bDsCScIi6vvn#E?&?Pfci-Ftam&LhVSzFpSK+Txw zA{K*_*rx6DVqNx*SC#ZTs6x-nV!--r0R9`s)ndT9vD}(v2{IQ=Q5?% z)u|yj40yrk@yd|HNnPL&Omt2Uj+P!U3`jP_K~Tf~F~7vGw-n$E(nO}>razJTsyr2$1Rjp~|iATO>iBb#;QjorZ)qTu9IN3Ju( zdcO-l=t%G#KyX}Wx6pk5l#Ta>0ivK8Y?>PW&oflD{Qv*}|Nl#x15yA000v1!K~w_( Xh-9MyBYa8v00000NkvXXu0mjf!PeLu literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_omen.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_omen.png new file mode 100644 index 0000000000000000000000000000000000000000..de1ae001f8923d54ed6b07602e5ff6af9d5e2f1c GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=Cr=m0kP1ehQ-Qn;3LGo}OIuha zRC5v%q$8RxvRazW`EzGS^_53vo87mZ(wTWo+hEeEl8cu=>TKqlD|C4MN)Z*d7u*aC m|Nk?rIadcXjSXZPGed=!*v``jL%#q;7(8A5T-G@yGywq2nJrQP literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_0.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_0.png new file mode 100644 index 0000000000000000000000000000000000000000..2af95fbfa7dc7318108932394d91714de6d634a6 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqcAhSdAr*{M&NzxPC~z=e@Z{v4 zaO}XcNJj4!G41T~HhypT52v&Ee4o6RVf(ydj*3ebR~Wu`_2s=itT6jqBR2!X|Nki) hF4O=`Vgs4P%Ss literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_1.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ec02cf35799f8a34517900b49adebc186650a3c0 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFq&YmugAr*`*XEzEm2#7ET_#|+O z1>8FDPV9mH0%JzMnIiv}pMH8*)k2xUZQXR+h7hIqd9DC*e8EvCS<`-4_b~OnfWMbZ^yab%S4*?s6oYH`j0oa^$zVC&$jt!0`V+&y}TX ffab7)%wc9&znDw#1-EAnP=vwL)z4*}Q$iB}|Hmns literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_3.png b/common-1.20.1/src/main/resources/assets/antarchy/textures/particle/undertrial/undertrial_spawner_detection_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1c57c69d51a8a5036f41f9620a6786b4bd0050f1 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqCY~;iAr*{!&TJH92w-8p@P2(d zlkltqHFJzKU+f5;Q2sMtk|A@}8^(_Io`%Ew7A}gTe~DWM4fvkW6? literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/advancement/anger_the_hive_mind.json b/common-1.20.1/src/main/resources/data/antarchy/advancement/anger_the_hive_mind.json index b7bf748b..8f6700dd 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/advancement/anger_the_hive_mind.json +++ b/common-1.20.1/src/main/resources/data/antarchy/advancement/anger_the_hive_mind.json @@ -31,7 +31,7 @@ "frame": "task", "icon": { "count": 1, - "id": "antarchy:creeping_horror_spawn_egg" + "id": "antarchy:crawling_blight_spawn_egg" }, "show_toast": true, "title": { diff --git a/common-1.20.1/src/main/resources/data/antarchy/advancement/shark_weak.json b/common-1.20.1/src/main/resources/data/antarchy/advancement/shark_weak.json index 66b5ab4c..11c3275f 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/advancement/shark_weak.json +++ b/common-1.20.1/src/main/resources/data/antarchy/advancement/shark_weak.json @@ -1,10 +1,10 @@ { "parent": "antarchy:visit_elythia", "criteria": { - "kill_cloud_shark": { + "kill_stratoshark": { "conditions": { "entity": { - "type": "antarchy:cloud_shark" + "type": "antarchy:stratoshark" } }, "trigger": "minecraft:player_killed_entity" @@ -18,7 +18,7 @@ "frame": "task", "icon": { "count": 1, - "id": "antarchy:cloud_shark_fin" + "id": "antarchy:stratoshark_fin" }, "show_toast": true, "title": { @@ -27,7 +27,7 @@ }, "requirements": [ [ - "kill_cloud_shark" + "kill_stratoshark" ] ], "sends_telemetry_event": true diff --git a/common-1.20.1/src/main/resources/data/antarchy/advancement/soups_up.json b/common-1.20.1/src/main/resources/data/antarchy/advancement/soups_up.json index 1ca68d32..a4cd4c5d 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/advancement/soups_up.json +++ b/common-1.20.1/src/main/resources/data/antarchy/advancement/soups_up.json @@ -5,7 +5,7 @@ "conditions": { "item": { "items": [ - "antarchy:cloud_shark_fin_soup" + "antarchy:stratoshark_fin_soup" ] } }, @@ -20,7 +20,7 @@ "frame": "task", "icon": { "count": 1, - "id": "antarchy:cloud_shark_fin_soup" + "id": "antarchy:stratoshark_fin_soup" }, "show_toast": true, "title": { diff --git a/common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_mauling.json b/common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_mauling.json new file mode 100644 index 00000000..cbd46d4f --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_mauling.json @@ -0,0 +1,7 @@ +{ + "message_id": "flytrap_mauling", + "scaling": "when_caused_by_living_non_player", + "exhaustion": 0.1, + "effects": "hurt", + "death_message_type": "default" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_swallow.json b/common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_swallow.json new file mode 100644 index 00000000..6569b464 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/damage_type/flytrap_swallow.json @@ -0,0 +1,7 @@ +{ + "message_id": "flytrap_swallow", + "scaling": "when_caused_by_living_non_player", + "exhaustion": 0.1, + "effects": "hurt", + "death_message_type": "default" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/damage_type/springbug_jump.json b/common-1.20.1/src/main/resources/data/antarchy/damage_type/springbug_jump.json new file mode 100644 index 00000000..ebd3b2e0 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/damage_type/springbug_jump.json @@ -0,0 +1,7 @@ +{ + "message_id": "springbug_jump", + "scaling": "when_caused_by_living_non_player", + "exhaustion": 0.1, + "effects": "hurt", + "death_message_type": "default" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/enchantment/chronosphere.json b/common-1.20.1/src/main/resources/data/antarchy/enchantment/chronosphere.json new file mode 100644 index 00000000..61c8b34d --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/enchantment/chronosphere.json @@ -0,0 +1,22 @@ +{ + "anvil_cost": 8, + "description": { + "translate": "enchantment.antarchy.chronosphere" + }, + "effects": {}, + "max_cost": { + "base": 55, + "per_level_above_first": 15 + }, + "max_level": 3, + "min_cost": { + "base": 30, + "per_level_above_first": 15 + }, + "primary_items": "#minecraft:enchantable/chest_armor", + "slots": [ + "chest" + ], + "supported_items": "#minecraft:enchantable/chest_armor", + "weight": 1 +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/enchantment/feather_rising.json b/common-1.20.1/src/main/resources/data/antarchy/enchantment/feather_rising.json new file mode 100644 index 00000000..b81459c2 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/enchantment/feather_rising.json @@ -0,0 +1,22 @@ +{ + "anvil_cost": 4, + "description": { + "translate": "enchantment.antarchy.feather_rising" + }, + "effects": {}, + "max_cost": { + "base": 45, + "per_level_above_first": 0 + }, + "max_level": 1, + "min_cost": { + "base": 25, + "per_level_above_first": 0 + }, + "primary_items": "#minecraft:enchantable/foot_armor", + "slots": [ + "feet" + ], + "supported_items": "#minecraft:enchantable/foot_armor", + "weight": 2 +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_egg.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_egg.json new file mode 100644 index 00000000..800dd9b0 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_egg.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:crawling_blight_egg", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ], + "random_sequence": "minecraft:blocks/turtle_egg" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_eggs.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_eggs.json new file mode 100644 index 00000000..ee8223b7 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/crawling_blight_eggs.json @@ -0,0 +1 @@ +{"type":"minecraft:block","pools":[]} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/flytrap_goo_block.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/flytrap_goo_block.json new file mode 100644 index 00000000..b1a37c0f --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/flytrap_goo_block.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:flytrap_goo_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "random_sequence": "antarchy:blocks/flytrap_goo_block" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_egg.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_egg.json new file mode 100644 index 00000000..a12a34cc --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_egg.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:skulking_fright_egg", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ], + "random_sequence": "minecraft:blocks/turtle_egg" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_eggs.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_eggs.json new file mode 100644 index 00000000..ee8223b7 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/skulking_fright_eggs.json @@ -0,0 +1 @@ +{"type":"minecraft:block","pools":[]} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/springbug_egg.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/springbug_egg.json new file mode 100644 index 00000000..ec4d8398 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/blocks/springbug_egg.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:springbug_egg" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "random_sequence": "antarchy:blocks/springbug_egg" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/tigers_eye_shrine/treasure.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/tigers_eye_shrine/treasure.json new file mode 100644 index 00000000..d975eaf6 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/tigers_eye_shrine/treasure.json @@ -0,0 +1,162 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:uranium_ingot", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:tigers_eye", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 3 + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:titanium_nugget", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 6 + } + } + ] + } + ] + }, + { + "rolls": { + "type": "minecraft:uniform", + "min": 2, + "max": 4 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 6 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:string", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 6 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:coal", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 6 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:torch", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 8 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:rotten_flesh", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 6 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "weight": 6, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 8 + } + } + ] + } + ] + } + ], + "random_sequence": "antarchy:chests/tigers_eye_shrine/treasure" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/undertrial_vault.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/undertrial_vault.json new file mode 100644 index 00000000..e13a824e --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/chests/undertrial_vault.json @@ -0,0 +1,135 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": { + "type": "minecraft:uniform", + "min": 4, + "max": 6 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:ultimate_helmet", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_chestplate", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_leggings", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_boots", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_sword", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_pickaxe", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_axe", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_shovel", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "antarchy:ultimate_hoe", + "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:potion", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_potion", + "id": "antarchy:time_contraction" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:potion", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_potion", + "id": "antarchy:time_dilation" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:book", + "weight": 4, + "functions": [ + { + "function": "minecraft:enchant_randomly", + "options": [ + "antarchy:chronosphere" + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:queen_scale", + "weight": 1 + }, + { + "type": "minecraft:item", + "name": "minecraft:netherite_scrap", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 3 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:titanium_block", + "weight": 3 + }, + { + "type": "minecraft:item", + "name": "antarchy:uranium_block", + "weight": 3 + } + ] + } + ], + "random_sequence": "antarchy:chests/undertrial_vault" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/crawling_blight.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/crawling_blight.json new file mode 100644 index 00000000..563a90a5 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/crawling_blight.json @@ -0,0 +1,72 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:chitin", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:raw_bug_meat", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + } + ] + } + ], + "random_sequence": "antarchy:entities/crawling_blight" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/flytrap.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/flytrap.json new file mode 100644 index 00000000..2171a9cc --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/flytrap.json @@ -0,0 +1,39 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1.0, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:flytrap_goo" + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + } + ], + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2.0, + "max": 5.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ], + "random_sequence": "antarchy:entities/flytrap" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/skulking_fright.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/skulking_fright.json new file mode 100644 index 00000000..ec5d81ff --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/skulking_fright.json @@ -0,0 +1,72 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:chitin", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:raw_bug_meat", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + } + ] + } + ], + "random_sequence": "antarchy:entities/skulking_fright" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/springbug.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/springbug.json new file mode 100644 index 00000000..4b982ad4 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/springbug.json @@ -0,0 +1,94 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:springbug_leg", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:chitin", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:raw_bug_meat", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 1.0 + } + } + ] + } + ] + } + ] +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/stratoshark.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/stratoshark.json new file mode 100644 index 00000000..0b515fcb --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/entities/stratoshark.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:stratoshark_fin" + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + } + ] + } + ] +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/loot_table/spawners/undertrial.json b/common-1.20.1/src/main/resources/data/antarchy/loot_table/spawners/undertrial.json new file mode 100644 index 00000000..6e105225 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/loot_table/spawners/undertrial.json @@ -0,0 +1,76 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": { + "type": "minecraft:uniform", + "min": 2, + "max": 4 + }, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:undertrial_key", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:potion", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_potion", + "id": "antarchy:time_dilation" + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:cornea_ear", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 3 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:bluestone", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2, + "max": 8 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:diamond", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + } + } + ] + } + ] + } + ], + "random_sequence": "antarchy:spawners/undertrial" +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_blade.json b/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_blade.json index a571bd07..9593727f 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_blade.json +++ b/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_blade.json @@ -20,7 +20,7 @@ "item": "antarchy:ultimate_sword" }, "E": { - "item": "antarchy:cloud_shark_fin" + "item": "antarchy:stratoshark_fin" }, "F": { "item": "antarchy:vortex_charge" diff --git a/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_hilt.json b/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_hilt.json index 244414ed..eb198b6e 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_hilt.json +++ b/common-1.20.1/src/main/resources/data/antarchy/recipe/big_bertha_hilt.json @@ -14,7 +14,7 @@ "item": "antarchy:molevore_nose" }, "C": { - "item": "antarchy:jumpy_bug_leg" + "item": "antarchy:springbug_leg" }, "D": { "item": "antarchy:jerry_nucleus" @@ -29,7 +29,7 @@ "item": "antarchy:hercules_horn" }, "H": { - "item": "antarchy:triffid_goo" + "item": "antarchy:flytrap_goo" } }, "result": { diff --git a/common-1.20.1/src/main/resources/data/antarchy/recipe/flytrap_goo_block.json b/common-1.20.1/src/main/resources/data/antarchy/recipe/flytrap_goo_block.json new file mode 100644 index 00000000..fb572722 --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/recipe/flytrap_goo_block.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "antarchy:flytrap_goo" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "id": "antarchy:flytrap_goo_block" + } +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/recipe/jumpy_boots.json b/common-1.20.1/src/main/resources/data/antarchy/recipe/springy_boots.json similarity index 75% rename from common-1.20.1/src/main/resources/data/antarchy/recipe/jumpy_boots.json rename to common-1.20.1/src/main/resources/data/antarchy/recipe/springy_boots.json index ab820d6c..8c0f2e4f 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/recipe/jumpy_boots.json +++ b/common-1.20.1/src/main/resources/data/antarchy/recipe/springy_boots.json @@ -7,14 +7,14 @@ ], "key": { "J": { - "item": "antarchy:jumpy_bug_leg" + "item": "antarchy:springbug_leg" }, "B": { "item": "minecraft:netherite_boots" } }, "result": { - "id": "antarchy:jumpy_boots", + "id": "antarchy:springy_boots", "count": 1 } } diff --git a/common-1.20.1/src/main/resources/data/antarchy/recipe/stratoshark_fin_soup.json b/common-1.20.1/src/main/resources/data/antarchy/recipe/stratoshark_fin_soup.json new file mode 100644 index 00000000..3b9fb7ac --- /dev/null +++ b/common-1.20.1/src/main/resources/data/antarchy/recipe/stratoshark_fin_soup.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "food", + "ingredients": [ + { + "item": "antarchy:stratoshark_fin" + }, + { + "item": "minecraft:bowl" + } + ], + "result": { + "id": "antarchy:stratoshark_fin_soup", + "count": 1 + } +} diff --git a/common-1.20.1/src/main/resources/data/antarchy/recipes/jumpy_boots.json b/common-1.20.1/src/main/resources/data/antarchy/recipes/springy_boots.json similarity index 75% rename from common-1.20.1/src/main/resources/data/antarchy/recipes/jumpy_boots.json rename to common-1.20.1/src/main/resources/data/antarchy/recipes/springy_boots.json index fb28dc20..dd43598d 100644 --- a/common-1.20.1/src/main/resources/data/antarchy/recipes/jumpy_boots.json +++ b/common-1.20.1/src/main/resources/data/antarchy/recipes/springy_boots.json @@ -7,14 +7,14 @@ ], "key": { "J": { - "item": "antarchy:jumpy_bug_leg" + "item": "antarchy:springbug_leg" }, "B": { "item": "minecraft:netherite_boots" } }, "result": { - "item": "antarchy:jumpy_boots", + "item": "antarchy:springy_boots", "count": 1 } } diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/tigers_eye_shrine/tigers_eye_shrine.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/tigers_eye_shrine/tigers_eye_shrine.nbt new file mode 100644 index 0000000000000000000000000000000000000000..dd2c9b17c68a086cf05d8005b9c993399f5d3060 GIT binary patch literal 15122 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle1.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..744c57f8cef9f5802096944972193945fa1907b3 GIT binary patch literal 346542 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle2.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..a479d68e81f8087b1911216410c9f477d68fd72f GIT binary patch literal 743316 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%0AyliFgx_G@m1rk?1T{z~Q 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

!xK>wF4Zlc>RNx|eUBr7)Yd;p6Syq(I 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle3.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_castle/underside_castle3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..d306cb1caf01d6e63e589cad286eb2ee33816412 GIT binary patch literal 236126 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

If`rdHQ+KDS>BC-@3i?H-sl46;S(}tfIaBg1!&8 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins2.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..b135357f521abaec079604875f3c92534f3ee9c9 GIT binary patch literal 1405 zcmZWn4N%f&9L7qk<>59R;zoIWSxu)9PE;gz`?svLq>n4ggutbueTWEU1le4eAL*Sq zMb9F(J2kyzrmh6PHWD*6J4J8GNXxH)k_-?P)V*kHyW9Vs`@iq~-skr`zxTP04|q?mDmD(ZB_YFsDJ{&*RHLsl*g)@rDP;kf zOam3uo?p*LyE>woFySgR115AtZ>({52xp)Vr9zkj07cxX437>8vO^-uP^h}e@K!Q> z1eQ+sv197tr&v1)!t}GZE0X{&HBySIQJK{!uaW(oOJu-bM(;me+7DgJy#)%N7P|qm zgBDQrD0__bAD~?lmxV>S-k9hhHvlYCG`l?hc%BQqZH(eF0r7KkeoV#;r}OOWx=fHo*XWl93PfbjoHCqSA& zfCL19@VRh!E9na%q>23PKOG?79(%qdOP(jjm3Un&ncPaGmvdwJ$M^zSp)KEm|7ht< z)d(hG`$gFg+a)a7wpM4h;WeSqQ6R%P0e5b!!Qg{dHDUs@ufPc!Jc~S2l%c2tdbfg3 zk+WnM#}jG3I!aQxWx)#`MuaqB?}d{iL^19Y*~YDc;sVz{>@l1KF%%b|bQV`HIKlGWhZ1M}S#PcBBmz2s zH?l@zUr~I!dE zjfTLRjo4%{C&0Rz2=VrEb9h|J>2eosiL$94fz(04W%P0v#trgLZl86Or@7cKBj5^q>Y=3W4+kk$59ng z1ZVS{$#z8BL#!wpoIm;|y+VDKy2}!A4uAH7K`y&2ds8{jBi336*VMqsgPJ zGvp!pYssLQt$jI>7M4CaYicu*Eootvvay2^I^EnBy?TO%-=%(V>vlbJb@LB-YN5VV z4^8KvuhgW438qOhn`F@6+Sb8;iXS+ZF1*QqRWZ)QKg8kCC2-f6VR!#uD<_)<4h1)q zDC@Iz0~+(NxN3se`+U7#{s3v)nb2~Vm}cPU{IZ&Q>v3)kl(o-Ui+he!???!2kdN literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins3.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..aac127ddb5192c8ae697321b9df28dd191b4cc90 GIT binary patch literal 2047 zcmaJ>3sjP471` zyy0kzax*XUmYJ6#QfMo0iD#qOo&)pX`9ckGSV<6ph_KG~(xxSV%I>@phoD zOZQpT=5a|?6_}4e4%QreZ^EVaU_@(PJd)$U?YeOkcAMUjl(=o9r_3)naUTNKM1YJF z^s!AA2DxCuE-5Zm2FyC&qK?w(5a4LM$Xt|oswK4$@gscgQYBr^@PnRLi%v%-=N(fA5dwOX?iY#m{AK?JVw-5nByXS*m zz8xfOO_SpcUeZ^F&xFNAwe7UB#) zj_3F__e*FmGu;PrDz^HslRz>!-_w>oCR(3mu^)G-`aqDD7sD@f95sR zDkvgwwz;ekHz5G17@_(wBNl*E2Ou%503^wN0BIsaX#2>zlQm?$<|)+9#YZB9`}9u; z-eV+PTAFIJDA1V>ANB@!>*K!S!-E4NwhAJPQbbv;l(qD$jkpaRYOipnC=H-+LJ2BI zXP;PglbTI~1ID&6MW=$~{vOS)Url5b{8@&&1?rn2P2vuR{~t~*EN)yNK(!J=WfKNy znSbRvAS@C#E<=$ZVI#1m2ge7>qf#=2J_ z^DHk%{6{Zltf?SgsUi6-`m-T}6+H|9TY7n|76d@f?5^JEYnWfJ#F zEael1)f9vcC>rWucXkcL8N>!8(t#CF(H)KNyjm=K`$FjU1KC1G9+(8j>u26bt*ggt zeg=3Aw{7OR6!uG(=rlu1ZfTgqf~Gfv;f=I_W)?IVX#y*GXppbhp)MK(`o2P(d*tig z)AomEvH%2#e2+o?MCa)KH-mt=J3-lnksLV*RpAwUgH&b1SA%iVd!2mIT)ZAA@L@Dy zDBGl{a0|M1R|Uvuw`1zB9)nS_mK)wG!FS;@!PVq%OK zH8H57im~zPdz~MW42kq|*eH5h!qklM zGKYUdTag(q2hC;}l9tMJe4njEGg>-UUn5a$avQK063pyEat717guN&+t9^3a2k2@t zE$oMKvu4d;JXfQ!RTYQkHjgSMugj0|&fXV1a6Pep*DGx3%nEeC5zmPbW$L*7Q}WKf z^xUe3`r+zov*Lo>;_?2-=|~4jXlw-iM1;C!y29D5UaaghA*wEg+qjD5F|MkcC=NsQ zxTEI0RRtYeKFjWD3(D^vG84@hVl{kPNocNw*b{9*l|*Guj=Z2?_Qp*)m9$*MVt&U} k*M_SintDp8_y)Ux@j$VmShMq#lKITA=NCVUz*|S>U$Q+GPyhe` literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins4.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins4.nbt new file mode 100644 index 0000000000000000000000000000000000000000..2af8c37d34a7c32fcd603009d4f055db0e752c4e GIT binary patch literal 4001 zcmb_ec~sL^78W`#2UP4RAR^jM6-7;mM#+F6GpA>yj6p{26oiDOQ4oOuvV=X-9%UR* zreum?k#q(I>w$`Fvcy1yfp``z!m z?-w>_tXQJ^)BfiQpXxhewalzNdS=^xfq%xjQ)$>l^S+zpn6EzgV7>6TLWPn|wCx*wY>?-D0%j`>B68&li4(p#&sI_g0lir1Qa!r}Kj7Nm7}uTG3i& zhQa=VZM-g`&ba&da5=mEq7^2QUKN% zpAc|xsjZ8kj2l_ivv0?(>#C}lHb2$3Px}>7LFew|nr~X}I+onuJX?KE8DcsjvJl+a z6#Q9yLEp7IRtHX=PnXA)?8FTklI!fGAUbVk#vH(nCI{S`FDSn#!nCKMDj1k~Q3j*&swiHL7cOO~F5Lnq>!4roHSW8QGh8Zz#o^|()xfr2; z;1**7?pfeMOqtb7iT$6GdW~(vA+ny(2uuAlq%UM;xCiPJUyB&d`xwr@bmrv)OmkFR zhxQ6P9c^Xv^WB2<7gY@i!|fJDS9z`1l#VT#ro3V<(UiwfhOqWzX&v#~aV^I99k}qc zQ4?MrmuSMP=6)(j@C(42@T!cJx46mcn77l;*wz~{2G(yZY|nkPjCkff-SVtEmAi!y zkZp}?U&S#+Po9D(*l7)x&9WsqprYfrS)}TyWtBx zql2_~+u%j)o~JC3ZmauI-_Gs>&J6sEHeO4FEXvVHec#MqAOprA1M%H5FwG6E1*He; zb$*kudPY1`gXGG0%YZd8M)q999x!Ib2F{Zi1JB<$vKTz6*} zZN2=|&Hb6Nd&M?wPI)P|++s;!Sy3)@(+L#ir+{MYUZCidS8qhIL4+;=q2ltb0k39N ze?({yy^;(A>+Ob`ej6er@k~dagY&>OASgTb$|?O_dXWZ$@CIz8|6;EHrzD4UsEt*v zNR*GGph$n`^!rXArS;#@WrJNencL%)6r1qvZzQHu1}^*a2HwQ}ok^qq3 zbC<(SDC!P}aMS!|Z*8SVU>Uuy1lQd(rd|!(ap~?8;H^JoPuhz)JIC~!36-juy}EFP z<|GV)wi4{7_rWOK44aM$q^%G2g%dRxn1=ow#cE180)jkorSLZpLj#L}Y3R>^MkGJP zrB_f9N-aY1Mb(SLL?MC4)`uQ-%RhV=4@*EiiWu98ZEO{*@%9B-`|JQ9@1OOzrwNBa zDTdP-N^)L>?Md{!2Q+qv;R8KYY%=0*D^Bt2wP{OaqzGEPBTyXzVw)dEV^*WEig>m{ zdIHWyptA%txcO*sJ%H+@Z8UmcQ8?`|w!b22!v%zL@F5_Sdsjf>H z7_OHB87>pw1v-mGoT62t>+PYJ5orhm!)bT0v2-{Ga=_F?R8H$8Mlr=|2G}V*fu?3b zyoJ7W0r1(NKlltZkk0^ahdj~)0Jv^idZ&L|tpf(5UnrAv0uT-%2e%>zv%_Fa+;5KF zx?z`DvjyhaCmZGs0|*r;vsf~6aRRNOt(+57(mMS&*ZUCic`Nccn}>dM;V_i($p!-! zlHZ&(czh6CgyVT72{W~83Mz8$!_Do^zNAr%;xlWCi|D4Rl@!c1bKMU*+FvC{`=7nB zGH@T(zwF;q`4=Ri3*rtU8YBqsw*Yf;kU58t!(01QHacY((g|J1I><#m8w6XB7R<>G z6Gfp*sK-redP(*WRBkF2X{;AxK}$UkxcXbbOrLC+6imCrm6yo8@J)B~YPRTb7n!k* z&6+7ZgWex{5S^d;b_D1pwYVdl*XZ4H2u~NJR7vXfVcOaSUTT23KYL+DO^d?{?wCzkFp^duO@co)t0@ThdEBUcJM&rWI^vv@ ziEWC_QWWf0uY@nSiDN>4H!ANEJu6Ae*)^BpM;;&MkFnXU;x3s5yY-fpy%#%Q!VbaT zs;3_CD~rqEcbQEz4(uxTpK|S${lqA@a82Qm!mu)RN|tn2EkC~3S^Fd?R*UNpx3Y)n zD%SD&XEXRBSF?O!BUz*3duab6d*)g(kj(bx_&97f%b!geE0+`0YpbV)^Xwi%=}=eD zPwMfG9(l)QvCEACUY_MdXGAw!eG*HpoiHDHe|+-|8wZK{PxC_;)JhR6Q=+yTa8+d7 zxyqRfte5cf#y7KvBqbFB6%Xti>3G`-f-Y$PT@RnjC*tO+}O_sgWY zEZ3qQx%{$MK25z(+Bl%O(Mw`A$WBRl<=y2IbLnKoT)k~BEwgVa)* zt7NRux%IJ;`rDW#ckNRVSBV6O}ug$ujr5?UcZ{X)^ z=;B)ST@Ut?38^-qK7Rg>wdAHgb>vLvY0d+;uMauWzqu@zP}M$ul$39p(^7t}6SPEZ z%Q~O@w1PgDT}vqS3f}nGmDc1>nrzZUW~;>~8y?Z_sLGqMQ%y}8hUY^|@vt_`8e246 Ix@5`!01w>Ef&c&j literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins5.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins5.nbt new file mode 100644 index 0000000000000000000000000000000000000000..e5567a22358d29e414215f2cd6e571f4ab2e3b68 GIT binary patch literal 10026 zcmcgy3s{rqz3*x*eaflS^%QVo=yaXuJXTUpHY5g;wmU+54wJ*PwN&Mz(34mTgo}hr z0vzfPD->$oCdeh*(kXrHpk5#b0ud223nooLxuhWmECE6S7?O~Lkn?}PB#^`)Tjw*M z@A*jH|M&i{zyBrgXJFYgPhkJ7-7-m9d`@BF+_saSy?OG}H&0$Vzh~VQL*9qqwzNmR z`eyOSkFMOlSaRy+-+iXYV1HTp_E!)7^v2wT!MOc>+SC8@q_oFetBtQQe=^(?8Ci2% zK{c3k)(#ebD22Re>QXl;xq^CJnqE+#)wEF(15-o9g+OfU;9ceME!(-)n`4HVMzbGz zF@Jt;=2PO2s$?Z&(?J0=x+0Y6EgVV=6)j!QsDC9udFy({2H%RTFVkzgO2z_$0+fdp zp^@IgJQGQKxVRdpn!KL8#VShit(r6j;KSH7?@C>Y;$r>Iu)EsSO5I`mQ{C5-+uzOo z!cU4*5yszBga(tmdpn;bwCk%T14!|?qVv*vtzQKpT-jHmWVO!LihV_0m*HcJnpjj^ zU9as)RSx=9O%erhxgxwDd@t(Gs%MZBbK`^iR44N;U5jekLCr^B@|$N{lg1^S_4Zc-lzm!|6t1GfD zrPrP=8LPzyC|S~smRd@ix3Uru2hK{2oUvMP2}=>G^cEUt#Rgyf#w`A%Ih!yXDJ1R- z6&bH*i2N$FhuD^q0{z^(Ufx1tLa1oYCJz{EZH&8)NBf4bE`9mOiY$J5?HDWqSMUmO zC4%QQGfjz`aj&E_j0J!exr)&3ux{th-9qbOey30hjZbn6zuKZas0bC>q_|i$l-Y>u zj4c<@R)6AwIXjv{5rJ2kx~lf|)S_aZK`Y{@d*`*8yM&#G==pMcIgQ5|<9Dk$lve!-^jEcjMf z^a|SNw0^qG_IQM03)!ZJS5%h^6ZT#JIt{%#5q|FvUCwz}STD zPxmO@p;TCW`bG}3c{LS3|88r90d9`R?Y4m;lkFsG=3GkWo^s7tj|cOSuHD-8?n*Da z2cwrc(}#&v=PN&vyl>EX=~e15cI8t(t_}%{A4FdwWEJ|4s#h-Jfx+z&AAbT19eYvi z;OgJ@epl7|U1z*E-)z|T&GF#Af%kjoNB(s=B>nqt?J3{AgLfi^_Ogq%oDc})IYX0w z^Pyp4gzOBXqT1<-xp1y7`COe~zl)B}`od?UszhkYS6u8!$o;~{O1cTs;nL<^`TSQu zBh+mU?&EDFv^Q2wW_L#^BYN-epbpcNIn?}UQ2%LQ?(qu5PX}D~nQFkovMnl#o5H990#AD>cGXLxinHxEx*MpM!iGKyd zz3j-*`#FH?x)DKp^ww(oCIm6R^TZOsODA!xqF5&}%US`LIM#RednB3aLn5s0Je$_8 zx}s#upCKmzU|rP5`1Ub#K+mDo^o$Cs$9wb(W?r|;wl}~n`=7D7Wk$B$8}xKqYWVz< zGXI~ym_Jh?QP#qfXPO60tW=^TTBj}bFJ>9uq^_(l*9(@(6pZZ)>tOzbfRu476$}UL+Hxx2 zd$`JAki|A7&1g>b+MMaaW)S>^Ntl+0e_HL%9;#-vuifj>8r&^=8FvcV>9S)EBRgf= zs$J@nP1ofT8_M@=Lxn>^WSw)`O2>Du>KdanRSPWinsQk1n za&y~>n825z%yJ;J3w~=`_1DE@Uc7v<4E=?D{{`6?3Ejo?Z;*}fFq?nYX;1$;zvvdi zk<2TH%3FV$>d$F>3p&&X(4h<=VS}QEKTD1WPn`l{{!f6217Z}=i_z){Slzu9Rx93w zrETA!nW{X-%7JEQJ>2E5qd;S{REC7TJBS)2khqAX22wW3CnSt74oH*E9wc!_B49fg zaZE*WHmBxZN$ujO%Xe=A-g^=8G$Ou-OIa8q>W?bI%46F8RFKr)c$n?qydz)yakZY9 zkgET5X~hR^u!KvZOUT%JLSXc)Gu)KubFRr zD^(5^j2~5G*9Gw#`$`6~TW4GM`XvlZURUitkQ-0)Zc?QHaVNj=G7wwT+2L~0L_$l# zKu^hlE>n@+9+w-Bhv$vd9-T6s1S3#>yi%Gl;D`HfgO`q#kjf;NN~5#Vo?G2~B9OH+I+TweDLC)Mmwppj*kB5O2q=iW#&Qd>U7qN}J#04U>)G zXU$pVn)i<={bhaqqF_^bi5E%mttd*#DkmqyoN$!>Yq#6Xdgv?u1vfv0Mu)rLb{p}= zreEL^w1G=#jokruFW>r@ulLR;JkJqF!_?BszEGEZloCr4P82pWDkPS;cE1~#Sjy`I zY=4>G??G*++g;cUCbQX?dGHseoK~-$_M2((DYQK(NyA&1-k-z2-95yJFtj1tay|gt zX6|N_sjVX6M3xWWIg`W@ha(;6ji7@(4s^)!Ia*g)EmHayXo?%P!KQE5!IU4K@3<*( z6T1VUx=64Oup2z9djfondo3twp63Ou(Y&ZyycOa{lWr0|4AqoH9z(XK0-jo#{NOYLRNoVigdz=sIO1G zG0&j{k!PT#F>@bQh=}RJI1ALbK9V7(8g85?n1sO z0;^1c;LxQ=(o8Df{zY8!H8Id`kGmEqH*A(VQKCZ_kTGb!(@}ilYUwmr?M+`ijqKoL zk-;4hTPp`*YeoL13>#-P)*2TZo!u2WJlKt90FSPeu-Wc52q(l5lH+1qQC|^4#N;A` zIz`G!f0UG~Q!Kpgn9(E%wgjMnoVFD8LTYa7mxq?Uw?gYZN`43xc3G$eIem-~3p2McVI<1Gwf+eP{5_|FDN2t^^NvP28Sjuw~8iE9~NBibIb zX!SiF!jG1!CTlBKZFC-LHP(@^i2(+HBTQ&I!#D_03-Xm(a=a9E1vO-^D+zUlVH|V? zDYgq#Per9ceF`h?Yf(^L(?f`w!=d)1+UuILSerPk#Q{rr4mx8C0)rkPgt(&?w-yEC z4Re6hCeBvZoW$BmsIEDbca?aQL<1DMHZo){4VQ?7B~X9Pbi0 z3}egKO3l3r{mqjU7s8wR0Dv!Ft_XD7xT)#9}%?p6ByKLgUN=Et0!#NQx) zmSQ-29>dvnh*|wFu%ps{AmLXEjw=MRNe~8E1>__bwFEeCYe)H`hEC*4LM=g70jVGb zNN1CPUm9vYYU~}rniMqZqTlhYTOeK2A~)lLVD?Bu{Z#5iVqKks3CF<~9)_@U0T5FR z>`msH6gQ=xW1|V@At|;A2UvR08jTifQC56~`DpeipxM<|$bA@^9m=~(LTFx#vf?Yu zN5`Ac4{LjfoI-;V(*>>MHEO6{w zvDvNxBuQWP604@{vKmyv5*h=k?X1#afNPqdlSY`2A7R16g$16rO|{azXHj0(Ln&;n zJC6bP-%%w(%YQpsd*{uI!F}z2shTWI!&n1;?i7sAh4^_%tA*aZnrr-b2aV`|yO{F! zjYM;|C@+*!4upq_Bn)c4sL7YHbVQ*VRTZu07;*~KHzq9c@Ztat*Q+}iN%QrY1%Qz;e)u4xB{-3C)O7D+$F+&Lf_tMr zQo%?Lo&B|xPOk_lwT@Z3@pP-S`*yd4YJH%-t*S}%2_ZEJ$tyRw-EOs$mP- zEGlU!*&-|xEcSiZeTOSpGWgt6^{8$yiN=R09fjt(m(I|G3T2CIpCaWbp1mX*v+^(J z8O3L;D&;`z8M$>%PmfEmXuG9>LA$n-YB=&QttO3JtEwG(Ky>Ud*9Ms(^FH^<0I!R zl^(mTp~Np9E#4CcHeZ(7I>dCuhQ(Lr+Mw=9U$*?vqAmDC$gek-)6onNeD3 z9@oJl&9;Q?Hr%Pb7|k)smY-% zrW-BPnP_fb;s|bBShlNZc)G}}86THLd(~Jd@hpQ$?NcM`DO1%PlU|+?mKnIw7Ss6D zsLqEnlA^&aPzn{r@;H`xs7o`ln9n>R+%+>oFL>6f|HVl7>%=JC_*5b3IqUDACdZ|b! zx$)ayT^=+V3o7R%8jVz1WVvVXGFkA2MMIW5k=_E!o%822myEHU0_Ah}nldEt%3H0@ z`LR4sW<6_a!?%B6ZA%bOo;OU(1!kUwI)3jGokuPlGtGB#Q>@wtQzl&-mrHpkfxd*_ NIkhFQdin=X{6BEyy6XS{ literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins6.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins6.nbt new file mode 100644 index 0000000000000000000000000000000000000000..88af2955965a30e67c9d223c111fc5e7fce627c3 GIT binary patch literal 3577 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 jZWsAzu*Vyt;s+Nzb|_Thj(p zEu}J-Qq?l|TSFBMT0)zaxK2e~B5Wd2BAn-=+u8Z;_`ULd-}}Aq^ZuXb`9J^X)90*T zwfwgRq%casRDH=f;osq_{fS?D@%VD+9w` zFtCrO4mi3@6;CPRUT!cyW0+vbuTu5Ts_rSr4_((hsLl4m&5>@f-?tzLq&!WFS}rln z>J~4i^z-%UZzy^#!*@Nx2DdhwjM%EziRVZB)Wz%T?HEra8rgQHjk^+XNyc^8xC$8G za3{nvp{TMUtF3e>DSaX|^;vLgOT4X}N#`Bmm9hXz_Bm62h)=L^j-gzgeIzv?!rpiM z9VbgJGOV~xCj`x})ESJs57ia2I>SBDz(qEC93^uZ>neCw=y}___K1Ly$WgQ?4x;L7ACNI%S^v0KZr!}^h66HG$_X8^7xO_i!REMQ9BY485K^yaoZY-etQwT#bkDIK+ zXUt)+a9fD#_T~8jj(Db8rf)MXglLXh0TMf zmJJyhzDQ5{hJ8B|G2fW=`j_6cvlaSgxi~=Z-@W(V?tO8(^zWbo{s86r?cYH??m)}~ zXp0_mv%i`I`@dzUgtEPw3NvSyP^OZu4psPCZQ8^r|Iiu~PPyI+jk7}kbMhz(XAx$^ zLZ?7VxL;!~V+Gk7#Sbx;$HKb0>HCuA&%$>aIv}d;1tY^1GH@jw4VT)#$gQWXUZ2(qw8%qhSpIoJku>0RllfQ}5rr3Kb-o9ufwQ=6;H<{sS&Uh( zikl>gL3~{Cg9>@Zva{wsfY+Tj{`671tacAkBbkVJAF}M12D0vHdVPFmJ=xSMy55(L zsX1#d3A+{`X-dS=e4O)FvlfGHDLw3xA%u|_p8*-ce8w)eNV+`|)4DLZSdUC<5!()l zHNy1>2c1F@IAG zrKI!8{09l2ymVjJU(g+&7cTKfS8m`hsl$*A%368-O|b$ z{0a%$CRw#MZ5tp#|CkR_@YOZ`xieZsVa*+&3Rx7ZP1`k2Lg7^z8n%c@!5!Y7bHGah z^4gmmUN7)tG{nV{!{Mo93g-O=8slO+s6TwVsj?xi7@4Ocr|2#Rr5MXfy$V3v4gsrX zpX?#FIUfY0;v-1#-8Mk*DLath1AV9>;GzY-VgxJ|@x`JgUzqeUB@>tcDat!_W?$-6B?1o# z!it%a9I$Q_HPp0xGzW}8xBxI<%hafsrN$TA@Hl%P#=+&-|6J;jColdK-esBDaavDF-Ttc|!!3!oW62*;iJzt6k3Uz3@Eyt{A ziCp*F1}%VQO2y)?~9~z^}$!}iHQLh4iDeG=e|aYz45bp6LBggqqDHPFzqoi z^vpt;IXat(vk}nG;8vrtUCn19zxa7-{c6_a)ZS1d`0W@m(l8BW7OVt$#?ElO{X8#H z6#Kg!3l!wW&lAas>Mq~WWE5z_^i@BLE0jG*_BKFx=$bf>{a#IO5X+ff)@xwDtw>mH zK@j zVu4Vm6jBL$ActUAS)!2&vW3*pNfLyn6Ulf%CWuTYnLT*jpdjF9AV*lo$Tm$=xKO@c zxqOLSfHBinpzZ~{St{!R7aS@;s3P^VXo%~yDL#FE*{YTg^9)opapSN6 zwg3TD>QFj57A&@Yx{`pQTBX4QNkdz zS*i}OIGYJbRb*v%i!~U7nRKB(r%0D~;6TAHBnZ669Z*IDNNlA(XlrjQ0G%XZf*9y8 zkRWAD;Sdlu13dv3u(SIwfU_zLs8L?Mz=Ak6mf`MYEU1L?a`8n7zGqzmed=vDDhSvg7pGUjAb^0wowG?uvlrfKs`r^MA z3c<4?wo0kS)k^XCJh2XEv+T2D6pP-0HK>x}MMyRG~k- z6&fB_+ys(?im@gjUkkN&^y}3~IjL;a=pGc`A@=_<9O1enIG~9zmMuCxhA+8iCp^sO-e;g@Go`k6<56gYhwvdVNfPS{p#EnOy`CgNWd6c8 z!~-=Kaf(4|N6OLwj;S2@Ak?zRY5_EC>U8D=tFz-KiHqdsJyHh#Ly&QhRO`%(%5R|E zThimSp_U$KqU7XVG+mVYsG^ms@E3aD-%Yu1n5Xr1 zli|qV>HTh{oMMg^Z@2I@=Sg#P*;&OPMb^oSkiD8|)VG+(a$^~9B=NrX-6t5!mT`V7 zXyui7PAzU*`q##9qs3~Of6-`Lt?SZ(@;61d@Ull2ccR_BYg0U1ozp9D3OAu)@g%jw z`gqJdl|e7+UDfA>p7hN0eCm=CR`z^Y@nCfQzI8i`j-KSvW~Ta$)K-k<+Qm(mQ?>@# zt4>99KMyY)%^o_s82kcXjdQr*ELhUKKl$P}UDctgz_5j!xoE`=WoY-M*z!8z?y6z` zx#kxW58QTcAL(m;<-f;`F7p~q(@YyG8TPK`<9i%X+NxN5- zFkFJ~+wWaS4;EhaMQ-cbv{-g;yKj-}B&OB!(R^*KUyehN0~vo7!kZ)gcZ%oz-8U5lTC(|t zR$8gwb_WyZi0~S5^zX((mrxlk(W)=18j}*1#|a9iRn<7xSVcZ-ZBuR+Sxe;#n{rj( z>*$_=zLIK{EbPtx{tl@kYZLPwt;t&sB6h`vI$K3(&52fC-G{W!)xqC;TK_yWUpo|f zzOGj>cQ%@78M+@A*>9hd_T1OyhO|n{rH50Vbbl$tqq@;QCP{WXZ=lb;vh&vfx0cr0 zXO0$2lR-CVA%>>SA^=iED+gbA;8;t9u)w zt(c31J@)+^YO%zn;-}6NN4%mo-Rf1pU+mDUsOkO8yS9I(d^mWVxvAy_$7ZHQ-a?wp zcmB0j!2j+zu~enucD}hsx}zd6?mPZX^7;4byQ-gk%anJw@#tdpWE)|jXvu%Nwl{EO z(B3^rfBLw6i2Opp(kBt>*kT#I%zS{^K0{k4{$5okt=RqX72@+Tv$57S&GoGbFKdI+ Wq=9KU{hq9)Rb7K~S>bi7R{aO-uwYmK literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins8.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins8.nbt new file mode 100644 index 0000000000000000000000000000000000000000..9c40094ad6e4533531b7b4356842200e159f3cd4 GIT binary patch literal 8148 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins9.nbt b/common-1.20.1/src/main/resources/data/antarchy/structure/underside_ruins/underside_ruins9.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5e3eee4fa7d435dc669878ebda0d5ce1e825fde7 GIT binary patch literal 33818 zcmeIb3sh6b_CMZht6VQtT4^PULVInc)*_^c6cAFiVzmlVZM`Tjp#}vNEAQ|~6%~~r zw)g-cp%xWX1Zza(5hD0NB_u@<-0lrpP7AT z_Uzev&&)ZaVe~)WQvIhq#;*Nsc8G_oh~2U?DVB|4z8ht{@mlcF#n(PLb>fTf2$+)7 z+EE{VykhN!h@Wu#6WIUxJy4J?IJxwla|^Ct*Z#UWTcO`_|A$Q9>Y=y?|fOHe<0OO6zSn`Z{z`oRr&?DTr~SF%zk7ta~=SomO-Y z+lbAICliFBbr*Aq9{!mHw`h{~-V(9AZGuoTfjY~;uc?YE)1@*C;{$werMuh;1IdKi zHt%$+$L;KF*tobbzu*Q`J)d?XKkr69{YF^7G;(jqcJ0Z@n{H&gIG&{!-xL$yv@gE? zh?_7-j~}CA6*>pc*2nTV2c1NAj9d$kO4|F>XSc|A!U}H4@TT={*IltZ!tHe4ht!M> zj9kr$YqNx2jR6$5>*uh%Q+LvRW>Pb@F>*C07GbEeS=0<^w06}(yi0j}z#7j=^B5=1 z36KkwSr=a)qpGTjN!=*b)zA`Qo;E{ZVoD_JaUzOHPNIg3+M@q3a*I7GZKhNCf5r#I z-cAqw0?+ou@(iM##=7;0_sS&`wM7mL=+#QOE|s4gAE3OIE;Yilaaf+>kkhEQLP8tH zx;h9{|K2{IVrMJ_SM+}9jdYEvRJ^Vi%+~W20MipFv z!AE#`_Al}EuI`m`;mzt~p)Ny`8y(*hpoiu07I;)vx!g+6%sc2rWMY9{)kiCC;eG8| zFY9?L^Ji9Zi_fH~c5XVIGes<+38O|@qRrrGGitRNQWJ(1o#Pfvj`hm)`or!*qF$TTKU8G9HtS()ZYOF>34TulDywY6rTd+T2e37d3%5r4c5-K> zWM+p%N=-r0SSF?>CZ?GtroMDjpHyVQq}rK6MG-G-aVR;CMi+}&4@gP7On2{%C|e{v$b&zW7myJVAdG$yCXIAb{@cY1yJ zW=bK>7aDdK=S!p&8euF~WeU5Bc=-jLR+;d;T6i9qy?lD7l>m~(+L^l0!=$jZ&^dOt z6#`zl9{ic)`DED+Q}ly)z1k7mb$V7$iO{>ZAuo}>NWm^8`VyktSlMo9;8NV&pKyY% z^Rc@H*3KeK_@y4}I(?``V835mHRJi|*lCHXt9RoF6XF_e{r+dw~>KtCdJ zO8R>lX%*^a&??l+h9>#;z#9yXl~#ZQbv@NJK0Wd1#)kzYE>L^r1KjTA$yp+yr3OXh73aN2g1^c&D9f|YoCJIpt~*J-Z{BhJP}XxJ>;ZMg3Hlptp@1a9O+=% z_Kq#&#@kd)Ps!Xy&n@h6-b7LqgqiYkuEqCIl+xNmx&=6|N@^UIC-@OtGFijr?RbAO zc2wvu!V77O?^ztcAW*FEmLJ|8uL7QP^KKPuC%57ESW*=`jPP<76Z{U#p_g5U{|?LX zLCh}Qbi}FuQqI*yu24Z>?5Rb}t?5kUDPD*y~uIv9}^W)XR_^d)qcyyev z|0$c~Svd(8F5iX+BC8XPc{`R^^{3w2PG8p04rZpz?6!`GrTaYY#DojtkwwDWq|TsH z${`qL#p)@-JcgJx!h%ioW|kfV9wxF=IJZ7?qOH_CS!Qvvkx*wTE42~o;22?kdqM*D zhMGVx z&#k~fcf2a4!I0w+?____$-b|b=k?{dTKmEoI@y;D``ce2l_W4mn#WhAgb{gB2`Z~9 zphwK@7q$impwTOgNo4uTO;ye7l)YI={9UQjUrm#OH(Ftn!3uZ1*$TG}R5(*}g?&=7 zFLPz0dIrv<21+ETp6HkQ#pK5a1Qw@LtzS}$8%hUsjPqtk8;3J6+B)9sXd4_9obWel z9ys*_6_&r*3f~-%un$4+A?!)nc>&^<*M!b?o=<|K#Sf^$uLpfv^!V51F?uDy8^0Om|6??MKdVBYgN~bi z*mPukhzJ*+@T~ap;V?+hPvM+jgh@FuDzx65R8KMUPVkQOU9jEM&UhUJyhDMUisdbi zaV%LM8VkVPP1<-40_s--FjB8ra#*qdF&e)E{wJfMGGaw2+(651^K!OG+OL7xKG9m3 zwuNBoonQdErG=6Z^$(-GVp6k~|F1uW_Q(HZ^s1(CP>%?yu=YJJNO_4O18@SpL!f_> zlQOsMX0@E3ugB}|gKD4&6y%0nQTQBJDOXIXYb)=OyHiE$-q!zE} zv5$=%El&y|m7WxUuh38&ZVfGaT(>|hDFcQouCE0})XYpT7@x39@S4zIILj09IGx-^ zzCT&M9z@iVimHfvXnkB)a-MTO=`V*K`=)&n7lJ-F>RvZ?*7v~XBz3Z@+~Q`SGMG04 zu&lNa@l`Q@Ljdb)ugkLYZ{7+sBs5T;HvzB~_(mAP8d<-%P#fo>dFr^(DZxV+bO>!H z4Z^^3Xubk;w&sG4{a4#Ag30%OH2{zCtR#%IA7P|jLJxa2Kp`8H%$KVw2IHva!Z=Wr zhvw|pkSx>ziAbIDipimjIu)Q8-WSn+-&kO{Gf-pIk*goKMg3VA5{o;StRI^8#adW@ zY`5bFFbC=Y>zC@3hQ_K`e8rE)VL4T)P()p*P{z1UsbuNo$g zsF|vw4N;kfrK72ZESRdH+RzlVxHG&pnp!w6Z45@XMEO>AQTA6jPS{}@lHBSIb9ys#_03zUlTueUrCRpQ73%WqH9`K=L_6u9! zH)X7m$lr+7|3AzKnivG$;}3W%#(OmI5r7y}Gm4QgWVR6&3voZJNsR$qG(FNBTp`Ok z+P#;$@jpi6i4nqu);AIr!4xwbz4q`@{WEIj|0W}NiJOk531E2W^c@hx1WDwjwDL$t zLAQH9SqC{qb;>Iyk*9<3eK;Whrh)wOv^T>DB94{)Q?l;D$;nKZG8iUx-n4x6!2FrF z2)ZCr`LZDUzNcuR1HDaf&{4N%b4fBQA*%^v?l=Yr=!%69F<+ZC6xwc{NOrII1}(II zV-s=V5J9$H7j4_3cub3QVDfj>0(xGEX_htbd=f%G!OXZTR&Vrf@z&6s%GcZ3;gVrDm z!9u$!-@|LE>VSu!-}`7=`w_>;^>OE?U-M1@F_4+I?gFh?9f(AD(Ys>a z!x2z9g7PdEI6DVaQ5Zch2xy>b&I(pHlWqPb;wSu z1M;ov6irE(x3gFY^=|HHAmBLpB22(4_%=cv;zv-_G8pzMdXqpiVd|H-PP=>5O6C1`D6%J(V@ftFs5z7n9g;nhkGEB5k? z3i`yv(zGS8>~yr?I+}8*ek!^c$7h&-t7A9iK_nV2kud-G$OeR>qP$`fdcyqM5rF)X z2J*|(-Vh_0U(}P$ypP(pLvX>6YBSjO%BPko1!&Dx@ElX8s09Xo97I@Y3h{>KIQPC#?6zoKZ#SC_%y z$XW)XR0l3v^zB#+21^}~2~(%oxvYh{i~{o8r7*1Y(AXLP;?thg839Ysm>dpJi-09B z38?d4x{#(4Z=6xQwUMkj3GBFX7c)&8d3o{qQGk2ixHwG%q(3JMZR~6u$gq+X0!v*3 zP=fUiK>H>Ew%f&L9-aq_a>*V#Lj&M7lLxW_WA6ZDfyM`9DaOzB0$Kh)W(1FeIeTl8 zwN;D&6k%x~Kcj^`lCFf(v5pson*|PG3$m=x;IV4j=YU4bC3_efLx8De zB#ZL{!NaFZNY3g2104D;bzFex(FtP5jby7ls2Y52@;ZQ)R$iBfiowe>3KI*Jr$BJ- z6>VW5=sjB1&&41t7DW4Y-)W{(0V0$i-+NKcj(* z!C9k)2OPx=?M=DbCb8igVOO+sH5`!B4?R!5lNNeD{Pr+N_iFK|H1kJ=VDP)5!4H6| z%P+?Sn7}M$CF1O#aS z^`VD_Q{kf)5CVL|Q4;AW>T<83Eq=x1_u$J!BLPi*G>~7C)&)xn9mP>n_*nGPa&{Ef z+qlh^Gqt103rvHBmfRPsmLss>!w7I;dF!^p1<-|np>*WsQ-)j%mt=x zr&|r89d*`-{zD>c%`Jw5W1xf;Dp8pLC9;^PM8LWJqf+R!8)@XTa6(1L7i@i#1#kpR zn@1}=Oz%699Vz!eaBfY-?FXU1#rKGsFaduWWJnEJ2{_t~be^KC2&yan7OLAZ2ilMo z>kn4e<87|QqEZm~w^L(Bb``Lw0cFDx_ zeC<#3sCc`q=dh#BH&yfPY~FLpj1QpPfg^EJ4*Zg_fpkg-j>Yk|Z6VxF6aNmx=14dx zrv}k=s(7(n66GIN<}qb{aySr&kl|Lf(2msur{uKcMD(A2)9p;p*hZo>JVcqQQKki( zP^K-aOxp)CUCW;-40INW^ibxDs?1p`jz6Nz58DJ3EH9npxs{Sic zl|Hp`E?0_^a`Mg*BbYM9gcPs+Q|(y)noXj7_`qg5r2OF!52ufFJ_Vvpou?5iXYuu> z$$0WSEMdAGs3v898LXh#X#1HGrZ>BHf59khaf*)$Rlpa|MJ<%rGOB4V*R%Tz5?>6N zQbKKkeD@+MOEfy{BuMdqTMGLRQoJ_9Q;TK+J4=)g6dLluXWY~6;6rVyDR@`Pe)P5W z7bNhPUYnonW1%oyV;*qN&$9uuIq>bb69$aE#@qv0UD2-Uv+7r6ckCP9Bsa-p^wsaP z9Fb5b=n=I_t4ZL6GK_3he|5nIzCexPv-R;C$AG9)jNW!3{>&UaeX9THsk$9vH*h?v zPhJT>erp|5MqLWa-O%s$p55t310@}Bpu#X3`n(nC#De1V{)G#k^ARWRZU!t_ROZa0 zGMnP_{KUS@ggj%V2^TGj^d^=0ZK`o6QEDGd^6aiV0ZSv?YgY>~HrZ#Vz~D08VG7^K zql-p7^6c=2!BZRte+ZHXxI=8(;*=i+&tT24i8exVT5S0-1er#xgZGfSI3RTiMuNQ^ zhkA=L-f0C8fAwE5`g&Y#>{#~T-UxwUjFmh~D#vIsy&BR5VD!s`#}VI5bP7P&*@0q% z<;VV!;)Mq%WMg(wG}&Y)2S#iHEctgc(jmn2!o$oG?$C-M#%f7$LX*gsxFDQ^-RK^J z$4#ZEjuohmsYp{7XTeb6o*(m^4p;~o^#Ya;VMV9RObS~Wlq9IH^8uLrWctGXQ|^0ETXkUUF5+e4O4AzQCFE9oU$Wn ztlBG$p|;jHq=+pAiav)yCc}SlgvBrqI8%OBrF)=$8ZMCxPBenK61E(I*+GEFcC@R) ztGxcHCm`f+0vMJrqg~DqQ(A}^#i*hYWT@yMKqJ8?ZqP%*w?OAOO&lBwcHuafzaT)% zTM#R#W*vSim*tuS3-UdavdZK0$cl!foZ41p1aq+=9dt7@z6!XJhhCU~4`7xZ@PXkq zp)V_erI*plUZ8;a0rPr%z@6J^S-}C;-o`L7e+F%{P!Ps-XIN=@@&hFTRzjX%r(2R4 z&+=(}Pf{?0V80k|V`M<3=*H&MK1N?de%mHH?6~ZE?grA#-w5=XDF@ELOCV!_VyZqB z{)a66h;|n~0ZW(m@p(T>yD2L{&0YqOTE0wvyD9f9aLUXX=AXd2{XGlh`}%)IIxd4? z`RHOu62*!i@D)eHR9{68Qc?aPnO-P~qUU8J0fo>S$S+AlA@r1cT1H9T7})7~C*{DC zn;dxG=4jZXE?wvhw3$0DFeDUbERUXYJ5A?2%#^~vh3}NwmbEcr91Xws+DVce)$!u% z5}DvPgY;!5Vd{Srf=C1mLSq?mh318WfF_KCiLrjcl8Y5= zQ@Fug+6v9wGys~uX&`H+wb>}6(a6n6fsv~YU|xn%#z;0kq+R5F2D3d4fF^+&$fMEn z(TQ##gAst<2Gu~;OlzwL!%r8|3&7!PYWhn^iD&aQsF8^;^7Oe!(7P;ZpnAJSjWR65 zKvE|Zw{4NCS+@CFeGhs0G-#+dqKpU7r#0|vzR!8M9j#5h2%u$ksw2ExdnyLRG7M(!L~q$>V1w3CMv&10-UuSfn4cSD zt`B3V7*3y?9f2MKul|r~b~E5&pKzFY=vi7t90hc&!}mI_vxfmsAi?nDFX{us4~r*h z#eJ7EJC3c z(VD;NC-{zOI(9L)B2iMsRMtcnB|@xL?ALz?)xgb)Z`JaSm2^bhM*?yohzx)GFHM=$ zX~BW$OOWA$fz!TL&Up&1gjT3p0{<1MJ~YJen(UnvyFXwCG(Mnt5@-o{@@YtGfCZfM z`RsQZxE1K#g#%rT`uSE=xV${H8T^MF1u#|c&SC|wBG3b1hF*%|bnk~$j_6JrF%7nl zM}TmloqQSedz+zcQmR9p5Egvl^*Z(mWpffN-*DYYk|+pXfEB!UItXy!=kvrUzd{=^ zJvwM{m>3)&Xfs51NB?!8jV6gsWWgHG6ttP91`zTMql}fz3mwAmwRD%Ibg&vpQvr zq$@k`)IMZjHG{MkO|e#{!BYQ9Q0_R+V^y5=39{nD0W5ZAe9(*6iU;3Tj3$MgD?zA@ zs)mjWhP@FFhF4~=f}fQ`zs*JcrVgmz)F~-*8%A$jey%7_C_i(t7maWcF$aKv0O*jwMVU~dVL$lmHB`|jJh+1kMrI>{P!+#uL)=N`g&nNK$4i{s{=X2O2o zN_6%Fr@Y4pv4pzGbu>z6F2asi@YURH$yjI)(Y<5ujRcTeB4A7V3az z8;Amb`>$d5H6$AXrA>4rV~Fuq27`PG^3WSas-Ff>6D{blLX?Df%X^xlOMXW&zZuLK zSyv%Tav}Oxt=kVf<_Q|M6aJ2Hb>qT2dMBCDm;kZA>#eksRMB>9Th}&l zDhSY4@nAypuU4C%NV#E1kDBswg95~GzVhoqw?cdyjxcrfb9gO?2tj8Xm6yK`NIN%J zC~4MqHa6gH)IqfxF_JtimnsQaQLJ2!7DiqZ>g&P^iqle4!GNm++NM>fXikEP#!)D+ zx4cEr*18R*N#g^WOlio4?7f2k-l6v3u=ATRSzTAh2ZL*25ALHL(Eybv>g$0|Kqv4S z4-lV1#77g{wt~$jKH>qIs0Jw3P^UoB04*3y1(A#Z4$M>|L10Fx5NxNuFc_#j#8e7L zzu!Y>Ie>?-3fAGat_)pMd&nv8pkt%GI`B8^Imj&Q*+L_^6Z~fw+ zW1_vF+N0uJ`6SP=V1^!*1AB~XM3>899qXdW`{>YM$uundN?Al^7GknmVbkGd0KI63 z@(*2P9+v?}^?}gQCu9l4Q?iF|iR_OqRemxo*0v2#S(@}P$Jo}dPd zdDB$8H93)v>mb)L>oJo^YmSWs6cww;(QpqX_M$waK(b2VA0vey0!S(MhCb?oJ_cv3 zZI6JzIn~JcD|9&8xPTAWNx}5|?GHO(Mx73iQQ!Bk=>NEsj<1Lk%3TF$%) zJ!_t5*BzUmaTn)_V19e&7>Y}p{2{oQmx_W5OPH-7K(DtACe(h>^kU#y&{lZha`eEE znJMS$VC2k0M(XuI#4=GWL6ec?R0p&&piUVhnU^aHD4^$~HI#C&d9Mtua@j@IG^Q0y zOO_g_rZH-iVHwnt88D5p0+;fdATKS26_px)2>8_jEi|c9#!7AwWh_F=@vjB!n;hcp z{5&yu1-d=Vh13BiI>RW)R0+V?ffO_V_{%D>LeUH=^fS_VPyzodQXz7-PcAabS`7bCf_GDE-JzT-+Tdi#$kPr28o|erb@-8U zb4Jhum7%|1Uf@x2KlBlE<$MRPRiup}R_h>L9!f_g!IqB>{!{OyixS{zDExa2z=J)I zMwKDCj?Cdmz#*3n!Ws_o=mS|q?%`c+LJ1fxqeE@SNn#$n?$B@LrMqeeej-;eX#bH_ zR(XU7al|xy#X0FNzkaVUG}B0*@%*kmVmlI44<1R@lvOj0zZu?|%#AWmzWNx#1ZXJ& zgFr%mcZ}zJRj%0*1EUWDei(uus$6b-p0auO19Ir2$8e^KKTIJ2><0iD{9P)853U{z zemOGu;OfEPpF;+J5Gn&b;DUdDD{W0Gygs%j)ocNHQ`JQBhqGYcp*Sd4IVcwt2OEw6 zcH^HXhERxxBsDrHbB#YJb4L4UwoI<{<%W4a`AWx1#&N6fsOeLDbtvxoLi>+DcAs$k z>;;T@(2?0jQxApyOkUboz9le-zw;iSiM0;pez*VFh2`ttpSE=I~}R z+X?59wq`{^^yx*j#S0G9_&>?Rc$fbw7?oJXTJdh?D7U-9^p@?g>T-EEtMzUWw&L8J z`rB(0kBmyp{i9&r7`I=XkyS3mZDIZ>ZMY|V(fag1@UX=GCE5UGRu_p(bO znuR)-^#TGKB7ymB)-NX1A!Rg*|2wg5(JZt7ny^MwjTVC9dP9%qo?1;AMc+nI+zk~$ z-sNY*3~z$+E&dQ`get=14w0kn49f;?QZnv$uSv*@pAh zCwCjAEL#p`+n8mi{tb8iU5o&sj&01dvlhpdJ^__^mPRULjr52=>k`z^8nu=`E9CRJ z4XyXKL#FdtyBV^O%Wo}X=YTN|TF@j-K;(J##fw?n|ADyV0atJb$h5O9!L$c(k!dHV z@P0tZ3cR&82w8Y^4~zKgPwQBc2@MqtO>y&$- z>O2>Yif=}mpn^QSF5eg6;-LBTV@L*Z{W73dGs-6PH?~-NyU+QzsLsEv>{B=|TDHa# z#(;Sf8qLShXkK^3d4axbp6bW+WyW9aUc0)eu%sG*OHJ4pi91nx>|dr$6A-(s$9I=t zEB2=NY{!O7J?u2EGk2N~U%ML7!4B?4c2FDHLF4OxP`*dM;ySxmFNzZ-NNZ7YY&z%R;@;6GRmrkOf3H^d4AWF+&#L5CDef z@m8=8#$TbZ;PKXQJ$U3Xf!CFU#n5BgNOhjwLTa@a$xAa4l;!;Pfk&hG1U(ZvXKteE z!76|HtT>oFvIR&kfP*9#f+WX{Q74A~k+n(ve&tTcn&K0H4FSu?)CbEa+5Y5w{JvDE z>b}$sS7x+Pe@*pBW7)w7vegGyfo@~ks2}zmlWYg4VOrrehkk2qat!#0@I_tUz1vfL z*92SPmEzNQwvgT^pB9%5!w^3c{K2Vh$RC_Ln~%APesu1jUd3wUh|FT@-d|R_FgHUN za3dlZH@VxH8E5f-T6iBR!)jDNAlloR#Z-QP9%{ZE9@;`!4cMPS3q5hx2f$$WT6JRO z5^M-^N(rd__?giDQ`@fIIfNSY1!@pDj&sOyB-nxY#wNxuh7K`99RiO5{Vqqnv>Nr2 zX5tP@g$W474|1MZQ-Ge)3=gw}ryeR7Twqm4DU4z^3fhoPGY>HhZ4=d-J+XMW7>Sm7JslT-1t zGVzY{0@LQ*aEp2;>8aeSrm}28?Z!pzd6-;77!>zvSspDEZ5XKhoTGyI6MJJZx!k4F z74NeBPD8c$Ie*o?w@l=WMx|)B8X6ovEu9LL{wrJyYT8opcIh&#fBhb4K(63x;o5iE zLBEH5Hdi1&iP8f4t-ok*5tN@E;7>g2=F#H%7KmxsPosbJjiB}CoXax7`kVX$VoPSl zL1|$K2rt~$0p!i%-ZQ~=ix&es+hmijf^8FF3=rzCP7sFt$@)t=ccw~2oLj*y;kq$H zL~~wEG}@#bXLrU5>Ycc!oWs|$YP{}7|FOD=tYefAQtrF4Iu4&V(>T7>j=i`&YmQ0! z4nZ>S8ZQE~e@doPYkP3$4%`HQZ4)0d zYk2&(j{Wh`m3V1nj|H3Iaya>qE4trASYL6d{#n=4`wl}Oj=9uv*XFZ?>Ri2$Pt62J zx6&;N&KCAvh@gGnvGcYG-rT#wwPXE-h^t&_2d8hfY|A;_(vJ>){_BPv67s4K*2|KG zK8^%WZCXsiy2w-k{SH%SiYO90_s=7~XSmmDlZ!*8)SvFp#?|%QJRI8WBy^Yg9OoYi zf3(&2ho$uL9o0)h9A){qu0m?>jONhL-JJA_@XYDvfyVk*=bx_PbXA4AeSW#3=%OOx z?EB(N9NUnOc=1lRre;m|uYIcRpZZmC#@uQbmcasx2RlrzO3gT0bG?|yq?u0(ln#FQ zEv5x0;rjo zog>QfB5sR{+7xC-eEVjb;dUIMJ=!Xwl=u>)%_i*R;HoI%m%_VOooH>!u zarte{2~MXLoyFw6$D&kMGx(j$!8|0N8y7tFDCEsy(s%HLh9y$R%oy9TqrUlX+I!jsE7N80alcr6QQZ7uG9$Y<9xsvuJp9gbgO&AlvhVV2Wn|BrdxB$3Jq>$fizrpI!mp72e6;cr`%llQdA&q0 zQF{ZHx@V%j}tz7w5K}sa;9+*pUf1}u6Sm~9DX;|;y_^v=Oe;R zp3YJnFV@39w(j2Mt@K+dnC;nrncBx#Rt7HIoch;4uhE*%C1g%={NRz#6Y-i%eCBm& zqF>6R-u4fiTE015m3PcK$?t3I)2WK>#}*2v&W@oRja>G=Z}y|pm@HvnQgYJPIqRG` zt+Jhlvx`2n`$m7poqr_1#hz)gGuHwC+iAgf7S4;c9@@|e8~QA+`0fmB)lU-bUh@@6 zJLAa@%*HUW)e=2BQSm=w=Y~XJh}(8sQ++R<$nx;0TC*mtuwLU42zhabx={%OO3 zVEqv7n?GG^n_IcZH{i+l7wfiW%P&uxn;jNssPn<~2f3TK?I85zx^2BeN_g8M>@VzB zh8$DI+w_eIef!rD8z&yvtrb*Cw%lacS&$$r{wxTey}HfDm~zj6xhS+quQJL?d+x`) zmMHzF&Ax;$bfrJNU2m@=c>fxWFeiWir(u`N3O~2)3)yoqZJGRX$1m&8G==~BbIu*D zdD#VA-E!qFTorT1Do$<)!SvWhiNw)u$!WVEF-FoMF-32gx)eey8*G^Pw26%i5jCLZgjNdKlKt z?!z*J_hg6vq8k*&=QoCKy;9zEYl+V0r5W|NVv2q(SA3F@+9zMnKgph^@3KaA`GNET ztBq21kgm+0vF|v!Pij8hX4<2wY5vydTPgBz+AaK%JGk>L6DuNVfo(m<8r|A;HlHp# zLf_QF-5wNj-B;RZ5sfbt5P!WJzQU{0_6S{z`m3zwH>oICP`jG1f6k0oFID(f&^u#! zy!vvfMU6*giJPOB}Z&_v1mssZa<2ylDOCN~6js6)lE3Dw5a_Jd% zMOjG)duMsUmm+hVb$d=~$Dcb-GM1M3PCPBmJr=&EIGJ~#tX#S?IFOqaSeIF&7h!(z zZ(lq!$JgBDtDX&21Y&`|?NvIV%pgg-mXh^*V}z~rG;Z{;@u0`@Ywo0*(Qp!c#{-Lx|VwaQEDBd?K7KlSTAZ20IVwJFc{Y;|#y zcFf(2($c=uvz_xz7OaT4XyHO|2w!EgV@`JvRj27{f@S?bQ<-0!TArOaiDlYxq&USh zsPqT=7MQ+pDJbW1lG7MKU$>w#n?Y#u9KWg zB+p%8QZ3Tf>qyR9_Mo;*CS$s@CCY%imlh|8_L4VIyw(Q2+)f8KkWQ3wCs`3}5E z_33;mpCrzhlJ`k)srHh;NX6a~{1M7;M}8vzW>1z2h!IVh%B{hx2#tx_4*9*UzA5V- zY^t*TS#ZohoAO&hcOp?iHT+Lr*Cm{o9E+$;(;BtCT`zk60 zIu0uxBKV&55{cf~M) zy1%~fPAorJ*~F6d5@jVmZn7s5+PVkq;8kDF*|0K|Y11u96zEfaV=7uVD0j48%-*$X zH&OeZTz*UHyZBR@aviSkP8;8vCy%_Y*u(POSzw@?&AXTM8)HxMZyd#b!-AkyxtknT zy2)7CbOHI~f=v0}bYiQnuj~QeIQh3q`+P3Dl@-yhQ>kcg*w2zLYds&DdS> { + private static final AntmailEventData INSTANCE = new AntmailEventData(); + private static volatile Map definitions = Map.of(); + private AntmailEventData() { + } + + public static AntmailEventData instance() { + return INSTANCE; + } + + public static void onTick(MinecraftServer server) { + long dayTime = server.overworld().getDayTime(); + long day = dayTime / 24000L; + if (dayTime % 24000L >= 20L) return; + AntmailServerData data = AntmailServerData.access(server); + if (!data.beginRandomMailDay(day)) return; + for (AntmailAddress address : data.registeredAddresses()) { + for (Map.Entry entry : definitions.entrySet()) { + Definition definition = entry.getValue(); + if (definition.trigger().type().equals("random") && server.overworld().random.nextDouble() < definition.trigger().chance()) deliver(server, address, entry.getKey(), definition, false); + } + } + } + + public static void onAdvancement(ServerPlayer player, AdvancementHolder advancement) { + AntmailServerData data = AntmailServerData.access(player.server); + AntmailAddress address = data.lastUsedAddress(player); + if (address == null) return; + for (Map.Entry entry : definitions.entrySet()) { + Trigger trigger = entry.getValue().trigger(); + if (trigger.type().equals("advancement") && trigger.value().equals(advancement.id().toString())) deliver(player.server, address, entry.getKey(), entry.getValue(), true); + } + } + + private static void deliver(MinecraftServer server, AntmailAddress recipient, ResourceLocation id, Definition definition, boolean permanentClaim) { + AntmailServerData data = AntmailServerData.access(server); + try { + AntmailAddress sender = AntmailAddress.parse(definition.sender()); + AntmailMessage message = AntmailMessage.create(sender, recipient, definition.subject(), definition.body(), server.overworld().getGameTime(), List.of()); + AntmailDeliveryResult result = data.deliver(server, message); + if (permanentClaim && result.status() != AntmailDeliveryResult.Status.MAILBOX_FULL + && result.status() != AntmailDeliveryResult.Status.FAILED + && result.status() != AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND) { + data.claimTrigger(recipient, id); + } + } catch (IllegalArgumentException ignored) { + } + } + + @Override + protected Map prepare(ResourceManager manager, ProfilerFiller profiler) { + Map loaded = new HashMap<>(); + for (Map.Entry resource : manager.listResources("antmail/message", path -> path.getPath().endsWith(".json")).entrySet()) { + try { + JsonElement element = JsonParser.parseReader(resource.getValue().openAsReader()); + if (!element.isJsonObject()) continue; + var object = element.getAsJsonObject(); + var trigger = object.getAsJsonObject("trigger"); + String type = trigger.get("type").getAsString(); + String value = trigger.has("value") ? trigger.get("value").getAsString() : String.valueOf(trigger.get("day").getAsInt()); + ResourceLocation id = ResourceLocation.fromNamespaceAndPath(resource.getKey().getNamespace(), resource.getKey().getPath().substring("antmail/message/".length(), resource.getKey().getPath().length() - 5)); + loaded.put(id, new Definition(object.get("sender").getAsString(), object.get("subject").getAsString(), object.get("body").getAsString(), new Trigger(type, value))); + } catch (Exception ignored) { + } + } + return Map.copyOf(loaded); + } + + @Override + protected void apply(Map loaded, ResourceManager manager, ProfilerFiller profiler) { + definitions = loaded; + } + + public record Definition(String sender, String subject, String body, Trigger trigger) { + } + + public record Trigger(String type, String value) { + double chance() { + try { + return Math.max(0.0D, Math.min(1.0D, Double.parseDouble(value))); + } catch (NumberFormatException ignored) { + return 0.0D; + } + } + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMailbox.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMailbox.java index 0b1450e4..af60e400 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMailbox.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMailbox.java @@ -8,10 +8,12 @@ import java.util.List; import java.util.UUID; public final class AntmailMailbox { + public static final int PAGE_SIZE = 20; private final AntmailAddress address; private final List inbox = new ArrayList<>(); private final List sent = new ArrayList<>(); private final List drafts = new ArrayList<>(); + private int reportedUnreadCount = -1; public AntmailMailbox(AntmailAddress address) { this.address = address; @@ -21,7 +23,7 @@ public final class AntmailMailbox { public List inbox() { return List.copyOf(inbox); } public List sent() { return List.copyOf(sent); } public List drafts() { return List.copyOf(drafts); } - public int unreadCount() { return (int) inbox.stream().filter(message -> !message.read()).count(); } + public int unreadCount() { return reportedUnreadCount >= 0 ? reportedUnreadCount : (int) inbox.stream().filter(message -> !message.read()).count(); } public boolean addIncoming(AntmailMessage message) { if (!address.equals(message.recipient()) || inbox.size() >= AntmailValidation.MAX_MAILBOX_MESSAGES || contains(inbox, message.id())) return false; @@ -45,6 +47,8 @@ public final class AntmailMailbox { public boolean removeDraft(UUID id) { return drafts.removeIf(draft -> draft.id().equals(id)); } public boolean removeInbox(UUID id) { return inbox.removeIf(message -> message.id().equals(id)); } public boolean removeSent(UUID id) { return sent.removeIf(message -> message.id().equals(id)); } + public AntmailMessage findSent(UUID id) { return sent.stream().filter(message -> message.id().equals(id)).findFirst().orElse(null); } + public AntmailMessage findInbox(UUID id) { return inbox.stream().filter(message -> message.id().equals(id)).findFirst().orElse(null); } public boolean markRead(UUID id) { for (AntmailMessage message : inbox) if (message.id().equals(id)) { message.markRead(); return true; } @@ -54,18 +58,47 @@ public final class AntmailMailbox { public AntmailDraft findDraft(UUID id) { return drafts.stream().filter(draft -> draft.id().equals(id)).findFirst().orElse(null); } public CompoundTag toTag() { + return toTag(true); + } + + public CompoundTag toTag(boolean includeMessageAttachments) { CompoundTag tag = new CompoundTag(); tag.putString("Address", address.fullAddress()); - tag.put("Inbox", messagesToTag(inbox)); - tag.put("Sent", messagesToTag(sent)); + tag.put("Inbox", messagesToTag(inbox, includeMessageAttachments)); + tag.put("Sent", messagesToTag(sent, includeMessageAttachments)); ListTag draftTags = new ListTag(); for (AntmailDraft draft : drafts) draftTags.add(draft.toTag()); tag.put("Drafts", draftTags); return tag; } + public CompoundTag toPageTag(int folder, int page) { + int safePage = Math.max(0, page); + int start = safePage * PAGE_SIZE; + CompoundTag tag = new CompoundTag(); + tag.putString("Address", address.fullAddress()); + tag.putInt("Folder", folder); + tag.putInt("Page", safePage); + tag.putInt("PageSize", PAGE_SIZE); + tag.putInt("TotalInbox", inbox.size()); + tag.putInt("TotalSent", sent.size()); + tag.putInt("UnreadCount", (int) inbox.stream().filter(message -> !message.read()).count()); + tag.put("Inbox", folder == 0 ? messagesToTag(page(inbox, start), false) : new ListTag()); + tag.put("Sent", folder == 1 ? messagesToTag(page(sent, start), false) : new ListTag()); + ListTag draftTags = new ListTag(); + for (AntmailDraft draft : drafts) draftTags.add(draft.toTag()); + tag.put("Drafts", draftTags); + return tag; + } + + private static List page(List values, int start) { + if (start >= values.size()) return List.of(); + return values.subList(start, Math.min(start + PAGE_SIZE, values.size())); + } + public static AntmailMailbox fromTag(CompoundTag tag) { AntmailMailbox mailbox = new AntmailMailbox(AntmailAddress.parse(tag.getString("Address"))); + if (tag.contains("UnreadCount")) mailbox.reportedUnreadCount = Math.max(0, tag.getInt("UnreadCount")); readMessages(tag.getList("Inbox", 10), mailbox.inbox); readMessages(tag.getList("Sent", 10), mailbox.sent); ListTag draftTags = tag.getList("Drafts", 10); @@ -75,9 +108,9 @@ public final class AntmailMailbox { return mailbox; } - private static ListTag messagesToTag(List messages) { + private static ListTag messagesToTag(List messages, boolean includeMessageAttachments) { ListTag tags = new ListTag(); - for (AntmailMessage message : messages) tags.add(message.toTag()); + for (AntmailMessage message : messages) tags.add(message.toTag(includeMessageAttachments)); return tags; } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMessage.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMessage.java index 43d375f5..74e9751b 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMessage.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailMessage.java @@ -16,6 +16,7 @@ public final class AntmailMessage { private static final String CREATED_TAG = "Created"; private static final String READ_TAG = "Read"; private static final String ATTACHMENTS_TAG = "Attachments"; + private static final String DELIVERY_STATUS_TAG = "DeliveryStatus"; private final UUID id; private final AntmailAddress sender; @@ -25,6 +26,7 @@ public final class AntmailMessage { private final long createdAt; private final List attachments; private boolean read; + private String deliveryStatus = "DELIVERED"; public AntmailMessage(UUID id, AntmailAddress sender, AntmailAddress recipient, String subject, String body, long createdAt, List attachments, boolean read) { AntmailValidation.Result result = AntmailValidation.validateMessage(sender, recipient, subject, body, attachments); @@ -53,10 +55,16 @@ public final class AntmailMessage { public long createdAt() { return createdAt; } public List attachments() { return attachments; } public boolean read() { return read; } + public String deliveryStatus() { return deliveryStatus; } + public void setDeliveryStatus(String status) { deliveryStatus = status == null || status.isBlank() ? "DELIVERED" : status; } public void markRead() { read = true; } public void markUnread() { read = false; } public CompoundTag toTag() { + return toTag(true); + } + + public CompoundTag toTag(boolean includeAttachments) { CompoundTag tag = new CompoundTag(); tag.putString(ID_TAG, id.toString()); tag.putString(FROM_TAG, sender.fullAddress()); @@ -65,9 +73,12 @@ public final class AntmailMessage { tag.putString(BODY_TAG, body); tag.putLong(CREATED_TAG, createdAt); tag.putBoolean(READ_TAG, read); - ListTag attachmentTags = new ListTag(); - for (AntmailAttachment attachment : attachments) attachmentTags.add(attachment.toTag()); - tag.put(ATTACHMENTS_TAG, attachmentTags); + tag.putString(DELIVERY_STATUS_TAG, deliveryStatus); + if (includeAttachments) { + ListTag attachmentTags = new ListTag(); + for (AntmailAttachment attachment : attachments) attachmentTags.add(attachment.toTag()); + tag.put(ATTACHMENTS_TAG, attachmentTags); + } return tag; } @@ -75,6 +86,8 @@ public final class AntmailMessage { List attachments = new ArrayList<>(); ListTag attachmentTags = tag.getList(ATTACHMENTS_TAG, 10); for (int index = 0; index < attachmentTags.size(); index++) attachments.add(AntmailAttachment.fromTag(attachmentTags.getCompound(index))); - return new AntmailMessage(UUID.fromString(tag.getString(ID_TAG)), AntmailAddress.parse(tag.getString(FROM_TAG)), AntmailAddress.parse(tag.getString(TO_TAG)), tag.getString(SUBJECT_TAG), tag.getString(BODY_TAG), tag.getLong(CREATED_TAG), attachments, tag.getBoolean(READ_TAG)); + AntmailMessage message = new AntmailMessage(UUID.fromString(tag.getString(ID_TAG)), AntmailAddress.parse(tag.getString(FROM_TAG)), AntmailAddress.parse(tag.getString(TO_TAG)), tag.getString(SUBJECT_TAG), tag.getString(BODY_TAG), tag.getLong(CREATED_TAG), attachments, tag.getBoolean(READ_TAG)); + message.setDeliveryStatus(tag.getString(DELIVERY_STATUS_TAG)); + return message; } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailServerData.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailServerData.java index e0ce6938..494ce7c6 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailServerData.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/antmail/AntmailServerData.java @@ -7,18 +7,27 @@ import net.minecraft.nbt.ListTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import com.craisinlord.antarchy.content.block.entity.ComputerBlockEntity; import net.minecraft.world.level.saveddata.SavedData; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.UUID; public final class AntmailServerData extends SavedData { private static final String ID = "antarchy_antmail"; + private static final int MAX_PENDING_MESSAGES = AntmailValidation.MAX_MAILBOX_MESSAGES; private final Map endpoints = new LinkedHashMap<>(); private final AntmailMailboxStore mailboxes = new AntmailMailboxStore(); private final List pending = new ArrayList<>(); + private final Map> triggered = new LinkedHashMap<>(); + private final Map mailboxVersions = new LinkedHashMap<>(); + private final Map lastUsedAddresses = new LinkedHashMap<>(); + private long randomMailDay = Long.MIN_VALUE; + private int retryTicks; public static AntmailServerData create() { return new AntmailServerData(); @@ -48,6 +57,35 @@ public final class AntmailServerData extends SavedData { } catch (RuntimeException ignored) { } } + ListTag triggeredTags = tag.getList("Triggered", 10); + for (int i = 0; i < triggeredTags.size(); i++) { + CompoundTag triggeredTag = triggeredTags.getCompound(i); + try { + AntmailAddress address = AntmailAddress.parse(triggeredTag.getString("Address")); + java.util.Set ids = new java.util.LinkedHashSet<>(); + ListTag idsTag = triggeredTag.getList("Ids", 8); + for (int j = 0; j < idsTag.size(); j++) ids.add(ResourceLocation.parse(idsTag.getString(j))); + data.triggered.put(address, ids); + } catch (RuntimeException ignored) { + } + } + ListTag lastUsedTags = tag.getList("LastUsedAddresses", 10); + for (int i = 0; i < lastUsedTags.size(); i++) { + try { + CompoundTag lastUsedTag = lastUsedTags.getCompound(i); + data.lastUsedAddresses.put(UUID.fromString(lastUsedTag.getString("Player")), AntmailAddress.parse(lastUsedTag.getString("Address"))); + } catch (RuntimeException ignored) { + } + } + data.randomMailDay = tag.contains("RandomMailDay") ? tag.getLong("RandomMailDay") : Long.MIN_VALUE; + ListTag versionTags = tag.getList("MailboxVersions", 10); + for (int i = 0; i < versionTags.size(); i++) { + try { + CompoundTag versionTag = versionTags.getCompound(i); + data.mailboxVersions.put(AntmailAddress.parse(versionTag.getString("Address")), Math.max(1L, versionTag.getLong("Version"))); + } catch (RuntimeException ignored) { + } + } return loaded; } @@ -71,6 +109,33 @@ public final class AntmailServerData extends SavedData { pendingTags.add(pendingTag); } tag.put("Pending", pendingTags); + ListTag triggeredTags = new ListTag(); + for (Map.Entry> entry : triggered.entrySet()) { + CompoundTag triggeredTag = new CompoundTag(); + triggeredTag.putString("Address", entry.getKey().fullAddress()); + ListTag idsTag = new ListTag(); + for (ResourceLocation id : entry.getValue()) idsTag.add(net.minecraft.nbt.StringTag.valueOf(id.toString())); + triggeredTag.put("Ids", idsTag); + triggeredTags.add(triggeredTag); + } + tag.put("Triggered", triggeredTags); + ListTag lastUsedTags = new ListTag(); + for (Map.Entry entry : lastUsedAddresses.entrySet()) { + CompoundTag lastUsedTag = new CompoundTag(); + lastUsedTag.putString("Player", entry.getKey().toString()); + lastUsedTag.putString("Address", entry.getValue().fullAddress()); + lastUsedTags.add(lastUsedTag); + } + tag.put("LastUsedAddresses", lastUsedTags); + tag.putLong("RandomMailDay", randomMailDay); + ListTag versionTags = new ListTag(); + for (Map.Entry entry : mailboxVersions.entrySet()) { + CompoundTag versionTag = new CompoundTag(); + versionTag.putString("Address", entry.getKey().fullAddress()); + versionTag.putLong("Version", entry.getValue()); + versionTags.add(versionTag); + } + tag.put("MailboxVersions", versionTags); return tag; } @@ -123,6 +188,40 @@ public final class AntmailServerData extends SavedData { return endpoints.get(address); } + public synchronized List registeredAddresses() { + return List.copyOf(endpoints.keySet()); + } + + public synchronized AntmailAddress addressFor(ServerPlayer player) { + AntmailAddress address = lastUsedAddresses.get(player.getUUID()); + return address != null && endpoints.containsKey(address) ? address : null; + } + + public synchronized AntmailAddress lastUsedAddress(ServerPlayer player) { + AntmailAddress address = lastUsedAddresses.get(player.getUUID()); + return address != null && endpoints.containsKey(address) ? address : null; + } + + public synchronized void setLastUsedAddress(ServerPlayer player, AntmailAddress address) { + if (address == null) return; + lastUsedAddresses.put(player.getUUID(), address); + setDirty(); + } + + public synchronized boolean claimTrigger(AntmailAddress address, ResourceLocation triggerId) { + java.util.Set ids = triggered.computeIfAbsent(address, ignored -> new java.util.LinkedHashSet<>()); + if (!ids.add(triggerId)) return false; + setDirty(); + return true; + } + + public synchronized boolean beginRandomMailDay(long day) { + if (randomMailDay == day) return false; + randomMailDay = day; + setDirty(); + return true; + } + public synchronized AntmailMailbox mailbox(AntmailAddress address) { return mailboxes.get(address); } @@ -133,34 +232,93 @@ public final class AntmailServerData extends SavedData { return mailbox; } + public synchronized long mailboxVersion(AntmailAddress address) { + return mailboxVersions.getOrDefault(address, 1L); + } + + public synchronized void touchMailbox(AntmailAddress address) { + if (address == null) return; + mailboxVersions.put(address, mailboxVersion(address) + 1L); + setDirty(); + } + + public synchronized void drainAddress(MinecraftServer server, ServerLevel level, BlockPos position) { + AntmailAddress address = addressAt(level.dimension().location(), position); + if (address != null) drain(server, address); + } + + public synchronized void drainAvailable(MinecraftServer server) { + if (pending.isEmpty() || ++retryTicks < 20) return; + retryTicks = 0; + List available = new ArrayList<>(); + for (Map.Entry entry : endpoints.entrySet()) { + Endpoint endpoint = entry.getValue(); + ServerLevel level = server.getLevel(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.DIMENSION, ResourceLocation.parse(endpoint.dimension()))); + if (level != null && level.hasChunkAt(BlockPos.of(endpoint.position()))) available.add(entry.getKey()); + } + for (AntmailAddress address : available) drain(server, address); + } + public synchronized AntmailDeliveryResult deliver(MinecraftServer server, AntmailMessage message) { - if (endpoint(message.recipient()) == null) return AntmailDeliveryResult.failed(AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND, message, "address_not_found"); + if (message == null) return AntmailDeliveryResult.failed(AntmailDeliveryResult.Status.MESSAGE_INVALID, null, "missing_message"); + if (endpoint(message.recipient()) == null) return failedAndRecorded(message, AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND, "address_not_found"); AntmailMailbox destination = mailboxes.getOrCreate(message.recipient()); - if (destination.inbox().size() >= AntmailValidation.MAX_MAILBOX_MESSAGES) return AntmailDeliveryResult.failed(AntmailDeliveryResult.Status.MAILBOX_FULL, message, "mailbox_full"); + if (destination.inbox().size() >= AntmailValidation.MAX_MAILBOX_MESSAGES) return failedAndRecorded(message, AntmailDeliveryResult.Status.MAILBOX_FULL, "mailbox_full"); Endpoint target = endpoint(message.recipient()); ServerLevel level = server.getLevel(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.DIMENSION, ResourceLocation.parse(target.dimension()))); if (level == null || !level.hasChunkAt(BlockPos.of(target.position()))) { + if (pending.stream().anyMatch(item -> item.message().id().equals(message.id()))) { + return AntmailDeliveryResult.failed(AntmailDeliveryResult.Status.DUPLICATE, message, "already_pending"); + } + if (pending.size() >= MAX_PENDING_MESSAGES) { + return failedAndRecorded(message, AntmailDeliveryResult.Status.FAILED, "pending_queue_full"); + } + message.setDeliveryStatus("QUEUED"); pending.add(new PendingMessage(message.recipient(), message)); mailboxes.getOrCreate(message.sender()).addSent(message); + touchMailbox(message.recipient()); + touchMailbox(message.sender()); setDirty(); return AntmailDeliveryResult.queued(message); } + message.setDeliveryStatus("DELIVERED"); destination.addIncoming(message); mailboxes.getOrCreate(message.sender()).addSent(message); + touchMailbox(message.recipient()); + touchMailbox(message.sender()); setDirty(); return AntmailDeliveryResult.delivered(message); } + private AntmailDeliveryResult failedAndRecorded(AntmailMessage message, AntmailDeliveryResult.Status status, String detail) { + message.setDeliveryStatus("FAILED // " + detail.toUpperCase()); + mailboxes.getOrCreate(message.sender()).addSent(message); + touchMailbox(message.sender()); + setDirty(); + return AntmailDeliveryResult.failed(status, message, detail); + } + public synchronized void drain(MinecraftServer server, AntmailAddress address) { AntmailMailbox mailbox = mailboxes.getOrCreate(address); + final boolean[] delivered = {false}; pending.removeIf(pendingMessage -> { if (!pendingMessage.recipient().equals(address) || mailbox.inbox().size() >= AntmailValidation.MAX_MAILBOX_MESSAGES) return false; - mailbox.addIncoming(pendingMessage.message()); + if (!mailbox.addIncoming(pendingMessage.message())) return false; + pendingMessage.message().setDeliveryStatus("DELIVERED"); + delivered[0] = true; return true; }); + if (delivered[0]) touchMailbox(address); setDirty(); } + public synchronized AntmailDeliveryResult retry(MinecraftServer server, AntmailAddress sender, UUID messageId) { + AntmailMessage message = mailboxes.getOrCreate(sender).findSent(messageId); + if (message == null) return null; + pending.removeIf(item -> item.message().id().equals(messageId)); + return deliver(server, message); + } + public record Endpoint(String dimension, long position) { } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/ComputerBlock.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/ComputerBlock.java index 40f34539..c69141b9 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/ComputerBlock.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/ComputerBlock.java @@ -2,6 +2,7 @@ package com.craisinlord.antarchy.content.block; import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.block.entity.ComputerBlockEntity; +import com.craisinlord.antarchy.content.antmail.AntmailServerData; import com.craisinlord.antarchy.content.client.AntarchyClientHooks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; @@ -99,6 +100,9 @@ public final class ComputerBlock extends BaseEntityBlock { protected void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean movedByPiston) { if (!state.is(newState.getBlock()) && level.getBlockEntity(pos) instanceof ComputerBlockEntity computer) { computer.dropDisks(level, pos); + if (level instanceof net.minecraft.server.level.ServerLevel serverLevel) { + AntmailServerData.access(serverLevel.getServer()).unregister(serverLevel.dimension().location(), pos); + } } super.onRemove(state, level, pos, newState, movedByPiston); } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/ComputerBlockEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/ComputerBlockEntity.java index 9adee0ce..ed8b291d 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/ComputerBlockEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/ComputerBlockEntity.java @@ -41,6 +41,12 @@ public final class ComputerBlockEntity extends BlockEntity implements GeoBlockEn private static final String AUTHENTICATED_TAG = "Authenticated"; private static final String AUTHENTICATED_UNTIL_TAG = "AuthenticatedUntil"; private static final String DESKTOP_TAG = "Desktop"; + private static final String BASILISK_SCORE_TAG = "BasiliskScore"; + private static final String BASILISK_HIGH_SCORE_TAG = "BasiliskHighScore"; + private static final String ANTMAN_SCORE_TAG = "AntmanScore"; + private static final String ANTMAN_HIGH_SCORE_TAG = "AntmanHighScore"; + private static final String BLOCKLE_DAY_TAG = "BlockleDay"; + private static final String BLOCKLE_GUESSES_TAG = "BlockleGuesses"; private static final long AUTHENTICATION_TIMEOUT = 6000L; private final Set physicalDiskIds = new LinkedHashSet<>(); private final ComputerFileSystem fileSystem = new ComputerFileSystem(); @@ -56,6 +62,12 @@ public final class ComputerBlockEntity extends BlockEntity implements GeoBlockEn private long authenticatedUntil; private java.util.UUID activeUser; private boolean lastActive; + private int basiliskScore; + private int basiliskHighScore; + private int antmanScore; + private int antmanHighScore; + private long blockleDay = -1L; + private final List blockleGuesses = new ArrayList<>(); public ComputerBlockEntity(BlockPos pos, BlockState state, Supplier> type) { super(type.get(), pos, state); @@ -256,6 +268,50 @@ public final class ComputerBlockEntity extends BlockEntity implements GeoBlockEn return desktopState; } + public int basiliskScore() { + return basiliskScore; + } + + public int basiliskHighScore() { + return basiliskHighScore; + } + + public void setBasiliskScore(int score) { + basiliskScore = Math.max(0, score); + basiliskHighScore = Math.max(basiliskHighScore, basiliskScore); + setChanged(); + } + + public int antmanScore() { return antmanScore; } + public int antmanHighScore() { return antmanHighScore; } + public void setAntmanScore(int score) { + antmanScore = Math.max(0, score); + antmanHighScore = Math.max(antmanHighScore, antmanScore); + setChanged(); + } + + public long blockleDay() { + return blockleDay; + } + + public List blockleGuesses() { + return List.copyOf(blockleGuesses); + } + + public void resetBlockle(long day) { + if (blockleDay == day) return; + blockleDay = day; + blockleGuesses.clear(); + setChanged(); + } + + public boolean addBlockleGuess(String guess) { + if (blockleGuesses.size() >= 6) return false; + blockleGuesses.add(guess); + setChanged(); + return true; + } + public boolean unlockWallpaper(ResourceLocation id) { return serverDesktopMutation(() -> desktopState.unlockWallpaper(id)); } @@ -346,6 +402,17 @@ public final class ComputerBlockEntity extends BlockEntity implements GeoBlockEn password = tag.getString(PASSWORD_TAG); fileSystem.load(tag, registries); desktopState.load(tag.getCompound(DESKTOP_TAG)); + basiliskScore = tag.getInt(BASILISK_SCORE_TAG); + basiliskHighScore = tag.getInt(BASILISK_HIGH_SCORE_TAG); + antmanScore = tag.getInt(ANTMAN_SCORE_TAG); + antmanHighScore = tag.getInt(ANTMAN_HIGH_SCORE_TAG); + blockleDay = tag.contains(BLOCKLE_DAY_TAG) ? tag.getLong(BLOCKLE_DAY_TAG) : -1L; + blockleGuesses.clear(); + ListTag blockle = tag.getList(BLOCKLE_GUESSES_TAG, 8); + for (int index = 0; index < blockle.size(); index++) { + String guess = blockle.getString(index); + if (guess.length() == 5 && !blockleGuesses.contains(guess) && blockleGuesses.size() < 6) blockleGuesses.add(guess); + } authenticated = false; authenticatedUntil = 0L; activeUser = null; @@ -363,6 +430,14 @@ public final class ComputerBlockEntity extends BlockEntity implements GeoBlockEn tag.putString(PASSWORD_TAG, password); fileSystem.save(tag, registries); tag.put(DESKTOP_TAG, desktopState.save()); + tag.putInt(BASILISK_SCORE_TAG, basiliskScore); + tag.putInt(BASILISK_HIGH_SCORE_TAG, basiliskHighScore); + tag.putInt(ANTMAN_SCORE_TAG, antmanScore); + tag.putInt(ANTMAN_HIGH_SCORE_TAG, antmanHighScore); + tag.putLong(BLOCKLE_DAY_TAG, blockleDay); + ListTag blockle = new ListTag(); + for (String guess : blockleGuesses) blockle.add(StringTag.valueOf(guess)); + tag.put(BLOCKLE_GUESSES_TAG, blockle); } @Override @@ -370,6 +445,9 @@ public final class ComputerBlockEntity extends BlockEntity implements GeoBlockEn CompoundTag tag = new CompoundTag(); tag.putBoolean("HasPassword", hasPassword()); tag.putBoolean(AUTHENTICATED_TAG, isAuthenticated()); + ListTag disks = new ListTag(); + for (ResourceLocation diskId : physicalDiskIds) disks.add(StringTag.valueOf(diskId.toString())); + tag.put(DISKS_TAG, disks); return tag; } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java index 274b4154..841b0871 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UnderVaultBlockEntity.java @@ -1,6 +1,7 @@ package com.craisinlord.antarchy.content.block.entity; import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.block.UnderVaultBlock; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.particles.SimpleParticleType; @@ -22,6 +23,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.world.entity.player.Player; import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.AABB; import java.util.Optional; import java.util.function.Supplier; @@ -44,6 +46,14 @@ public final class UnderVaultBlockEntity extends BlockEntity { public static void serverTick(ServerLevel level, BlockPos pos, BlockState state, UnderVaultBlockEntity blockEntity) { blockEntity.vaultData.setLevel(level); + // The vanilla vault detector can miss this ceiling-mounted wrapper because its + // block state has a separate render-facing property. Keep the state synchronized + // with the same four-block activation range before running vanilla's state machine. + if (state.getValue(UnderVaultBlock.STATE) == VaultState.INACTIVE + && !level.getEntitiesOfClass(Player.class, new AABB(pos).inflate(4.0D), player -> !player.isSpectator()).isEmpty()) { + state = state.setValue(UnderVaultBlock.STATE, VaultState.ACTIVE); + level.setBlockAndUpdate(pos, state); + } VaultBlockEntity.Server.tick(level, pos, state, blockEntity.vaultData.getConfig(), blockEntity.vaultData.getServerData(), blockEntity.vaultData.getSharedData()); } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java index 1a7b8d53..ef33bce9 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/block/entity/UndertrialSpawnerBlockEntity.java @@ -40,6 +40,7 @@ import java.util.function.Supplier; public final class UndertrialSpawnerBlockEntity extends BlockEntity implements TrialSpawner.StateAccessor { private static final String SPAWNER_TAG = "trial_spawner"; + private static final int DEFAULT_TARGET_COOLDOWN_LENGTH = 36000; private static final int EFFECT_DURATION = 3600; private TrialSpawner trialSpawner; private TrialSpawnerState previousClientState; @@ -194,12 +195,17 @@ public final class UndertrialSpawnerBlockEntity extends BlockEntity implements T private TrialSpawner createRewardlessSpawner(TrialSpawner source) { TrialSpawner rewardless = new TrialSpawner(withoutLootTables(source.getNormalConfig()), withoutLootTables(source.getOminousConfig()), - source.getData(), source.getRequiredPlayerRange(), source.getTargetCooldownLength(), this, + source.getData(), source.getRequiredPlayerRange(), targetCooldownLength(source), this, source.getPlayerDetector(), source.getEntitySelector()); rewardless.overridePeacefulAndMobSpawnRule(); return rewardless; } + private static int targetCooldownLength(TrialSpawner source) { + int targetCooldownLength = source.getTargetCooldownLength(); + return targetCooldownLength > 0 ? targetCooldownLength : DEFAULT_TARGET_COOLDOWN_LENGTH; + } + private static TrialSpawnerConfig withoutLootTables(TrialSpawnerConfig config) { return new TrialSpawnerConfig(config.spawnRange(), config.totalMobs(), config.simultaneousMobs(), config.totalMobsAddedPerPlayer(), config.simultaneousMobsAddedPerPlayer(), config.ticksBetweenSpawn(), diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/AntmailClientState.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/AntmailClientState.java index 2a94b7e8..1d829aa8 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/AntmailClientState.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/AntmailClientState.java @@ -1,22 +1,70 @@ package com.craisinlord.antarchy.content.client; import com.craisinlord.antarchy.content.network.AntmailResultPayload; +import com.craisinlord.antarchy.content.antmail.AntmailMessage; import net.minecraft.core.BlockPos; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public final class AntmailClientState { + private static final int MAX_CACHED_DETAILS_PER_MAILBOX = 8; private static final Map RESULTS = new ConcurrentHashMap<>(); + private static final Map MAILBOXES = new ConcurrentHashMap<>(); + private static final Map VERSIONS = new ConcurrentHashMap<>(); + private static final Map> DETAILS = new ConcurrentHashMap<>(); private AntmailClientState() { } public static void update(AntmailResultPayload payload) { RESULTS.put(payload.pos(), payload); + if ("unchanged".equals(payload.detail())) { + VERSIONS.put(payload.pos(), payload.version()); + return; + } else if ("message_detail".equals(payload.detail()) && !payload.data().isBlank()) { + try { + AntmailMessage message = AntmailMessage.fromTag(com.craisinlord.antarchy.content.antmail.AntmailWire.decodeTag(payload.data())); + Map details = DETAILS.computeIfAbsent(payload.pos(), ignored -> new ConcurrentHashMap<>()); + details.put(message.id(), message); + while (details.size() > MAX_CACHED_DETAILS_PER_MAILBOX) { + java.util.UUID oldest = details.keySet().iterator().next(); + details.remove(oldest); + } + } catch (RuntimeException ignored) { + } + } else if (!payload.data().isBlank()) { + MAILBOXES.put(payload.pos(), payload); + VERSIONS.put(payload.pos(), payload.version()); + } else { + // A failed or unconfigured response is authoritative; never show a + // mailbox from a previous address/computer at this position. + MAILBOXES.remove(payload.pos()); + VERSIONS.remove(payload.pos()); + } + } + + public static void clear(BlockPos pos) { + RESULTS.remove(pos); + MAILBOXES.remove(pos); + VERSIONS.remove(pos); + DETAILS.remove(pos); } public static AntmailResultPayload get(BlockPos pos) { return RESULTS.get(pos); } + + public static AntmailResultPayload getMailbox(BlockPos pos) { + return MAILBOXES.get(pos); + } + + public static long getVersion(BlockPos pos) { + return VERSIONS.getOrDefault(pos, 0L); + } + + public static AntmailMessage getMessage(BlockPos pos, java.util.UUID id) { + Map details = DETAILS.get(pos); + return details == null ? null : details.get(id); + } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/BlockleClientState.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/BlockleClientState.java new file mode 100644 index 00000000..a11c902a --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/BlockleClientState.java @@ -0,0 +1,26 @@ +package com.craisinlord.antarchy.content.client; + +import com.craisinlord.antarchy.content.network.ComputerAccessResultPayload; +import net.minecraft.core.BlockPos; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +public final class BlockleClientState { + private static final Map RESULTS = new ConcurrentHashMap<>(); + + private BlockleClientState() { + } + + public static void update(ComputerAccessResultPayload result) { + RESULTS.put(result.pos(), result); + } + + public static ComputerAccessResultPayload get(BlockPos pos) { + return RESULTS.get(pos); + } + + public static void clear(BlockPos pos) { + RESULTS.remove(pos); + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerAccessClientState.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerAccessClientState.java index 1c640fdb..f826ee01 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerAccessClientState.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerAccessClientState.java @@ -13,10 +13,19 @@ public final class ComputerAccessClientState { } public static void update(ComputerAccessResultPayload result) { - RESULTS.put(result.pos(), result); + if (result.data().startsWith("18\u0000") || result.data().startsWith("19\u0000")) { + BlockleClientState.update(result); + } + // File, terminal, desktop, and wallpaper responses carry their own operation + // status. They must not replace the last authoritative login state. + if (result.data().isBlank()) RESULTS.put(result.pos(), result); ComputerFileSystemClientState.update(result); } + public static void clear(BlockPos pos) { + RESULTS.remove(pos); + } + public static ComputerAccessResultPayload get(BlockPos pos) { return RESULTS.get(pos); } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerFileSystemClientState.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerFileSystemClientState.java index 00e6a51f..2ca89adb 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerFileSystemClientState.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/ComputerFileSystemClientState.java @@ -29,6 +29,13 @@ public final class ComputerFileSystemClientState { state.success = payload.result() == ComputerAccessResultPayload.SUCCESS; state.error = envelope[1]; if (state.success) state.error = ""; + if (action == ComputerAccessPayload.FILE_CREATE || action == ComputerAccessPayload.FILE_SAVE + || action == ComputerAccessPayload.FILE_DELETE || action == ComputerAccessPayload.FILE_MOVE) { + state.lastMutationAction = action; + state.lastMutationPath = envelope[2]; + state.lastMutationSuccess = state.success; + state.lastMutationError = envelope[1]; + } if (action == ComputerAccessPayload.FILE_LIST) { state.files = new ArrayList<>(); if (state.success && !envelope[2].isEmpty()) state.files.addAll(List.of(envelope[2].split("\\n"))); @@ -59,11 +66,19 @@ public final class ComputerFileSystemClientState { private String openedContents = ""; private String error = ""; private boolean success; + private int lastMutationAction = -1; + private String lastMutationPath = ""; + private boolean lastMutationSuccess; + private String lastMutationError = ""; public List files() { return List.copyOf(files); } public String openedPath() { return openedPath; } public String openedContents() { return openedContents; } public String error() { return error; } public boolean success() { return success; } + public int lastMutationAction() { return lastMutationAction; } + public String lastMutationPath() { return lastMutationPath; } + public boolean lastMutationSuccess() { return lastMutationSuccess; } + public String lastMutationError() { return lastMutationError; } } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmGame.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmGame.java deleted file mode 100644 index 19b9059b..00000000 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmGame.java +++ /dev/null @@ -1,168 +0,0 @@ -package com.craisinlord.antarchy.content.client.game; - -import java.util.ArrayList; -import java.util.List; - -public final class AntFarmGame { - public enum Phase { READY, PLAYING, WON, LOST } - public enum Direction { - UP(0, -1), DOWN(0, 1), LEFT(-1, 0), RIGHT(1, 0), NONE(0, 0); - - private final int dx; - private final int dy; - - Direction(int dx, int dy) { - this.dx = dx; - this.dy = dy; - } - } - - private static final String[] MAP = { - "###################", - "#.................#", - "#.###.#####.#####.#", - "#.................#", - "#.#####.###.#####.#", - "#.................#", - "#.#####.###.#####.#", - "#.................#", - "#.#####.###.#####.#", - "#.................#", - "###################" - }; - private static final int TICKS_PER_TILE = 4; - private static final int PLAYER_START_X = 1; - private static final int PLAYER_START_Y = 1; - private static final int ENEMY_START_X = 17; - private static final int ENEMY_START_Y = 9; - - private final boolean[][] pellets = new boolean[MAP.length][MAP[0].length()]; - private Phase phase = Phase.READY; - private Direction playerDirection = Direction.NONE; - private Direction requestedDirection = Direction.NONE; - private Direction enemyDirection = Direction.LEFT; - private int playerX; - private int playerY; - private int enemyX; - private int enemyY; - private int movementTicks; - private int score; - private int remainingFood; - - public AntFarmGame() { - reset(); - } - - public void reset() { - phase = Phase.READY; - playerDirection = Direction.NONE; - requestedDirection = Direction.NONE; - enemyDirection = Direction.LEFT; - playerX = PLAYER_START_X; - playerY = PLAYER_START_Y; - enemyX = ENEMY_START_X; - enemyY = ENEMY_START_Y; - movementTicks = 0; - score = 0; - remainingFood = 0; - for (int y = 0; y < MAP.length; y++) { - for (int x = 0; x < MAP[y].length(); x++) { - pellets[y][x] = MAP[y].charAt(x) == '.'; - if (pellets[y][x]) remainingFood++; - } - } - } - - public void start() { - if (phase == Phase.READY) phase = Phase.PLAYING; - } - - public void tick() { - if (phase != Phase.PLAYING) return; - movementTicks++; - if (movementTicks < TICKS_PER_TILE) return; - movementTicks = 0; - movePlayer(); - if (phase != Phase.PLAYING) return; - moveEnemy(); - if (playerX == enemyX && playerY == enemyY) phase = Phase.LOST; - } - - public void setRequestedDirection(Direction direction) { - if (direction != null && direction != Direction.NONE) requestedDirection = direction; - } - - public Phase phase() { return phase; } - public int score() { return score; } - public int remainingFood() { return remainingFood; } - public int width() { return MAP[0].length(); } - public int height() { return MAP.length; } - public int playerX() { return playerX; } - public int playerY() { return playerY; } - public int enemyX() { return enemyX; } - public int enemyY() { return enemyY; } - public boolean hasPellet(int x, int y) { return pellets[y][x]; } - public boolean isWall(int x, int y) { return MAP[y].charAt(x) == '#'; } - - private void movePlayer() { - if (canMove(playerX, playerY, requestedDirection)) playerDirection = requestedDirection; - if (canMove(playerX, playerY, playerDirection)) { - playerX += playerDirection.dx; - playerY += playerDirection.dy; - } - if (pellets[playerY][playerX]) { - pellets[playerY][playerX] = false; - remainingFood--; - score += 10; - if (remainingFood == 0) phase = Phase.WON; - } - } - - private void moveEnemy() { - List directions = legalDirections(enemyX, enemyY); - if (directions.isEmpty()) return; - Direction reverse = opposite(enemyDirection); - if (directions.size() > 1) directions.remove(reverse); - Direction best = directions.get(0); - int bestDistance = distanceAfter(best, playerX, playerY, enemyX, enemyY); - for (Direction direction : directions) { - int distance = distanceAfter(direction, playerX, playerY, enemyX, enemyY); - if (distance < bestDistance) { - best = direction; - bestDistance = distance; - } - } - enemyDirection = best; - enemyX += best.dx; - enemyY += best.dy; - } - - private int distanceAfter(Direction direction, int targetX, int targetY, int originX, int originY) { - return Math.abs(originX + direction.dx - targetX) + Math.abs(originY + direction.dy - targetY); - } - - private List legalDirections(int x, int y) { - List result = new ArrayList<>(4); - for (Direction direction : new Direction[]{Direction.UP, Direction.DOWN, Direction.LEFT, Direction.RIGHT}) { - if (canMove(x, y, direction)) result.add(direction); - } - return result; - } - - private boolean canMove(int x, int y, Direction direction) { - if (direction == Direction.NONE) return false; - int nextX = x + direction.dx; - int nextY = y + direction.dy; - return nextY >= 0 && nextY < MAP.length && nextX >= 0 && nextX < MAP[nextY].length() && !isWall(nextX, nextY); - } - - private Direction opposite(Direction direction) { - return switch (direction) { - case UP -> Direction.DOWN; - case DOWN -> Direction.UP; - case LEFT -> Direction.RIGHT; - case RIGHT -> Direction.LEFT; - case NONE -> Direction.NONE; - }; - } -} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmInput.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmInput.java deleted file mode 100644 index 1e3f47eb..00000000 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmInput.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.craisinlord.antarchy.content.client.game; - -import org.lwjgl.glfw.GLFW; - -public final class AntFarmInput { - private AntFarmInput() { - } - - public static AntFarmGame.Direction directionForKey(int keyCode) { - return switch (keyCode) { - case GLFW.GLFW_KEY_W, GLFW.GLFW_KEY_UP -> AntFarmGame.Direction.UP; - case GLFW.GLFW_KEY_S, GLFW.GLFW_KEY_DOWN -> AntFarmGame.Direction.DOWN; - case GLFW.GLFW_KEY_A, GLFW.GLFW_KEY_LEFT -> AntFarmGame.Direction.LEFT; - case GLFW.GLFW_KEY_D, GLFW.GLFW_KEY_RIGHT -> AntFarmGame.Direction.RIGHT; - default -> AntFarmGame.Direction.NONE; - }; - } - - public static boolean isStartOrRetry(int keyCode) { - return keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_KP_ENTER; - } -} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmProgram.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmProgram.java deleted file mode 100644 index 1a42f278..00000000 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmProgram.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.craisinlord.antarchy.content.client.game; - -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.GuiGraphics; - -public final class AntFarmProgram { - private final AntFarmGame game = new AntFarmGame(); - private boolean gameInstalled; - - public AntFarmProgram(boolean gameInstalled) { - this.gameInstalled = gameInstalled; - } - - public void setGameInstalled(boolean gameInstalled) { - this.gameInstalled = gameInstalled; - if (!gameInstalled) game.reset(); - } - - public boolean isGameInstalled() { return gameInstalled; } - public AntFarmGame game() { return game; } - - public void tick() { - if (gameInstalled) game.tick(); - } - - public boolean keyPressed(int keyCode) { - if (!gameInstalled) return false; - AntFarmGame.Direction direction = AntFarmInput.directionForKey(keyCode); - if (direction != AntFarmGame.Direction.NONE) { - if (game.phase() == AntFarmGame.Phase.READY) game.start(); - game.setRequestedDirection(direction); - return true; - } - if (AntFarmInput.isStartOrRetry(keyCode)) { - if (game.phase() == AntFarmGame.Phase.READY) game.start(); - else if (game.phase() == AntFarmGame.Phase.WON || game.phase() == AntFarmGame.Phase.LOST) { - game.reset(); - game.start(); - } - return true; - } - return false; - } - - public void render(GuiGraphics graphics, Font font, int x, int y, int width, int height) { - if (!gameInstalled) { - graphics.fill(x, y, x + width, y + height, 0xFF020602); - graphics.drawString(font, "ANT FARM NOT INSTALLED", x + 12, y + height / 2, 0xFF65FF65, false); - return; - } - AntFarmRenderer.render(graphics, font, game, x, y, width, height); - } -} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmRenderer.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmRenderer.java deleted file mode 100644 index b38542f1..00000000 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntFarmRenderer.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.craisinlord.antarchy.content.client.game; - -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.network.chat.Component; - -public final class AntFarmRenderer { - private static final int BLACK = 0xFF020602; - private static final int DARK_GREEN = 0xFF123012; - private static final int GREEN = 0xFF65FF65; - private static final int PALE_GREEN = 0xFFB8FFB8; - - private AntFarmRenderer() { - } - - public static void render(GuiGraphics graphics, Font font, AntFarmGame game, int x, int y, int width, int height) { - graphics.fill(x, y, x + width, y + height, BLACK); - int hudHeight = 18; - int boardX = x + 5; - int boardY = y + hudHeight + 4; - int boardWidth = width - 10; - int boardHeight = height - hudHeight - 9; - int tileSize = Math.max(1, Math.min(boardWidth / game.width(), boardHeight / game.height())); - int mazeWidth = tileSize * game.width(); - int mazeHeight = tileSize * game.height(); - int mazeX = boardX + Math.max(0, (boardWidth - mazeWidth) / 2); - int mazeY = boardY + Math.max(0, (boardHeight - mazeHeight) / 2); - graphics.drawString(font, Component.literal("SCORE " + String.format("%06d", game.score())), x + 6, y + 4, GREEN, false); - graphics.drawString(font, Component.literal("FOOD " + String.format("%03d", game.remainingFood())), x + width - 76, y + 4, PALE_GREEN, false); - for (int gridY = 0; gridY < game.height(); gridY++) { - for (int gridX = 0; gridX < game.width(); gridX++) { - int cellX = mazeX + gridX * tileSize; - int cellY = mazeY + gridY * tileSize; - if (game.isWall(gridX, gridY)) { - graphics.fill(cellX, cellY, cellX + tileSize, cellY + tileSize, DARK_GREEN); - } else if (game.hasPellet(gridX, gridY)) { - int pelletSize = Math.max(1, tileSize / 4); - int offset = (tileSize - pelletSize) / 2; - graphics.fill(cellX + offset, cellY + offset, cellX + offset + pelletSize, cellY + offset + pelletSize, PALE_GREEN); - } - } - } - drawAnt(graphics, mazeX + game.playerX() * tileSize, mazeY + game.playerY() * tileSize, tileSize, GREEN); - drawAnt(graphics, mazeX + game.enemyX() * tileSize, mazeY + game.enemyY() * tileSize, tileSize, PALE_GREEN); - if (game.phase() != AntFarmGame.Phase.PLAYING) { - String message = switch (game.phase()) { - case READY -> "ANT FARM // PRESS ENTER TO START"; - case WON -> "COLONY FED // ENTER TO PLAY AGAIN"; - case LOST -> "COLONY COMPROMISED // ENTER TO RETRY"; - case PLAYING -> ""; - }; - int messageWidth = font.width(message); - graphics.fill(x + 8, y + height / 2 - 12, x + width - 8, y + height / 2 + 12, BLACK); - graphics.drawString(font, Component.literal(message), x + Math.max(8, (width - messageWidth) / 2), y + height / 2 - 4, GREEN, false); - } - } - - private static void drawAnt(GuiGraphics graphics, int x, int y, int tileSize, int color) { - int inset = Math.max(1, tileSize / 4); - int center = x + tileSize / 2; - graphics.fill(center - inset, y + inset, center + inset + 1, y + tileSize - inset, color); - graphics.fill(x + inset, y + tileSize / 2 - inset, x + tileSize - inset, y + tileSize / 2 + inset + 1, color); - if (tileSize >= 5) graphics.fill(center - inset, y + inset, center + inset + 1, y + inset + 1, BLACK); - } -} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanGame.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanGame.java new file mode 100644 index 00000000..2788448c --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanGame.java @@ -0,0 +1,233 @@ +package com.craisinlord.antarchy.content.client.game; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Random; + +public final class AntmanGame { + public enum Phase { READY, PLAYING, LOST } + public enum Direction { UP(0, -1), DOWN(0, 1), LEFT(-1, 0), RIGHT(1, 0); + final int dx; + final int dy; + Direction(int dx, int dy) { this.dx = dx; this.dy = dy; } + Direction opposite() { return switch (this) { case UP -> DOWN; case DOWN -> UP; case LEFT -> RIGHT; case RIGHT -> LEFT; }; } + } + public enum EnemyKind { CREEPER, ZOMBIE } + public record Enemy(EnemyKind kind, double x, double y, Direction direction) { } + + private static final int WIDTH = 28; + private static final int HEIGHT = 20; + private static final double SPEED = 0.075D; + private final Random random = new Random(); + private final boolean[][] walls = new boolean[HEIGHT][WIDTH]; + private final List enemies = new ArrayList<>(); + private Direction direction = Direction.RIGHT; + private Direction requested = Direction.RIGHT; + private Phase phase = Phase.READY; + private double playerX; + private double playerY; + private int diamondX; + private int diamondY; + private int cornDogX; + private int cornDogY; + private int cornDogTicks; + private int cornDogSpawnTicks; + private int score; + private int highScore; + private int lives = 3; + private int ticks; + private boolean collectedDiamond; + + public AntmanGame(int highScore, int score) { + this.highScore = Math.max(0, highScore); + reset(score); + } + + public void reset() { reset(0); } + + public void reset(int currentScore) { + generateMaze(); + playerX = 1.5D; + playerY = 1.5D; + direction = Direction.RIGHT; + requested = Direction.RIGHT; + phase = Phase.READY; + score = Math.max(0, currentScore); + lives = 3; + ticks = 0; + cornDogTicks = 0; + cornDogSpawnTicks = 0; + placeDiamond(); + cornDogX = -1; + cornDogY = -1; + enemies.clear(); + enemies.add(new Enemy(EnemyKind.CREEPER, WIDTH - 2.5D, HEIGHT - 2.5D, Direction.LEFT)); + enemies.add(new Enemy(EnemyKind.ZOMBIE, WIDTH - 2.5D, 1.5D, Direction.DOWN)); + } + + public void start() { if (phase == Phase.READY) phase = Phase.PLAYING; } + + public boolean tick() { + collectedDiamond = false; + if (phase != Phase.PLAYING) return false; + ticks++; + if (cornDogTicks > 0) cornDogTicks--; + if (cornDogX < 0 && ++cornDogSpawnTicks >= 240) { + placeCornDog(); + cornDogSpawnTicks = 0; + } + updatePlayer(); + updateEnemies(); + if (near(playerX, playerY, diamondX + 0.5D, diamondY + 0.5D)) { + score += 10; + highScore = Math.max(highScore, score); + collectedDiamond = true; + placeDiamond(); + } + if (cornDogX >= 0 && near(playerX, playerY, cornDogX + 0.5D, cornDogY + 0.5D)) { + cornDogTicks = 200; + cornDogX = -1; + cornDogY = -1; + cornDogSpawnTicks = 0; + } + for (int index = 0; index < enemies.size(); index++) { + Enemy enemy = enemies.get(index); + if (!near(playerX, playerY, enemy.x(), enemy.y())) continue; + if (cornDogTicks > 0) { + score += 100; + highScore = Math.max(highScore, score); + enemies.set(index, new Enemy(enemy.kind(), WIDTH - 2.5D, enemy.kind() == EnemyKind.CREEPER ? HEIGHT - 2.5D : 1.5D, Direction.LEFT)); + } else { + lives--; + if (lives <= 0) phase = Phase.LOST; + else { + playerX = 1.5D; + playerY = 1.5D; + direction = Direction.RIGHT; + requested = Direction.RIGHT; + } + } + } + return true; + } + + public void setDirection(Direction direction) { if (direction != null) requested = direction; } + public Phase phase() { return phase; } + public int score() { return score; } + public int highScore() { return highScore; } + public int lives() { return lives; } + public int width() { return WIDTH; } + public int height() { return HEIGHT; } + public double playerX() { return playerX; } + public double playerY() { return playerY; } + public int diamondX() { return diamondX; } + public int diamondY() { return diamondY; } + public int cornDogX() { return cornDogX; } + public int cornDogY() { return cornDogY; } + public int cornDogTicks() { return cornDogTicks; } + public int animationFrame() { return (ticks / 5) % 2; } + public Direction direction() { return direction; } + public List enemies() { return Collections.unmodifiableList(enemies); } + public boolean collectedDiamond() { return collectedDiamond; } + public boolean isWall(int x, int y) { return x < 0 || y < 0 || x >= WIDTH || y >= HEIGHT || walls[y][x]; } + + private void updatePlayer() { + if (atCenter(playerX) && atCenter(playerY) && canMove(playerX, playerY, requested)) { + playerX = Math.round(playerX - 0.5D) + 0.5D; + playerY = Math.round(playerY - 0.5D) + 0.5D; + direction = requested; + } + double nextX = playerX + direction.dx * SPEED; + double nextY = playerY + direction.dy * SPEED; + if (canMove(nextX, nextY, direction)) { playerX = nextX; playerY = nextY; } + else { playerX = Math.round(playerX - 0.5D) + 0.5D; playerY = Math.round(playerY - 0.5D) + 0.5D; } + } + + private void updateEnemies() { + for (int index = 0; index < enemies.size(); index++) { + Enemy enemy = enemies.get(index); + Direction next = enemy.direction(); + if (atCenter(enemy.x()) && atCenter(enemy.y())) next = enemy.kind() == EnemyKind.CREEPER ? chaseDirection(enemy.x(), enemy.y(), next) : zombieDirection(enemy.x(), enemy.y(), next); + double nextX = enemy.x() + next.dx * (enemy.kind() == EnemyKind.CREEPER ? 0.06D : 0.05D); + double nextY = enemy.y() + next.dy * (enemy.kind() == EnemyKind.CREEPER ? 0.06D : 0.05D); + if (!canMove(nextX, nextY, next)) { next = randomDirection(enemy.x(), enemy.y(), next); nextX = enemy.x() + next.dx * 0.05D; nextY = enemy.y() + next.dy * 0.05D; } + if (canMove(nextX, nextY, next)) enemies.set(index, new Enemy(enemy.kind(), nextX, nextY, next)); + } + } + + private Direction chaseDirection(double x, double y, Direction current) { + Direction best = current; + double distance = Double.MAX_VALUE; + for (Direction direction : Direction.values()) { + if (isOpposite(direction, current) || !canMove(x, y, direction)) continue; + double nx = x + direction.dx; + double ny = y + direction.dy; + double value = Math.abs(playerX - nx) + Math.abs(playerY - ny); + if (value < distance) { distance = value; best = direction; } + } + if (distance == Double.MAX_VALUE && canMove(x, y, current.opposite())) best = current.opposite(); + return best; + } + + private Direction zombieDirection(double x, double y, Direction current) { + if (random.nextInt(4) != 0 && canMove(x, y, current)) return current; + return randomDirection(x, y, current); + } + + private Direction randomDirection(double x, double y, Direction current) { + List options = new ArrayList<>(); + for (Direction direction : Direction.values()) if (!isOpposite(direction, current) && canMove(x, y, direction)) options.add(direction); + if (options.isEmpty() && canMove(x, y, current.opposite())) return current.opposite(); + if (options.isEmpty()) return current; + return options.get(random.nextInt(options.size())); + } + + private boolean canMove(double x, double y, Direction direction) { + double nx = x + direction.dx * SPEED; + double ny = y + direction.dy * SPEED; + return !isWall((int) Math.floor(nx), (int) Math.floor(ny)); + } + + private boolean atCenter(double value) { return Math.abs((value - 0.5D) - Math.rint(value - 0.5D)) < 0.07D; } + private boolean near(double firstX, double firstY, double secondX, double secondY) { return Math.abs(firstX - secondX) < 0.45D && Math.abs(firstY - secondY) < 0.45D; } + private boolean isOpposite(Direction first, Direction second) { return first.dx + second.dx == 0 && first.dy + second.dy == 0; } + + private void generateMaze() { + for (int y = 0; y < HEIGHT; y++) for (int x = 0; x < WIDTH; x++) walls[y][x] = true; + carve(1, 1); + } + + private void carve(int x, int y) { + walls[y][x] = false; + List directions = new ArrayList<>(List.of(Direction.UP, Direction.DOWN, Direction.LEFT, Direction.RIGHT)); + Collections.shuffle(directions, random); + for (Direction direction : directions) { + int nx = x + direction.dx * 2; + int ny = y + direction.dy * 2; + if (nx > 0 && ny > 0 && nx < WIDTH - 1 && ny < HEIGHT - 1 && walls[ny][nx]) { + walls[y + direction.dy][x + direction.dx] = false; + carve(nx, ny); + } + } + } + + private void placeDiamond() { + int[] cell = randomOpenCell(); + diamondX = cell[0]; + diamondY = cell[1]; + } + + private void placeCornDog() { + int[] cell = randomOpenCell(); + cornDogX = cell[0]; + cornDogY = cell[1]; + } + + private int[] randomOpenCell() { + int x; + int y; + do { x = random.nextInt(WIDTH); y = random.nextInt(HEIGHT); } while (isWall(x, y) || near(playerX, playerY, x + 0.5D, y + 0.5D)); + return new int[]{x, y}; + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanProgram.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanProgram.java new file mode 100644 index 00000000..3966450c --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanProgram.java @@ -0,0 +1,48 @@ +package com.craisinlord.antarchy.content.client.game; + +import com.craisinlord.antarchy.content.AntarchyObjects; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.sounds.SoundEvents; +import java.util.function.IntConsumer; + +public final class AntmanProgram { + private final AntmanGame game; + private final IntConsumer scoreSaver; + private boolean installed; + private int savedScore; + private int savedHighScore; + + public AntmanProgram(boolean installed, int highScore, int score, IntConsumer scoreSaver) { + this.installed = installed; + this.savedScore = score; + this.savedHighScore = highScore; + this.game = new AntmanGame(highScore, score); + this.scoreSaver = scoreSaver; + } + + public void setInstalled(boolean installed) { this.installed = installed; if (!installed) game.reset(); } + public boolean installed() { return installed; } + public AntmanGame game() { return game; } + public void setStoredScores(int score, int highScore) { savedScore = score; savedHighScore = highScore; game.reset(score); } + public void tick() { + if (!game.tick()) return; + if (game.collectedDiamond() && Minecraft.getInstance().player != null) Minecraft.getInstance().player.playSound(SoundEvents.AMETHYST_BLOCK_CHIME, 0.6F, 1.4F); + if (game.score() != savedScore || game.highScore() != savedHighScore) { savedScore = game.score(); savedHighScore = game.highScore(); scoreSaver.accept(savedScore); } + } + public boolean keyPressed(int keyCode) { + if (!installed) return false; + AntmanGame.Direction direction = switch (keyCode) { + case 265, 87 -> AntmanGame.Direction.UP; + case 264, 83 -> AntmanGame.Direction.DOWN; + case 263, 65 -> AntmanGame.Direction.LEFT; + case 262, 68 -> AntmanGame.Direction.RIGHT; + default -> null; + }; + if (direction != null) { game.start(); game.setDirection(direction); return true; } + if (keyCode == 257 || keyCode == 335) { if (game.phase() != AntmanGame.Phase.PLAYING) { game.reset(); game.start(); savedScore = 0; scoreSaver.accept(0); } return true; } + return false; + } + public void render(GuiGraphics graphics, Font font, int x, int y, int width, int height) { AntmanRenderer.render(graphics, font, game, x, y, width, height); } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanRenderer.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanRenderer.java new file mode 100644 index 00000000..7babb7b9 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/AntmanRenderer.java @@ -0,0 +1,100 @@ +package com.craisinlord.antarchy.content.client.game; + +import com.craisinlord.antarchy.content.AntarchyObjects; +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; + +public final class AntmanRenderer { + private static final int BLACK = 0xFF020602; + private static final int DARK_GREEN = 0xFF123012; + private static final int GREEN = 0xFF65FF65; + private static final int PALE_GREEN = 0xFFB8FFB8; + private static final int ANT_BODY = 0xFFC98A3D; + private static final int GHOST_RED = 0xFFFF4A4A; + private static final int GHOST_PINK = 0xFFFF8FD2; + private static final int GHOST_FRIGHTENED = 0xFF4A8CFF; + private static final int GHOST_EYE = 0xFFF8FFFF; + private AntmanRenderer() { } + + public static void render(GuiGraphics graphics, Font font, AntmanGame game, int x, int y, int width, int height) { + graphics.fill(x, y, x + width, y + height, BLACK); + graphics.drawString(font, "SCORE " + String.format("%04d", game.score()), x + 5, y + 4, GREEN, false); + graphics.drawString(font, "HI " + String.format("%04d", game.highScore()), x + width - 55, y + 4, PALE_GREEN, false); + graphics.drawString(font, "LIVES " + game.lives(), x + 5, y + height - 13, PALE_GREEN, false); + int tile = Math.max(1, Math.min((width - 8) / game.width(), (height - 34) / game.height())); + int boardWidth = tile * game.width(); + int boardHeight = tile * game.height(); + int boardX = x + (width - boardWidth) / 2; + int boardY = y + 20 + (height - 34 - boardHeight) / 2; + for (int cellY = 0; cellY < game.height(); cellY++) for (int cellX = 0; cellX < game.width(); cellX++) if (game.isWall(cellX, cellY)) graphics.fill(boardX + cellX * tile, boardY + cellY * tile, boardX + (cellX + 1) * tile, boardY + (cellY + 1) * tile, DARK_GREEN); + renderItem(graphics, new ItemStack(Items.DIAMOND), boardX + game.diamondX() * tile, boardY + game.diamondY() * tile, tile); + if (game.cornDogX() >= 0) renderItem(graphics, new ItemStack(AntarchyObjects.COOKED_CORNDOG.get()), boardX + game.cornDogX() * tile, boardY + game.cornDogY() * tile, tile); + int playerX = boardX + (int) (game.playerX() * tile); + int playerY = boardY + (int) (game.playerY() * tile); + drawAnt(graphics, playerX, playerY, tile, game.animationFrame(), ANT_BODY, game.direction()); + for (AntmanGame.Enemy enemy : game.enemies()) { + int enemyX = boardX + (int) (enemy.x() * tile); + int enemyY = boardY + (int) (enemy.y() * tile); + int color = game.cornDogTicks() > 0 ? GHOST_FRIGHTENED : (enemy.kind() == AntmanGame.EnemyKind.CREEPER ? GHOST_RED : GHOST_PINK); + drawGhost(graphics, enemyX, enemyY, tile, game.animationFrame(), color); + } + if (game.phase() != AntmanGame.Phase.PLAYING) { + String title = game.phase() == AntmanGame.Phase.READY ? "ANTMAN.EXE" : "GAME OVER"; + String prompt = game.phase() == AntmanGame.Phase.READY ? "ENTER TO START" : "ENTER TO RETRY"; + int centerY = y + height / 2; + graphics.fill(x + 4, centerY - 16, x + width - 4, centerY + 16, BLACK); + graphics.drawString(font, title, x + (width - font.width(title)) / 2, centerY - 12, GREEN, false); + graphics.drawString(font, prompt, x + (width - font.width(prompt)) / 2, centerY + 2, PALE_GREEN, false); + } + } + + private static void drawAnt(GuiGraphics graphics, int centerX, int centerY, int tile, int frame, int color, AntmanGame.Direction direction) { + int size = Math.max(4, tile - 1); + int left = centerX - size / 2; + int top = centerY - size / 2; + int segment = Math.max(1, size / 4); + graphics.fill(left + segment * 2, top + segment, left + segment * 3, top + segment * 3, color); + graphics.fill(left + segment, top + segment * 2, left + segment * 4, top + segment * 4, color); + graphics.fill(left + segment * 3, top + segment * 2, left + segment * 5, top + segment * 4, color); + int legOffset = frame == 0 ? 1 : -1; + graphics.fill(left + segment, top + segment * 3, left + segment * 2, top + segment * 4 + legOffset, color); + graphics.fill(left + segment * 3, top + segment * 3, left + segment * 4, top + segment * 4 - legOffset, color); + if (direction == AntmanGame.Direction.LEFT || direction == AntmanGame.Direction.RIGHT) { + int headX = direction == AntmanGame.Direction.LEFT ? left : left + segment * 4; + graphics.fill(headX, top + segment, headX + segment, top + segment * 2, BLACK); + } + } + + private static void drawGhost(GuiGraphics graphics, int centerX, int centerY, int tile, int frame, int color) { + int size = Math.max(4, tile - 1); + int left = centerX - size / 2; + int top = centerY - size / 2; + int eyeWidth = Math.max(1, size / 5); + int bodyBottom = top + size - 1; + graphics.fill(left + 1, top, left + size - 1, bodyBottom - 1, color); + graphics.fill(left, top + 2, left + size, bodyBottom - 2, color); + int wave = frame == 0 ? 0 : 1; + graphics.fill(left, bodyBottom - 1 - wave, left + size / 3, bodyBottom + 1, color); + graphics.fill(left + size / 3, bodyBottom - wave, left + size * 2 / 3, bodyBottom + 1, color); + graphics.fill(left + size * 2 / 3, bodyBottom - 1 - wave, left + size, bodyBottom + 1, color); + int eyeY = top + Math.max(1, size / 3); + graphics.fill(left + size / 3 - eyeWidth / 2, eyeY, left + size / 3 + eyeWidth, eyeY + eyeWidth + 1, GHOST_EYE); + graphics.fill(left + size * 2 / 3 - eyeWidth / 2, eyeY, left + size * 2 / 3 + eyeWidth, eyeY + eyeWidth + 1, GHOST_EYE); + graphics.fill(left + size / 3, eyeY + 1, left + size / 3 + 1, eyeY + eyeWidth + 1, BLACK); + graphics.fill(left + size * 2 / 3, eyeY + 1, left + size * 2 / 3 + 1, eyeY + eyeWidth + 1, BLACK); + } + + private static void renderItem(GuiGraphics graphics, ItemStack stack, int x, int y, int tile) { + float scale = Math.min(1.0F, Math.max(0.45F, tile / 16.0F)); + graphics.pose().pushPose(); + graphics.pose().translate(x + tile / 2.0F, y + tile / 2.0F, 0.0F); + graphics.pose().scale(scale, scale, 1.0F); + RenderSystem.setShaderColor(0.38F, 1.0F, 0.38F, 1.0F); + graphics.renderItem(stack, -8, -8); + RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); + graphics.pose().popPose(); + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskGame.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskGame.java new file mode 100644 index 00000000..36fedcf9 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskGame.java @@ -0,0 +1,94 @@ +package com.craisinlord.antarchy.content.client.game; + +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.Random; + +public final class BasiliskGame { + public enum Phase { READY, PLAYING, LOST } + public enum Direction { UP(0, -1), DOWN(0, 1), LEFT(-1, 0), RIGHT(1, 0); + final int dx; + final int dy; + Direction(int dx, int dy) { this.dx = dx; this.dy = dy; } + } + + private final Deque body = new ArrayDeque<>(); + private final Random random = new Random(); + private Direction direction = Direction.RIGHT; + private Direction requested = Direction.RIGHT; + private Phase phase = Phase.READY; + private int foodX; + private int foodY; + private int score; + private int highScore; + private int ticks; + + public BasiliskGame(int highScore, int score) { + this.highScore = Math.max(0, highScore); + reset(score); + } + + public void reset() { + reset(0); + } + + public void reset(int currentScore) { + body.clear(); + body.addFirst(new Part(9, 7)); + body.addLast(new Part(8, 7)); + body.addLast(new Part(7, 7)); + direction = Direction.RIGHT; + requested = Direction.RIGHT; + phase = Phase.READY; + score = Math.max(0, currentScore); + ticks = 0; + placeFood(); + } + + public void start() { if (phase == Phase.READY) phase = Phase.PLAYING; } + + public boolean tick() { + if (phase != Phase.PLAYING || ++ticks < 5) return false; + ticks = 0; + if (!isOpposite(requested, direction)) direction = requested; + Part head = body.peekFirst(); + int nextX = head.x() + direction.dx; + int nextY = head.y() + direction.dy; + if (nextX < 0 || nextX >= 20 || nextY < 0 || nextY >= 14 || body.contains(new Part(nextX, nextY))) { + phase = Phase.LOST; + return true; + } + body.addFirst(new Part(nextX, nextY)); + if (nextX == foodX && nextY == foodY) { + score += 10; + highScore = Math.max(highScore, score); + placeFood(); + } else { + body.removeLast(); + } + return true; + } + + public void setDirection(Direction direction) { if (direction != null && !isOpposite(direction, this.direction)) requested = direction; } + public Phase phase() { return phase; } + public int score() { return score; } + public int highScore() { return highScore; } + public int width() { return 20; } + public int height() { return 14; } + public int foodX() { return foodX; } + public int foodY() { return foodY; } + public Deque body() { return body; } + + private void placeFood() { + do { + foodX = random.nextInt(width()); + foodY = random.nextInt(height()); + } while (body.contains(new Part(foodX, foodY))); + } + + private boolean isOpposite(Direction first, Direction second) { + return first.dx + second.dx == 0 && first.dy + second.dy == 0; + } + + public record Part(int x, int y) { } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskProgram.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskProgram.java new file mode 100644 index 00000000..cf85c8d5 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskProgram.java @@ -0,0 +1,43 @@ +package com.craisinlord.antarchy.content.client.game; + +import com.craisinlord.antarchy.content.AntarchySoundEvents; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.GuiGraphics; +import java.util.function.IntConsumer; + +public final class BasiliskProgram { + private final BasiliskGame game; + private boolean installed; + private int savedScore; + private int savedHighScore; + private final IntConsumer scoreSaver; + + public BasiliskProgram(boolean installed, int highScore, int score, IntConsumer scoreSaver) { + this.installed = installed; + this.savedHighScore = highScore; + this.savedScore = score; + this.game = new BasiliskGame(highScore, score); + this.scoreSaver = scoreSaver; + } + + public void setInstalled(boolean installed) { this.installed = installed; if (!installed) game.reset(); } + public boolean installed() { return installed; } + public BasiliskGame game() { return game; } + public void setStoredScores(int score, int highScore) { savedScore = score; savedHighScore = highScore; game.reset(score); } + public void tick() { if (game.tick() && (game.score() != savedScore || game.highScore() != savedHighScore)) { if (game.score() > savedScore) Minecraft.getInstance().player.playSound(AntarchySoundEvents.BASILISK_BITE.get(), 0.5F, 1.2F); savedScore = game.score(); savedHighScore = game.highScore(); scoreSaver.accept(savedScore); } } + public boolean keyPressed(int keyCode) { + if (!installed) return false; + BasiliskGame.Direction direction = switch (keyCode) { + case 265, 87 -> BasiliskGame.Direction.UP; + case 264, 83 -> BasiliskGame.Direction.DOWN; + case 263, 65 -> BasiliskGame.Direction.LEFT; + case 262, 68 -> BasiliskGame.Direction.RIGHT; + default -> null; + }; + if (direction != null) { game.start(); game.setDirection(direction); return true; } + if (keyCode == 257 || keyCode == 335) { if (game.phase() != BasiliskGame.Phase.PLAYING) { game.reset(); game.start(); savedScore = 0; scoreSaver.accept(0); } return true; } + return false; + } + public void render(GuiGraphics graphics, Font font, int x, int y, int width, int height) { BasiliskRenderer.render(graphics, font, game, x, y, width, height); } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskRenderer.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskRenderer.java new file mode 100644 index 00000000..3adab6c6 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BasiliskRenderer.java @@ -0,0 +1,39 @@ +package com.craisinlord.antarchy.content.client.game; + +import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.GuiGraphics; + +public final class BasiliskRenderer { + private static final int BLACK = 0xFF020602; + private static final int DARK_GREEN = 0xFF123012; + private static final int GREEN = 0xFF65FF65; + private static final int PALE_GREEN = 0xFFB8FFB8; + private BasiliskRenderer() { } + + public static void render(GuiGraphics graphics, Font font, BasiliskGame game, int x, int y, int width, int height) { + graphics.fill(x, y, x + width, y + height, BLACK); + graphics.drawString(font, "SCORE " + String.format("%04d", game.score()), x + 6, y + 4, GREEN, false); + graphics.drawString(font, "HI " + String.format("%04d", game.highScore()), x + width - 56, y + 4, PALE_GREEN, false); + int tile = Math.max(1, Math.min((width - 10) / game.width(), (height - 28) / game.height())); + int boardWidth = tile * game.width(); + int boardHeight = tile * game.height(); + int boardX = x + (width - boardWidth) / 2; + int boardY = y + 22 + (height - 22 - boardHeight) / 2; + graphics.fill(boardX, boardY, boardX + boardWidth, boardY + boardHeight, DARK_GREEN); + graphics.fill(boardX + 1, boardY + 1, boardX + boardWidth - 1, boardY + boardHeight - 1, BLACK); + int appleX = boardX + game.foodX() * tile; + int appleY = boardY + game.foodY() * tile; + int appleInset = Math.max(1, tile / 4); + graphics.fill(appleX + appleInset, appleY + appleInset + 1, appleX + tile - appleInset, appleY + tile - appleInset, PALE_GREEN); + if (tile >= 5) graphics.fill(appleX + tile / 2, appleY + 1, appleX + tile / 2 + 1, appleY + tile / 3 + 1, GREEN); + for (BasiliskGame.Part part : game.body()) graphics.fill(boardX + part.x() * tile + 1, boardY + part.y() * tile + 1, boardX + (part.x() + 1) * tile - 1, boardY + (part.y() + 1) * tile - 1, GREEN); + if (game.phase() != BasiliskGame.Phase.PLAYING) { + String title = game.phase() == BasiliskGame.Phase.READY ? "BASILISK" : "GAME OVER"; + String prompt = game.phase() == BasiliskGame.Phase.READY ? "ENTER TO START" : "ENTER TO RETRY"; + int centerY = y + height / 2; + graphics.fill(x + 4, centerY - 16, x + width - 4, centerY + 16, BLACK); + graphics.drawString(font, title, x + (width - font.width(title)) / 2, centerY - 12, GREEN, false); + graphics.drawString(font, prompt, x + (width - font.width(prompt)) / 2, centerY + 2, PALE_GREEN, false); + } + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleProgram.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleProgram.java new file mode 100644 index 00000000..c2413431 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleProgram.java @@ -0,0 +1,141 @@ +package com.craisinlord.antarchy.content.client.game; + +import com.craisinlord.antarchy.content.client.BlockleClientState; +import com.craisinlord.antarchy.content.network.ComputerAccessResultPayload; +import com.craisinlord.antarchy.content.network.ComputerNetworking; +import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; + +import java.util.ArrayList; +import java.util.List; + +public final class BlockleProgram { + private final BlockPos position; + private final List guesses = new ArrayList<>(); + private final List colors = new ArrayList<>(); + private String input = ""; + private String status = "LOADING..."; + private String phase = "PLAYING"; + private String answer = ""; + private ResourceLocation answerId; + private long day = -1L; + private boolean installed; + private boolean pending; + private boolean received; + private String lastResponse = ""; + + public BlockleProgram(BlockPos position) { + this.position = position; + } + + public void setInstalled(boolean installed) { + this.installed = installed; + if (!installed) clear(); + } + + public boolean installed() { + return installed; + } + + public void requestState() { + if (installed) ComputerNetworking.requestBlockleState(position); + } + + public void tick() { + ComputerAccessResultPayload result = BlockleClientState.get(position); + if (result == null) return; + if (result.data().equals(lastResponse)) return; + lastResponse = result.data(); + String[] fields = result.data().split("\u0000", 3); + if (fields.length < 2 || (!fields[0].equals("18") && !fields[0].equals("19"))) return; + if (!fields[1].isBlank()) { + status = fields[1].toUpperCase(); + pending = false; + return; + } + if (fields.length == 3) { + parse(fields[2]); + pending = false; + input = ""; + received = true; + } + } + + public boolean keyPressed(int keyCode) { + if (!installed) return false; + if (keyCode == 259) { + if (!input.isEmpty()) input = input.substring(0, input.length() - 1); + return true; + } + if (keyCode == 257 || keyCode == 335) { + if (!received) return true; + if (input.length() == 5 && phase.equals("PLAYING") && !pending) { + ComputerNetworking.submitBlockleGuess(position, input); + pending = true; + status = "SUBMITTING"; + } + return true; + } + return false; + } + + public boolean charTyped(char codePoint) { + if (!installed || !received || phase.equals("SOLVED") || phase.equals("FAILED")) return false; + if (codePoint >= 'A' && codePoint <= 'Z') codePoint = Character.toLowerCase(codePoint); + if (codePoint >= 'a' && codePoint <= 'z' && input.length() < 5) { + input += codePoint; + status = ""; + return true; + } + return false; + } + + public void render(GuiGraphics graphics, Font font, int x, int y, int width, int height) { + BlockleRenderer.render(graphics, font, x, y, width, height, guesses, colors, input, status, phase, answerId); + } + + private void parse(String encoded) { + String[] values = encoded.split("\\|"); + if (values.length == 0) return; + try { day = Long.parseLong(values[0]); } catch (NumberFormatException ignored) { return; } + guesses.clear(); + colors.clear(); + phase = "PLAYING"; + answer = ""; + for (int index = 1; index < values.length; index++) { + String value = values[index]; + if (value.equals("PLAYING") || value.equals("SOLVED") || value.equals("FAILED")) { + phase = value; + if (index + 1 < values.length && (phase.equals("SOLVED") || phase.equals("FAILED"))) { + answer = values[index + 1]; + if (index + 2 < values.length) { + try { answerId = ResourceLocation.parse(values[index + 2]); } catch (IllegalArgumentException ignored) { answerId = null; } + } + } + break; + } + String[] guess = value.split(",", 2); + if (guess.length == 2 && guess[0].length() == 5 && guess[1].length() == 5) { + guesses.add(guess[0]); + colors.add(guess[1]); + } + } + status = phase.equals("FAILED") && !answer.isBlank() ? "ANSWER: " + answer.toUpperCase() : phase.equals("PLAYING") ? "" : phase; + } + + private void clear() { + guesses.clear(); + colors.clear(); + input = ""; + status = "LOADING..."; + phase = "PLAYING"; + answer = ""; + answerId = null; + day = -1L; + pending = false; + received = false; + lastResponse = ""; + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleRenderer.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleRenderer.java new file mode 100644 index 00000000..7e27eb64 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/game/BlockleRenderer.java @@ -0,0 +1,61 @@ +package com.craisinlord.antarchy.content.client.game; + +import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.network.chat.Component; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.item.ItemStack; +import net.minecraft.resources.ResourceLocation; + +import java.util.List; + +public final class BlockleRenderer { + private static final int EMPTY = 0xFF102010; + private static final int GREY = 0xFF3A403A; + private static final int YELLOW = 0xFFB59F3B; + private static final int GREEN = 0xFF538D4E; + private static final int PALE = 0xFFB8FFB8; + + private BlockleRenderer() { + } + + public static void render(GuiGraphics graphics, Font font, int x, int y, int width, int height, + List guesses, List colors, String input, String status, String phase, + ResourceLocation answerId) { + graphics.drawString(font, Component.literal("BLOCKLE"), x, y, 0xFF65FF65, false); + int cell = 18; + int gap = 3; + int boardX = x + Math.max(0, (width - cell * 5 - gap * 4) / 2); + int boardY = y + 18; + for (int row = 0; row < 6; row++) { + String guess = row < guesses.size() ? guesses.get(row) : row == guesses.size() ? input : ""; + String rowColors = row < colors.size() ? colors.get(row) : ""; + for (int column = 0; column < 5; column++) { + int left = boardX + column * (cell + gap); + int top = boardY + row * (cell + gap); + int fill = EMPTY; + if (column < rowColors.length()) fill = switch (rowColors.charAt(column)) { + case 'G' -> GREEN; + case 'Y' -> YELLOW; + default -> GREY; + }; + graphics.fill(left, top, left + cell, top + cell, fill); + if (column < guess.length()) { + String letter = Character.toString(Character.toUpperCase(guess.charAt(column))); + graphics.drawCenteredString(font, letter, left + cell / 2, top + 5, PALE); + } + } + } + String message = status.isBlank() ? "ENTER TO SUBMIT" : status; + if (phase.equals("PLAYING") && input.length() < 5) message = input.length() + "/5 LETTERS"; + graphics.drawString(font, Component.literal(message), x, y + 145, PALE, false); + if (!phase.equals("PLAYING") && answerId != null) { + ItemStack answerStack = BuiltInRegistries.ITEM.getOptional(answerId).map(ItemStack::new).orElse(ItemStack.EMPTY); + if (!answerStack.isEmpty()) { + graphics.setColor(0.35F, 1.0F, 0.35F, 1.0F); + graphics.renderItem(answerStack, x + width - 28, y + 137); + graphics.setColor(1.0F, 1.0F, 1.0F, 1.0F); + } + } + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/screen/ComputerScreen.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/screen/ComputerScreen.java index 8d38bd8b..7a8d688c 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/screen/ComputerScreen.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/client/screen/ComputerScreen.java @@ -3,6 +3,7 @@ package com.craisinlord.antarchy.content.client.screen; import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.block.entity.ComputerBlockEntity; import com.craisinlord.antarchy.content.client.ComputerAccessClientState; +import com.craisinlord.antarchy.content.client.BlockleClientState; import com.craisinlord.antarchy.content.client.ComputerFileSystemClientState; import com.craisinlord.antarchy.content.client.AntmailClientState; import com.craisinlord.antarchy.content.antmail.AntmailAddress; @@ -10,6 +11,8 @@ import com.craisinlord.antarchy.content.antmail.AntmailMailbox; import com.craisinlord.antarchy.content.antmail.AntmailMessage; import com.craisinlord.antarchy.content.antmail.AntmailWire; import com.craisinlord.antarchy.content.antmail.AntmailAttachment; +import com.craisinlord.antarchy.content.antmail.AntmailAttachmentFiles; +import com.craisinlord.antarchy.content.antmail.AntmailDraft; import com.craisinlord.antarchy.content.guide.ComputerGuideData; import com.craisinlord.antarchy.content.network.ComputerAccessResultPayload; import com.craisinlord.antarchy.content.network.AntmailResultPayload; @@ -22,7 +25,9 @@ import com.craisinlord.antarchy.content.computer.paint.AntPaintFile; import com.craisinlord.antarchy.content.computer.paint.AntPaintFileCodec; import com.craisinlord.antarchy.content.computer.ComputerFileSystem; import com.craisinlord.antarchy.content.computer.ComputerDesktopState; -import com.craisinlord.antarchy.content.client.game.AntFarmProgram; +import com.craisinlord.antarchy.content.client.game.BasiliskProgram; +import com.craisinlord.antarchy.content.client.game.AntmanProgram; +import com.craisinlord.antarchy.content.client.game.BlockleProgram; import com.craisinlord.antarchy.content.computer.terminal.TerminalCommandParser; import com.craisinlord.antarchy.content.computer.terminal.TerminalResult; import org.lwjgl.glfw.GLFW; @@ -35,12 +40,16 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.entity.LivingEntity; import net.minecraft.client.gui.screens.inventory.InventoryScreen; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Base64; +import java.util.HashSet; +import java.util.Set; import java.util.UUID; public final class ComputerScreen extends Screen { @@ -72,19 +81,34 @@ public final class ComputerScreen extends Screen { private int dragX; private int dragY; private Window activeWindow; - private final AntFarmProgram antFarm = new AntFarmProgram(false); + private final BasiliskProgram basilisk; + private final AntmanProgram antman; + private final BlockleProgram blockle; + private final Set archiveRenderLog = new HashSet<>(); public ComputerScreen(net.minecraft.core.BlockPos position) { super(Component.translatable("screen.antarchy.computer")); this.position = position; + this.basilisk = new BasiliskProgram(false, 0, 0, score -> ComputerNetworking.saveBasiliskScore(this.position, score)); + this.antman = new AntmanProgram(false, 0, 0, score -> ComputerNetworking.saveAntmanScore(this.position, score)); + this.blockle = new BlockleProgram(this.position); String dimension = Minecraft.getInstance().level == null ? "" : Minecraft.getInstance().level.dimension().location().toString(); this.sessionKey = dimension + ":" + position.asLong(); this.session = SESSIONS.computeIfAbsent(sessionKey, ignored -> new Session()); + this.session.windows.removeIf(window -> window.type.equals("GAMES") && window.gameOpen); if (this.session.bootTicks < 0) this.session.bootTicks = 80; + this.session.antmanStateRequested = false; + this.session.blockleStateRequested = false; + this.session.antmanResponse = ""; + ComputerAccessClientState.clear(position); + BlockleClientState.clear(position); ComputerNetworking.open(position); - AntmailNetworking.requestState(position); this.accessResult = ComputerAccessClientState.get(position); this.loggedIn = accessResult != null && accessResult.authenticated() && session.lastUse + SESSION_TIMEOUT > System.currentTimeMillis(); + if (loggedIn) { + requestAntmailState(); + session.antmailRefreshTicks = 40; + } if (!loggedIn) { session.authenticated = false; session.windows.clear(); @@ -113,12 +137,16 @@ public final class ComputerScreen extends Screen { } } AntmailResultPayload mailResult = AntmailClientState.get(position); + if (loggedIn && --session.antmailRefreshTicks <= 0) { + requestAntmailState(); + session.antmailRefreshTicks = 40; + } if (session.antmailRegistrationPending && mailResult != null) { String expectedAddress = session.antmailUsername + "@antmail.com"; if (mailResult.address().equalsIgnoreCase(expectedAddress)) { session.antmailStatus = "ADDRESS REGISTERED"; session.antmailRegistrationPending = false; - AntmailNetworking.requestState(position); + requestAntmailState(); } else if (mailResult.detail().startsWith("registration_failed:")) { String reason = mailResult.detail().substring("registration_failed:".length()).trim(); session.antmailStatus = "ADDRESS REGISTRATION FAILED // " + (reason.isBlank() ? "SERVER REJECTED" : reason.toUpperCase()); @@ -129,6 +157,8 @@ public final class ComputerScreen extends Screen { loggedIn = true; session.authenticated = true; session.lastUse = System.currentTimeMillis(); + session.antmailRefreshTicks = 40; + requestAntmailState(); } if (loggedIn && (session.lastUse + SESSION_TIMEOUT <= System.currentTimeMillis() || accessResult == null || !accessResult.authenticated())) { loggedIn = false; @@ -139,6 +169,18 @@ public final class ComputerScreen extends Screen { ComputerNetworking.requestDesktopState(position); session.desktopRequested = true; } + if (loggedIn && !session.basiliskStateRequested) { + ComputerNetworking.requestBasiliskState(position); + session.basiliskStateRequested = true; + } + if (loggedIn && !session.antmanStateRequested) { + ComputerNetworking.requestAntmanState(position); + session.antmanStateRequested = true; + } + if (loggedIn && !session.blockleStateRequested) { + ComputerNetworking.requestBlockleState(position); + session.blockleStateRequested = true; + } if (currentResult != null && currentResult.data().startsWith("11\u0000")) { String[] desktop = currentResult.data().split("\u0000", 3); if (desktop.length == 3 && !desktop[2].isBlank()) { @@ -169,8 +211,35 @@ public final class ComputerScreen extends Screen { session.terminalOutput.add("ERROR: CORRUPTED SERVER RESPONSE"); } } - antFarm.setGameInstalled(physicalDisks().stream().anyMatch(id -> id.getPath().equals("ant_farm"))); - if (activeWindow != null && activeWindow.type.equals("GAMES") && activeWindow.gameOpen) antFarm.tick(); + basilisk.setInstalled(physicalDisks().stream().anyMatch(id -> id.getPath().equals("basilisk_game"))); + antman.setInstalled(physicalDisks().stream().anyMatch(id -> id.getPath().equals("antman_game"))); + boolean blockleWasInstalled = blockle.installed(); + blockle.setInstalled(physicalDisks().stream().anyMatch(id -> id.getPath().equals("blockle_game"))); + if (loggedIn && blockle.installed() && !blockleWasInstalled) { + ComputerNetworking.requestBlockleState(position); + session.blockleStateRequested = true; + } + blockle.tick(); + if (currentResult != null && currentResult.data().startsWith("16\u0000") && !currentResult.data().equals(session.basiliskResponse)) { + session.basiliskResponse = currentResult.data(); + String[] scores = currentResult.data().split("\u0000", 3); + if (scores.length == 3) { + String[] values = scores[2].split("\u0000", 2); + if (values.length == 2) try { basilisk.setStoredScores(Integer.parseInt(values[0]), Integer.parseInt(values[1])); } catch (NumberFormatException ignored) { } + } + } + if (currentResult != null && currentResult.data().startsWith("17\u0000") && !currentResult.data().equals(session.antmanResponse)) { + session.antmanResponse = currentResult.data(); + String[] scores = currentResult.data().split("\u0000", 3); + if (scores.length == 3) { + String[] values = scores[2].split("\u0000", 2); + if (values.length == 2) try { antman.setStoredScores(Integer.parseInt(values[0]), Integer.parseInt(values[1])); } catch (NumberFormatException ignored) { } + } + } + if (activeWindow != null && activeWindow.type.equals("GAMES") && activeWindow.gameOpen) { + if (activeWindow.gameId.equals("antman")) antman.tick(); + else if (activeWindow.gameId.equals("basilisk")) basilisk.tick(); + } } @Override @@ -198,7 +267,7 @@ public final class ComputerScreen extends Screen { private void renderBoot(GuiGraphics g, int l, int t) { int progress = Math.min(100, (80 - session.bootTicks) * 100 / 80); int message = Math.min(BOOT_MESSAGES.length - 1, progress * BOOT_MESSAGES.length / 101); - g.drawString(font, Component.literal("ANTINTOSH OS"), l + 28, t + 78, GREEN, false); + g.drawString(font, Component.literal("ANTINTOSH OS // v" + Antarchy.MOD_VERSION), l + 28, t + 78, GREEN, false); g.drawString(font, Component.literal("INITIALIZING SYSTEM..."), l + 28, t + 105, PALE_GREEN, false); g.fill(l + 28, t + 132, l + WIDTH - 28, t + 148, BLACK); box(g, l + 28, t + 132, l + WIDTH - 28, t + 148, GREEN); @@ -208,7 +277,7 @@ public final class ComputerScreen extends Screen { } private void renderLogin(GuiGraphics g, int l, int t) { - g.drawString(font, Component.literal("ANTINTOSH OS"), l + 28, t + 25, GREEN, false); + g.drawString(font, Component.literal("ANTINTOSH OS // v" + Antarchy.MOD_VERSION), l + 28, t + 25, GREEN, false); g.drawString(font, Component.literal("BOOT SEQUENCE COMPLETE"), l + 28, t + 43, PALE_GREEN, false); g.fill(l + 28, t + 59, l + WIDTH - 28, t + 61, GREEN); ComputerBlockEntity computer = computer(); @@ -222,7 +291,7 @@ public final class ComputerScreen extends Screen { g.drawString(font, Component.literal("*".repeat((confirmingPassword ? confirmation : password).length())), formX + 6, t + 157, GREEN, false); g.drawString(font, Component.literal(setup ? (confirmingPassword ? "[ ENTER ] CONFIRM" : "[ ENTER ] CONTINUE") : "[ ENTER ] LOGIN"), formX, t + 187, GREEN, false); g.drawString(font, Component.literal("[ ESC ] POWER DOWN"), formX, t + 205, PALE_GREEN, false); - if (loginMessageTicks > 0) wrap(g, loginMessage, formX, t + 232, setup ? 220 : 165, PALE_GREEN); + if (loginMessageTicks > 0) wrapLimited(g, loginMessage, formX, t + 232, setup ? 220 : 165, t + HEIGHT - 8, PALE_GREEN); } private void renderDesktop(GuiGraphics g, int l, int t, int mouseX, int mouseY) { @@ -246,9 +315,10 @@ public final class ComputerScreen extends Screen { boolean hover = inside(x - 6, y - 6, 76, 57, mouseX, mouseY); if (hover) g.fill(x - 7, y - 7, x + 69, y + 51, 0xFF173817); icon(g, ICONS[i], x + 25, y + 2); + if (ICONS[i].equals("ANTMAIL") && antmailHasUnreadMessages()) drawNotificationBadge(g, x + 47, y - 3); g.drawString(font, Component.literal(ICONS[i]), x, y + 35, GREEN, false); } - List disks = physicalDisks(); + List disks = physicalDisks().stream().filter(id -> !id.getPath().equals("blockle_game")).toList(); for (int i = 0; i < disks.size() && i < 3; i++) { int x = l + 24 + i % 4 * 94; int y = t + 200 + i / 4 * 54; @@ -259,6 +329,19 @@ public final class ComputerScreen extends Screen { for (Window window : session.windows) if (!window.minimized) renderWindow(g, window, l, t, mouseX, mouseY); } + private boolean antmailHasUnreadMessages() { + AntmailResultPayload result = AntmailClientState.getMailbox(position); + AntmailMailbox mailbox = mailbox(result); + return mailbox != null && mailbox.unreadCount() > 0; + } + + private void drawNotificationBadge(GuiGraphics g, int x, int y) { + g.fill(x - 3, y - 1, x + 4, y + 6, PALE_GREEN); + g.fill(x - 1, y - 3, x + 2, y + 8, PALE_GREEN); + g.fill(x - 5, y + 1, x + 6, y + 4, PALE_GREEN); + g.drawString(font, Component.literal("!"), x - 1, y - 1, BLACK, false); + } + private void renderWallpaper(GuiGraphics g, int l, int t) { int left = l + 9; int top = t + 34; @@ -307,20 +390,24 @@ public final class ComputerScreen extends Screen { return; } if (type.equals("FILES")) { - g.fill(x - 12, y + 2, x + 11, y + 19, BLACK); - g.fill(x - 9, y, x + 1, y + 4, BLACK); - g.fill(x - 8, y + 3, x + 9, y + 16, GREEN); - g.fill(x - 9, y + 8, x + 9, y + 16, GREEN); - g.fill(x - 6, y + 2, x - 1, y + 4, GREEN); + // Windows-style file silhouette: the raised tab starts flush at the left edge. + g.fill(x - 11, y + 3, x + 11, y + 20, BLACK); + g.fill(x - 11, y, x - 1, y + 6, BLACK); + g.fill(x - 8, y + 6, x + 8, y + 17, GREEN); + g.fill(x - 8, y + 3, x - 2, y + 6, GREEN); return; } if (type.equals("SETTINGS")) { - g.fill(x - 5, y - 3, x + 5, y + 20, BLACK); - g.fill(x - 12, y + 5, x + 12, y + 13, BLACK); - g.fill(x - 9, y, x + 9, y + 18, BLACK); - g.fill(x - 2, y, x + 2, y + 17, GREEN); - g.fill(x - 9, y + 7, x + 9, y + 11, GREEN); - g.fill(x - 3, y + 5, x + 3, y + 13, BLACK); + // Eight-tooth gear: a solid stepped silhouette with a clearly cut-out hub. + g.fill(x - 4, y - 3, x + 4, y + 20, BLACK); + g.fill(x - 12, y + 6, x + 12, y + 13, BLACK); + g.fill(x - 9, y, x - 4, y + 5, BLACK); + g.fill(x + 4, y, x + 9, y + 5, BLACK); + g.fill(x - 9, y + 14, x - 4, y + 19, BLACK); + g.fill(x + 4, y + 14, x + 9, y + 19, BLACK); + g.fill(x - 7, y + 3, x + 7, y + 17, GREEN); + g.fill(x - 10, y + 7, x + 10, y + 12, GREEN); + g.fill(x - 3, y + 7, x + 3, y + 13, BLACK); return; } if (type.equals("TERMINAL")) { @@ -340,16 +427,19 @@ public final class ComputerScreen extends Screen { return; } if (type.equals("PAINT")) { - // Palette with a separate brush, using a stepped silhouette to keep the icon readable at desktop scale. - g.fill(x - 10, y + 2, x + 8, y + 19, BLACK); - g.fill(x - 7, y + 4, x + 6, y + 16, GREEN); - g.fill(x - 4, y + 6, x - 1, y + 9, BLACK); - g.fill(x + 1, y + 5, x + 4, y + 8, BLACK); - g.fill(x + 2, y + 11, x + 5, y + 14, BLACK); - g.fill(x + 8, y - 3, x + 11, y + 10, BLACK); - g.fill(x + 5, y + 6, x + 9, y + 9, BLACK); - g.fill(x + 8, y - 1, x + 10, y + 7, PALE_GREEN); - g.fill(x + 5, y + 7, x + 8, y + 10, PALE_GREEN); + // Paint palette first, then a stepped diagonal brush over it. + g.fill(x - 11, y + 2, x + 8, y + 19, BLACK); + g.fill(x - 8, y + 5, x + 5, y + 16, GREEN); + g.fill(x - 5, y + 7, x - 2, y + 10, BLACK); + g.fill(x, y + 6, x + 3, y + 9, BLACK); + g.fill(x + 1, y + 12, x + 4, y + 15, BLACK); + g.fill(x + 7, y - 4, x + 12, y + 3, BLACK); + g.fill(x + 5, y + 1, x + 10, y + 8, BLACK); + g.fill(x + 3, y + 6, x + 8, y + 13, BLACK); + g.fill(x + 1, y + 11, x + 6, y + 16, BLACK); + g.fill(x + 8, y - 2, x + 10, y + 2, PALE_GREEN); + g.fill(x + 6, y + 2, x + 8, y + 7, PALE_GREEN); + g.fill(x + 3, y + 8, x + 5, y + 12, PALE_GREEN); return; } if (type.equals("ANTMAIL")) { @@ -357,30 +447,32 @@ public final class ComputerScreen extends Screen { g.fill(x - 9, y + 5, x + 9, y + 14, GREEN); // Sealed envelope: the stepped black V is the closed flap. g.fill(x - 8, y + 5, x - 5, y + 7, BLACK); - g.fill(x - 6, y + 7, x - 3, y + 9, BLACK); - g.fill(x - 4, y + 9, x - 1, y + 11, BLACK); - g.fill(x - 1, y + 11, x + 2, y + 13, BLACK); - g.fill(x + 1, y + 9, x + 4, y + 11, BLACK); - g.fill(x + 3, y + 7, x + 6, y + 9, BLACK); g.fill(x + 5, y + 5, x + 8, y + 7, BLACK); + g.fill(x - 6, y + 7, x - 3, y + 9, BLACK); + g.fill(x + 3, y + 7, x + 6, y + 9, BLACK); + g.fill(x - 4, y + 9, x - 1, y + 11, BLACK); + g.fill(x + 1, y + 9, x + 4, y + 11, BLACK); + g.fill(x - 1, y + 11, x + 2, y + 13, BLACK); return; } if (type.equals("GAMES")) { - g.fill(x - 12, y + 6, x + 12, y + 15, BLACK); - g.fill(x - 9, y + 3, x + 9, y + 18, BLACK); - g.fill(x - 8, y + 6, x + 8, y + 15, GREEN); - g.fill(x - 5, y + 8, x + 1, y + 10, BLACK); - g.fill(x - 3, y + 6, x - 1, y + 12, BLACK); - g.fill(x + 4, y + 7, x + 6, y + 9, BLACK); - g.fill(x + 7, y + 10, x + 9, y + 12, BLACK); + // Simple rectangular retro controller, sized to match the other icons. + g.fill(x - 12, y + 3, x + 12, y + 18, BLACK); + g.fill(x - 9, y + 6, x + 9, y + 15, GREEN); + // Controls only: one pixel down and one pixel left; the shell stays put. + g.fill(x - 7, y + 9, x - 1, y + 11, BLACK); + g.fill(x - 5, y + 7, x - 3, y + 13, BLACK); + g.fill(x + 3, y + 8, x + 5, y + 10, BLACK); + g.fill(x + 6, y + 11, x + 8, y + 13, BLACK); return; } if (type.equals("TRASH")) { - g.fill(x - 9, y + 2, x + 9, y + 5, BLACK); - g.fill(x - 8, y + 5, x + 8, y + 19, BLACK); - g.fill(x - 5, y + 7, x + 5, y + 16, GREEN); - g.fill(x - 6, y + 3, x + 6, y + 4, GREEN); + // Paint the complete black silhouette first so every green panel sits above it. + g.fill(x - 11, y + 2, x + 11, y + 5, BLACK); + g.fill(x - 8, y + 5, x + 8, y + 20, BLACK); g.fill(x - 5, y - 1, x + 5, y + 2, BLACK); + g.fill(x - 5, y + 8, x + 5, y + 17, GREEN); + g.fill(x - 8, y + 5, x + 8, y + 7, GREEN); g.fill(x - 3, y, x + 3, y + 1, GREEN); return; } @@ -389,6 +481,13 @@ public final class ComputerScreen extends Screen { } private void renderWindow(GuiGraphics g, Window window, int l, int t, int mouseX, int mouseY) { + if (!window.maximized) { + window.x = Math.max(12, Math.min(WIDTH - window.width - 12, window.x)); + window.y = Math.max(34, Math.min(HEIGHT - window.height - 12, window.y)); + } else { + window.x = 14; + window.y = 34; + } int x = l + window.x; int y = t + window.y; int w = window.maximized ? WIDTH - 28 : window.width; @@ -398,7 +497,7 @@ public final class ComputerScreen extends Screen { g.fill(x - 2, y - 2, x + w + 2, y + h + 2, GREEN); g.fill(x, y, x + w, y + h, BLACK); g.fill(x, y, x + w, y + 19, 0xFF173817); - g.drawString(font, Component.literal(window.title), x + 7, y + 6, GREEN, false); + g.drawString(font, Component.literal(trimToWidth(window.title, Math.max(1, w - 78))), x + 7, y + 6, GREEN, false); g.drawString(font, Component.literal("_"), x + w - 39, y + 5, PALE_GREEN, false); g.drawString(font, Component.literal(window.maximized ? "❐" : "□"), x + w - 27, y + 5, PALE_GREEN, false); g.drawString(font, Component.literal("X"), x + w - 13, y + 6, GREEN, false); @@ -411,7 +510,7 @@ public final class ComputerScreen extends Screen { else if (window.type.equals("TEXT")) renderTextEditor(g, cx, cy, w - 16, h - 34); else if (window.type.equals("PAINT")) renderPaint(g, cx, cy, w - 16, h - 34); else if (window.type.equals("ANTMAIL")) renderAntmail(g, cx, cy, h - 34); - else if (window.type.equals("GAMES")) renderGames(g, cx, cy); + else if (window.type.equals("GAMES")) renderGames(g, window, cx, cy, mouseX, mouseY); else renderTrash(g, cx, cy); } @@ -429,37 +528,47 @@ public final class ComputerScreen extends Screen { g.drawString(font, Component.literal("< BACK // RECOVERED FILES"), x, y, GREEN, false); g.fill(x, y + 16, x + w, y + 18, GREEN); g.drawString(font, Component.translatable(selected.titleKey()), x, y + 27, GREEN, false); - if (!selected.subtitleKey().isBlank()) wrap(g, Component.translatable(selected.subtitleKey()), x, y + 43, w, PALE_GREEN); - int line = y + (selected.subtitleKey().isBlank() ? 43 : 59); - g.drawString(font, Component.literal(selected.type().toUpperCase() + " // " + selected.category().toUpperCase()), x, line, PALE_GREEN, false); - line += 16; - for (String descriptionKey : selected.descriptionKeys()) { - line = wrap(g, Component.translatable(descriptionKey), x, line, w, GREEN) + 3; - if (line > y + h - 36) break; - } - if (!selected.itemId().isBlank() && line < y + h - 24) { - line = wrap(g, "ITEM // " + selected.itemId(), x, line, w, PALE_GREEN) + 2; - } - if (!selected.structureId().isBlank() && line < y + h - 24) { - line = wrap(g, "STRUCTURE // " + selected.structureId(), x, line, w, PALE_GREEN) + 2; - } - if (!selected.dimensionId().isBlank() && line < y + h - 24) { - wrap(g, "DIMENSION // " + selected.dimensionId(), x, line, w, PALE_GREEN); + int contentBottom = y + h - 20; + g.enableScissor(x, y + 36, x + w, contentBottom); + int line = y + 43 - session.archiveDetailScroll * 11; + if (!selected.subtitleKey().isBlank()) line = wrap(g, Component.translatable(selected.subtitleKey()), x, line, w, PALE_GREEN) + 3; + line = wrap(g, selected.type().toUpperCase() + " // " + selected.category().toUpperCase(), x, line, w, PALE_GREEN) + 5; + if (!selected.entityId().isBlank()) line = renderArchivePreview(g, "", selected.entityId(), x, line, w) + 2; + for (String descriptionPart : selected.descriptionKeys()) { + line = renderArchiveDescriptionPart(g, descriptionPart, x, line, w); } + if (!selected.itemId().isBlank()) line = renderArchivePreview(g, selected.itemId(), "", x, line, w) + 2; + if (!selected.recipeId().isBlank()) line = renderArchiveRecipe(g, selected.recipeId(), x, line, w) + 2; + if (!selected.structureId().isBlank()) line = wrap(g, "STRUCTURE // " + selected.structureId(), x, line, w, PALE_GREEN) + 2; + if (!selected.dimensionId().isBlank()) line = wrap(g, "DIMENSION // " + selected.dimensionId(), x, line, w, PALE_GREEN); + g.disableScissor(); + session.archiveDetailMaxScroll = Math.max(0, (line + session.archiveDetailScroll * 11 - contentBottom + 10) / 11); + session.archiveDetailScroll = Math.min(session.archiveDetailScroll, session.archiveDetailMaxScroll); + if (session.archiveDetailMaxScroll > 0) g.drawString(font, Component.literal("SCROLL " + session.archiveDetailScroll + "/" + session.archiveDetailMaxScroll), x + w - 82, y + h - 12, PALE_GREEN, false); g.drawString(font, Component.literal("[ ESC ] BACK"), x, y + h - 12, PALE_GREEN, false); return; } - g.drawString(font, Component.literal("RECOVERED FILES // " + entries.size()), x, y, GREEN, false); + List filteredEntries = filterArchiveEntries(entries); + g.drawString(font, Component.literal("RECOVERED FILES // " + filteredEntries.size() + "/" + entries.size()), x, y, GREEN, false); + g.fill(x, y + 14, x + w - 8, y + 35, BLACK); + box(g, x, y + 14, x + w - 8, y + 35, session.archiveSearchFocused ? GREEN : PALE_GREEN); + String searchText = session.archiveSearch.isBlank() && !session.archiveSearchFocused ? "SEARCH TITLE / SUBTITLE" : session.archiveSearch; + g.drawString(font, Component.literal(trimToWidth(searchText + (session.archiveSearchFocused ? "_" : ""), w - 16)), x + 6, y + 20, + session.archiveSearch.isBlank() ? PALE_GREEN : GREEN, false); if (entries.isEmpty()) { g.drawString(font, Component.literal("NO ARCHIVE DATA"), x, y + 28, PALE_GREEN, false); return; } - int row = y + 18; - int visible = Math.max(1, (h - 34) / 62); - int start = Math.max(0, Math.min(session.archiveScroll, Math.max(0, entries.size() - visible))); - for (int i = start; i < entries.size() && i < start + visible; i++) { - ComputerGuideData.Entry entry = entries.get(i); + if (filteredEntries.isEmpty()) { + g.drawString(font, Component.literal("NO MATCHING ENTRIES"), x, y + 52, PALE_GREEN, false); + return; + } + int row = y + 40; + int visible = Math.max(1, (h - 56) / 62); + int start = Math.max(0, Math.min(session.archiveScroll, Math.max(0, filteredEntries.size() - visible))); + for (int i = start; i < filteredEntries.size() && i < start + visible; i++) { + ComputerGuideData.Entry entry = filteredEntries.get(i); int rowTop = row + (i - start) * 62; boolean hover = inside(x, rowTop, w - 8, 56, session.archiveMouseX, session.archiveMouseY); if (hover) g.fill(x, rowTop, x + w - 8, rowTop + 56, 0xFF173817); @@ -470,48 +579,147 @@ public final class ComputerScreen extends Screen { if (!entry.subtitleKey().isBlank()) g.drawString(font, Component.literal(trimToWidth(Component.translatable(entry.subtitleKey()).getString(), w - 78)), x + 58, rowTop + 23, PALE_GREEN, false); g.drawString(font, Component.literal(entry.type().toUpperCase() + " // " + entry.category().toUpperCase()), x + 58, rowTop + 39, PALE_GREEN, false); } - if (entries.size() > visible) g.drawString(font, Component.literal("SCROLL " + (start + 1) + "-" + Math.min(entries.size(), start + visible) + " / " + entries.size()), x, y + h - 12, PALE_GREEN, false); + if (filteredEntries.size() > visible) g.drawString(font, Component.literal("SCROLL " + (start + 1) + "-" + Math.min(filteredEntries.size(), start + visible) + " / " + filteredEntries.size()), x, y + h - 12, PALE_GREEN, false); else g.drawString(font, Component.literal("[ CLICK ENTRY TO OPEN ]"), x, y + h - 12, PALE_GREEN, false); } + private List filterArchiveEntries(List entries) { + String query = session.archiveSearch.trim().toLowerCase(Locale.ROOT); + if (query.isEmpty()) return entries; + return entries.stream().filter(entry -> Component.translatable(entry.titleKey()).getString().toLowerCase(Locale.ROOT).contains(query) + || (!entry.subtitleKey().isBlank() && Component.translatable(entry.subtitleKey()).getString().toLowerCase(Locale.ROOT).contains(query))).toList(); + } + private void renderThumbnail(GuiGraphics g, ComputerGuideData.Entry entry, int centerX, int centerY, boolean hover) { int background = hover ? 0xFF173817 : 0xFF102010; g.fill(centerX - 18, centerY - 18, centerX + 18, centerY + 18, background); - if (!entry.itemId().isBlank()) { - try { - ResourceLocation itemId = ResourceLocation.parse(entry.itemId()); - var item = BuiltInRegistries.ITEM.getOptional(itemId).orElse(null); - if (item != null && !item.equals(net.minecraft.world.item.Items.AIR)) { - g.renderItem(new ItemStack(item), centerX - 8, centerY - 8); - return; + if (!entry.recipeId().isBlank() && renderArchiveRecipe(g, entry.recipeId(), centerX - 18, centerY - 12, 36, 8)) return; + if (!renderArchiveAsset(g, entry.itemId(), entry.entityId(), centerX, centerY, 36)) { + String fallback = !entry.itemId().isBlank() ? entry.itemId() : entry.entityId(); + g.drawString(font, Component.literal(trimToWidth(fallback.isBlank() ? "NO RENDER" : fallback, 32)), centerX - 16, centerY - 4, hover ? GREEN : PALE_GREEN, false); + } + } + + private int renderArchiveDescriptionPart(GuiGraphics g, String part, int x, int y, int w) { + if (part.startsWith("@item:")) return renderArchivePreview(g, part.substring(6), "", x, y, w) + 2; + if (part.startsWith("@entity:")) return renderArchivePreview(g, "", part.substring(8), x, y, w) + 2; + if (part.startsWith("@recipe:")) return renderArchiveRecipe(g, part.substring(8), x, y, w) + 2; + return wrap(g, Component.translatable(part), x, y, w, GREEN) + 3; + } + + private int renderArchiveRecipe(GuiGraphics g, String recipeId, int x, int y, int w) { + int slot = 16; + int recipeWidth = slot * 3 + 24; + if (!renderArchiveRecipe(g, recipeId, x, y, Math.min(w, recipeWidth), slot)) { + return wrap(g, "RECIPE // " + recipeId, x, y, w, PALE_GREEN); + } + return y + slot * 3; + } + + private boolean renderArchiveRecipe(GuiGraphics g, String recipeId, int x, int y, int width, int slot) { + if (Minecraft.getInstance().level == null) return false; + try { + var holder = Minecraft.getInstance().level.getRecipeManager().byKey(ResourceLocation.parse(recipeId)).orElse(null); + if (holder == null) return false; + var recipe = holder.value(); + List ingredients = recipe.getIngredients(); + int gridWidth = slot * 3; + int outputX = x + gridWidth + 12; + int outputY = y + slot; + for (int index = 0; index < 9; index++) { + int cellX = x + (index % 3) * slot; + int cellY = y + (index / 3) * slot; + g.fill(cellX, cellY, cellX + slot - 1, cellY + slot - 1, 0xFF173817); + if (index < ingredients.size()) { + ItemStack[] choices = ingredients.get(index).getItems(); + if (choices.length > 0) g.renderItem(choices[0], cellX + (slot - 16) / 2, cellY + (slot - 16) / 2); } - } catch (RuntimeException ignored) { + } + g.fill(x + gridWidth + 3, y + slot + 2, x + gridWidth + 9, y + slot + 4, PALE_GREEN); + g.fill(x + gridWidth + 7, y + slot, x + gridWidth + 9, y + slot + 6, PALE_GREEN); + ItemStack result = recipe.getResultItem(Minecraft.getInstance().level.registryAccess()); + if (!result.isEmpty()) { + g.fill(outputX, outputY, outputX + slot - 1, outputY + slot - 1, 0xFF173817); + g.renderItem(result, outputX + (slot - 16) / 2, outputY + (slot - 16) / 2); + } + return true; + } catch (RuntimeException ignored) { + return false; + } + } + + private int renderArchivePreview(GuiGraphics g, String itemId, String entityId, int x, int y, int w) { + int boxWidth = Math.min(48, w); + g.fill(x, y, x + boxWidth, y + 48, 0xFF102010); + int centerX = x + boxWidth / 2; + int centerY = y + 24; + if (!renderArchiveAsset(g, itemId, entityId, centerX, centerY, boxWidth)) { + String fallback = !itemId.isBlank() ? itemId : entityId; + g.drawString(font, Component.literal(trimToWidth(fallback, Math.max(1, w - boxWidth - 6))), x + boxWidth + 6, y + 18, PALE_GREEN, false); + } else if (!itemId.isBlank() || !entityId.isBlank()) { + g.drawString(font, Component.literal(trimToWidth(!itemId.isBlank() ? "ITEM // " + itemId : "MOB // " + entityId, Math.max(1, w - boxWidth - 6))), x + boxWidth + 6, y + 18, PALE_GREEN, false); + } + return y + 48; + } + + private boolean renderArchiveAsset(GuiGraphics g, String itemId, String entityId, int centerX, int centerY, int size) { + if (!itemId.isBlank()) { + try { + ResourceLocation resourceId = ResourceLocation.parse(itemId); + var item = BuiltInRegistries.ITEM.getOptional(resourceId).orElse(null); + logArchivePreviewOnce("item.lookup." + itemId, "Archive item preview lookup id={} found={} registryName={}", itemId, item != null, item == null ? "" : BuiltInRegistries.ITEM.getKey(item)); + if (item != null && !item.equals(net.minecraft.world.item.Items.AIR)) { + ItemStack stack = new ItemStack(item); + g.renderItem(stack, centerX - 8, centerY - 8); + logArchivePreviewOnce("item.render." + itemId, "Archive item preview rendered id={} descriptionId={} center=({}, {})", itemId, stack.getDescriptionId(), centerX, centerY); + return true; + } + logArchivePreviewOnce("item.unrenderable." + itemId, "Archive item preview unavailable id={} (missing or AIR)", itemId); + } catch (RuntimeException exception) { + logArchivePreviewOnce("item.error." + itemId, "Archive item preview failed id={} error={}", itemId, exception.toString()); } } - if (!entry.entityId().isBlank() && Minecraft.getInstance().level != null) { + if (!entityId.isBlank() && Minecraft.getInstance().level == null) { + logArchivePreviewOnce("entity.no_level." + entityId, "Archive mob preview skipped id={} because the client level is null", entityId); + } + if (!entityId.isBlank() && Minecraft.getInstance().level != null) { try { - ResourceLocation entityId = ResourceLocation.parse(entry.entityId()); - var entityType = BuiltInRegistries.ENTITY_TYPE.getOptional(entityId).orElse(null); + ResourceLocation resourceId = ResourceLocation.parse(entityId); + var entityType = BuiltInRegistries.ENTITY_TYPE.getOptional(resourceId).orElse(null); + logArchivePreviewOnce("entity.lookup." + entityId, "Archive mob preview lookup id={} found={} registryName={}", entityId, entityType != null, entityType == null ? "" : BuiltInRegistries.ENTITY_TYPE.getKey(entityType)); var entity = entityType == null ? null : entityType.create(Minecraft.getInstance().level); if (entity instanceof LivingEntity living && !living.isRemoved()) { - InventoryScreen.renderEntityInInventoryFollowsMouse(g, centerX - 18, centerY - 18, centerX + 18, centerY + 18, 18, 0.15F, centerX, centerY, living); - return; + living.setPos(0.0D, 0.0D, 0.0D); + living.setYRot(180.0F); + living.yBodyRot = 180.0F; + living.yHeadRot = 180.0F; + InventoryScreen.renderEntityInInventoryFollowsMouse(g, centerX - size / 2, centerY - size / 2, centerX + size / 2, centerY + size / 2, Math.max(18, size / 2), 0.15F, centerX, centerY, living); + logArchivePreviewOnce("entity.render." + entityId, "Archive mob preview rendered id={} class={} size={} center=({}, {})", entityId, living.getClass().getName(), size, centerX, centerY); + return true; } - } catch (RuntimeException ignored) { + logArchivePreviewOnce("entity.unrenderable." + entityId, "Archive mob preview unavailable id={} createdClass={} isLiving={}", entityId, entity == null ? "" : entity.getClass().getName(), entity instanceof LivingEntity); + } catch (RuntimeException exception) { + logArchivePreviewOnce("entity.error." + entityId, "Archive mob preview failed id={} error={}", entityId, exception.toString()); } } - g.drawString(font, Component.literal("ANT"), centerX - 12, centerY - 4, hover ? GREEN : PALE_GREEN, false); + return false; + } + + private void logArchivePreviewOnce(String key, String message, Object... arguments) { + if (archiveRenderLog.add(key)) Antarchy.LOGGER.info(message, arguments); } private void renderFileExplorer(GuiGraphics g, int x, int y, int w, int h) { var files = ComputerFileSystemClientState.get(position).files(); - g.drawString(font, Component.literal("FILE EXPLORER // " + session.fileExplorerDirectory), x, y, GREEN, false); + g.drawString(font, Component.literal("FILE EXPLORER // " + trimToWidth(session.fileExplorerDirectory, w - 4)), x, y, GREEN, false); if (!session.fileExplorerDirectory.equals("/")) g.drawString(font, Component.literal("[ UP ]"), x + w - 40, y, GREEN, false); g.drawString(font, Component.literal("TYPE PATH SIZE"), x, y + 18, PALE_GREEN, false); int line = y + 34; + int fileIndex = 0; for (String file : files) { String[] fields = file.split("\\t", 3); - if (fields.length < 3 || !isDirectChild(fields[1], session.fileExplorerDirectory) || line > y + h - 20) continue; + if (fields.length < 3 || !isDirectChild(fields[1], session.fileExplorerDirectory)) continue; + if (fileIndex++ < session.fileExplorerScroll || line > y + h - 20) continue; boolean selected = fields[1].equals(session.fileExplorerSelected); if (selected) g.fill(x - 3, line - 2, x + w - 3, line + 11, 0xFF173817); g.drawString(font, Component.literal(fileIcon(fields[0]) + " " + trimToWidth(fields[0], 30)), x, line, PALE_GREEN, false); @@ -520,7 +728,18 @@ public final class ComputerScreen extends Screen { line += 14; } if (line == y + 34) g.drawString(font, Component.literal("NO FILES // OPEN TERMINAL TO CREATE ONE"), x, y + 38, PALE_GREEN, false); - else g.drawString(font, Component.literal(session.fileExplorerRenaming ? "RENAME: " + session.fileExplorerRename + "_" : "[ DELETE ] [ F2 RENAME ]"), x, y + h - 16, PALE_GREEN, false); + else { + var state = ComputerFileSystemClientState.get(position); + String footer = session.fileExplorerCreatingDirectory ? "NEW FOLDER: " + session.fileExplorerRename + "_" + : session.fileExplorerMoving ? "MOVE TO PATH: " + session.fileExplorerRename + "_" + : session.fileExplorerRenaming ? "RENAME: " + session.fileExplorerRename + "_" + : session.fileExplorerDeleteConfirm ? "DELETE SELECTED FILE? [ ENTER / ESC ]" : "[ F6 NEW FOLDER ] [ F7 MOVE ] [ DELETE ] [ F2 RENAME ]"; + if (state.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_DELETE + || state.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_MOVE) { + footer += state.lastMutationSuccess() ? " // OK" : " // ERR: " + state.lastMutationError(); + } + g.drawString(font, Component.literal(trimToWidth(footer, w - 4)), x, y + h - 16, PALE_GREEN, false); + } } private String fileIcon(String type) { @@ -563,7 +782,7 @@ public final class ComputerScreen extends Screen { ResourceLocation disk = disks.get(i); boolean active = disk.equals(selectedDisk); if (active) g.fill(x - 3, y + 105 + i * 17, x + 205, y + 120 + i * 17, 0xFF173817); - g.drawString(font, Component.literal(disk.toString()), x, y + 108 + i * 17, active ? GREEN : PALE_GREEN, false); + g.drawString(font, Component.literal(trimToWidth(disk.toString(), 202)), x, y + 108 + i * 17, active ? GREEN : PALE_GREEN, false); } g.drawString(font, Component.literal("[ EJECT SELECTED ]"), x, y + 162, selectedDisk == null ? 0xFF4A754A : GREEN, false); } @@ -590,11 +809,11 @@ public final class ComputerScreen extends Screen { g.drawString(font, Component.literal("ANTINTOSH TERMINAL [READY]"), x, y, GREEN, false); int line = y + 17; for (String output : session.terminalOutput) { - line = wrap(g, output, x, line, 208, PALE_GREEN) + 1; - if (line > y + h - 32) break; + line = wrapLimited(g, output, x, line, 208, y + h - 48, PALE_GREEN) + 1; + if (line >= y + h - 48) break; } if (!fileState.error().isEmpty()) g.drawString(font, Component.literal("RESPONSE: " + fileState.error()), x, y + h - 40, PALE_GREEN, false); - g.drawString(font, Component.literal(session.terminalDirectory + "> " + session.terminalInput + "_"), x, y + h - 26, GREEN, false); + g.drawString(font, Component.literal(trimToWidth(session.terminalDirectory + "> " + session.terminalInput + "_", 208)), x, y + h - 26, GREEN, false); } private void renderPaint(GuiGraphics g, int x, int y, int w, int h) { @@ -608,14 +827,16 @@ public final class ComputerScreen extends Screen { } } g.drawString(font, Component.literal("ANTPAINT // " + session.paintName + (session.paintDirty ? " *" : "")), x, y, GREEN, false); - String controls = "NEW PENCIL ERASER FILL CLEAR UNDO REDO SAVE"; - g.drawString(font, Component.literal(trimToWidth(controls, w)), x, y + 14, PALE_GREEN, false); - int size = Math.max(1, Math.min((w - 16) / AntPaintCanvas.WIDTH, (h - 54) / AntPaintCanvas.HEIGHT)); + renderPaintToolbar(g, x, y); + // w and h are already the window's content dimensions; keep rendering in + // lockstep with paintAt(), which receives these same adjusted dimensions. + int canvasHeight = h; + int size = Math.max(1, Math.min(w / AntPaintCanvas.WIDTH, canvasHeight / AntPaintCanvas.HEIGHT)); int cx = x + (w - size * AntPaintCanvas.WIDTH) / 2; - int cy = y + 30 + Math.max(0, (h - 54 - size * AntPaintCanvas.HEIGHT) / 2); + int cy = y + 30 + Math.max(0, (canvasHeight - size * AntPaintCanvas.HEIGHT) / 2); g.fill(cx - 1, cy - 1, cx + size * AntPaintCanvas.WIDTH + 1, cy + size * AntPaintCanvas.HEIGHT + 1, BLACK); - g.fill(cx, cy, cx + size * AntPaintCanvas.WIDTH, cy + size * AntPaintCanvas.HEIGHT, GREEN); - for (int py = 0; py < AntPaintCanvas.HEIGHT; py++) for (int px = 0; px < AntPaintCanvas.WIDTH; px++) if (!session.paintCanvas.get(px, py)) g.fill(cx + px * size, cy + py * size, cx + (px + 1) * size, cy + (py + 1) * size, BLACK); + g.fill(cx, cy, cx + size * AntPaintCanvas.WIDTH, cy + size * AntPaintCanvas.HEIGHT, BLACK); + for (int py = 0; py < AntPaintCanvas.HEIGHT; py++) for (int px = 0; px < AntPaintCanvas.WIDTH; px++) if (session.paintCanvas.get(px, py)) g.fill(cx + px * size, cy + py * size, cx + (px + 1) * size, cy + (py + 1) * size, GREEN); int hoverX = (session.mouseX - cx) / size; int hoverY = (session.mouseY - cy) / size; if (session.mouseX >= cx && session.mouseY >= cy && hoverX >= 0 && hoverX < AntPaintCanvas.WIDTH && hoverY >= 0 && hoverY < AntPaintCanvas.HEIGHT) { @@ -626,38 +847,347 @@ public final class ComputerScreen extends Screen { g.fill(pixelX, pixelY, pixelX + 1, pixelY + size, PALE_GREEN); g.fill(pixelX + size - 1, pixelY, pixelX + size, pixelY + size, PALE_GREEN); } - String paintStatus = "TOOL " + session.paintTool.name() + " " + (session.paintDirty ? "MODIFIED" : "SAVED"); - if (session.mouseX >= cx && session.mouseY >= cy && hoverX >= 0 && hoverX < AntPaintCanvas.WIDTH && hoverY >= 0 && hoverY < AntPaintCanvas.HEIGHT) paintStatus += " PIXEL " + hoverX + "," + hoverY; - g.drawString(font, Component.literal(trimToWidth(paintStatus, w)), x, y + h - 16, PALE_GREEN, false); + } + + private void renderPaintToolbar(GuiGraphics g, int x, int y) { + for (int index = 0; index < 7; index++) { + int buttonX = x + index * 28; + if (index < 3 && ((index == 0 && session.paintTool == AntPaintTool.PENCIL) + || (index == 1 && session.paintTool == AntPaintTool.ERASER) + || (index == 2 && session.paintTool == AntPaintTool.FILL))) { + box(g, buttonX, y + 11, buttonX + 22, y + 28, GREEN); + } + paintToolbarIcon(g, index, buttonX + 11, y + 19); + } + } + + private void paintToolbarIcon(GuiGraphics g, int index, int x, int y) { + int color = PALE_GREEN; + String[][] sprites = { + { + "...............", + ".....##........", + "....#++#.......", + "...#++++##.....", + "...#+++++#.....", + "....#++++##....", + ".....#++++##...", + "......#++++##..", + ".......#++++##.", + "........#++++#.", + ".........#++#..", + "..........##...", + ".........#.....", + "...............", + "..............." + }, + { + "...............", + ".....######....", + "....#++++++#...", + "...#++gg+++##..", + "..#++gg++++++#.", + ".#+++++++++++#.", + "#++++++++++++#.", + "#+++++++++++##.", + "#+++++++++##...", + ".#########.....", + "...............", + "...............", + "...............", + "...............", + "..............." + }, + { + "....######.....", + "...##....##....", + "..##......##...", + "..#........#...", + ".############..", + ".#++++++++++#..", + ".#++gg++++++#..", + ".#++++++++++#..", + ".#++++++++++#..", + "..#++++++++#...", + "..#++++++++#...", + "...#++++++#....", + "...#++++++#....", + "....######.....", + "...............", + "..............." + }, + { + "...............", + "....########...", + "..##++++++++#..", + ".#++#########..", + "#++##.........", + "#++#...........", + "#++##..........", + ".#++#########..", + "..##++++++++#..", + "....########...", + "...............", + "...............", + "...............", + "...............", + "..............." + }, + { + "...............", + "....########...", + "..##++++++++#..", + ".#++#########..", + "#++#...........", + "#++##..........", + "#++#...........", + ".#++#########..", + "..##++++++++#..", + "....########...", + "...............", + "...............", + "...............", + "...............", + "..............." + }, + { + "...............", + "...#########...", + "..#+++++++++#..", + ".#++#######++#.", + "#++##.....##++#", + "#++#.......#++#", + "#++#.......#++#", + ".#++#######++#.", + "..#+++++++++#..", + "...#########...", + "...............", + "...............", + "...............", + "...............", + "..............." + }, + { + ".#############.", + "#+++++++++++++#", + "#++#####++++++#", + "#++#...#++++++#", + "#++#...#++++++#", + "#++#####++++++#", + "#+++++++++++++#", + "#++#########++#", + "#++#+++++++#++#", + "#++#++gg+++#++#", + "#++#+++++++#++#", + "#++#########++#", + "#+++++++++++++#", + ".#############.", + "..............." + } + }; + String[] sprite = sprites[Math.max(0, Math.min(index, sprites.length - 1))]; + for (int row = 0; row < 16; row++) { + String line = row < sprite.length ? sprite[row] : ""; + for (int column = 0; column < 16; column++) { + char pixel = column < line.length() ? line.charAt(column) : '.'; + if (pixel == '#') g.fill(x - 8 + column, y - 8 + row, x - 7 + column, y - 7 + row, BLACK); + else if (pixel == '+') g.fill(x - 8 + column, y - 8 + row, x - 7 + column, y - 7 + row, color); + else if (pixel == 'g') g.fill(x - 8 + column, y - 8 + row, x - 7 + column, y - 7 + row, GREEN); + } + } + } + + private void paintToolbarIconLegacy(GuiGraphics g, int index, int x, int y) { + int color = PALE_GREEN; + if (index == 0) { + // Pencil: a full diagonal silhouette with graphite, wood, painted barrel, ferrule, and eraser. + g.fill(x - 9, y + 4, x - 5, y + 8, BLACK); + g.fill(x - 7, y + 2, x - 3, y + 7, BLACK); + g.fill(x - 5, y, x + 3, y + 6, BLACK); + g.fill(x - 2, y - 3, x + 6, y + 3, BLACK); + g.fill(x + 4, y - 6, x + 8, y - 1, BLACK); + g.fill(x - 8, y + 5, x - 6, y + 7, color); + g.fill(x - 6, y + 3, x - 4, y + 5, color); + g.fill(x - 4, y + 1, x - 2, y + 3, color); + g.fill(x - 2, y - 1, x + 1, y + 2, color); + g.fill(x + 1, y - 3, x + 4, y, color); + g.fill(x + 4, y - 5, x + 6, y - 2, color); + g.fill(x - 4, y + 3, x - 2, y + 5, GREEN); + g.fill(x - 2, y + 1, x + 1, y + 3, GREEN); + g.fill(x + 1, y - 1, x + 4, y + 1, GREEN); + g.fill(x + 3, y - 4, x + 6, y - 2, BLACK); + g.fill(x + 5, y - 6, x + 8, y - 4, BLACK); + g.fill(x + 5, y - 4, x + 7, y - 2, color); + } else if (index == 1) { + // Eraser: large rotated block with a paper edge, center band, shadow, and shine. + g.fill(x - 9, y - 3, x + 5, y + 7, BLACK); + g.fill(x - 6, y - 6, x + 8, y + 4, BLACK); + g.fill(x - 7, y - 2, x - 2, y + 3, color); + g.fill(x - 4, y - 4, x + 2, y + 1, color); + g.fill(x - 1, y - 5, x + 5, y, color); + g.fill(x - 9, y + 4, x + 3, y + 8, BLACK); + g.fill(x - 7, y + 4, x - 1, y + 6, color); + g.fill(x - 6, y - 1, x - 3, y + 2, PALE_GREEN); + g.fill(x - 3, y - 3, x, y, PALE_GREEN); + g.fill(x + 1, y - 4, x + 4, y - 1, PALE_GREEN); + g.fill(x + 3, y, x + 6, y + 3, BLACK); + g.fill(x + 5, y - 3, x + 8, y + 1, BLACK); + g.fill(x + 5, y - 2, x + 6, y, color); + } else if (index == 2) { + // Fill bucket: arched handle, thick rim, tapered metal body, and visible paint inside. + g.fill(x - 6, y - 7, x + 6, y - 4, BLACK); + g.fill(x - 8, y - 5, x - 5, y + 1, BLACK); + g.fill(x + 5, y - 5, x + 8, y + 1, BLACK); + g.fill(x - 6, y - 5, x + 6, y - 3, color); + g.fill(x - 7, y - 2, x + 7, y + 2, BLACK); + g.fill(x - 5, y - 1, x + 5, y + 1, color); + g.fill(x - 5, y + 1, x + 5, y + 7, BLACK); + g.fill(x - 4, y + 3, x + 4, y + 6, color); + g.fill(x - 3, y + 2, x + 4, y + 4, PALE_GREEN); + g.fill(x - 4, y + 6, x + 4, y + 8, BLACK); + g.fill(x - 2, y + 5, x + 3, y + 6, GREEN); + g.fill(x - 5, y - 6, x - 3, y - 4, GREEN); + g.fill(x + 3, y - 6, x + 5, y - 4, GREEN); + } else if (index == 3) { + // Clear canvas: trash can with lid, slats, and a strong diagonal clear mark. + g.fill(x - 6, y - 7, x + 6, y - 4, BLACK); + g.fill(x - 3, y - 9, x + 3, y - 6, BLACK); + g.fill(x - 5, y - 3, x + 5, y + 8, BLACK); + g.fill(x - 3, y - 1, x + 3, y + 6, color); + g.fill(x - 4, y - 2, x + 4, y, PALE_GREEN); + g.fill(x - 3, y + 1, x - 1, y + 6, GREEN); + g.fill(x + 1, y + 1, x + 3, y + 6, GREEN); + g.fill(x - 8, y - 8, x + 8, y - 5, BLACK); + g.fill(x - 7, y - 4, x + 7, y - 2, BLACK); + g.fill(x - 8, y - 8, x - 5, y + 8, BLACK); + g.fill(x + 5, y - 8, x + 8, y + 8, BLACK); + g.fill(x - 9, y - 7, x - 7, y + 8, color); + g.fill(x + 7, y - 7, x + 9, y + 8, color); + g.fill(x - 8, y - 1, x + 8, y + 1, BLACK); + g.fill(x - 8, y + 5, x + 8, y + 7, BLACK); + g.fill(x - 8, y - 8, x + 8, y - 6, color); + g.fill(x - 7, y - 7, x + 7, y - 5, BLACK); + } else if (index == 4) { + // Undo: broad pixel arrow, stepped hook, and hollow center. + g.fill(x - 9, y - 4, x - 5, y + 2, color); + g.fill(x - 7, y - 6, x - 3, y - 2, color); + g.fill(x - 7, y, x - 3, y + 4, color); + g.fill(x - 5, y + 3, x + 3, y + 7, color); + g.fill(x + 1, y + 1, x + 6, y + 5, color); + g.fill(x + 4, y - 3, x + 8, y + 3, color); + g.fill(x + 2, y - 6, x + 6, y - 2, color); + g.fill(x - 5, y - 1, x + 3, y + 2, BLACK); + g.fill(x - 3, y + 2, x + 3, y + 4, BLACK); + g.fill(x - 8, y - 5, x - 5, y - 3, PALE_GREEN); + g.fill(x + 5, y - 2, x + 7, y, PALE_GREEN); + } else if (index == 5) { + // Redo: mirrored broad pixel arrow, stepped hook, and hollow center. + g.fill(x + 5, y - 4, x + 9, y + 2, color); + g.fill(x + 3, y - 6, x + 7, y - 2, color); + g.fill(x + 3, y, x + 7, y + 4, color); + g.fill(x - 3, y + 3, x + 5, y + 7, color); + g.fill(x - 6, y + 1, x - 1, y + 5, color); + g.fill(x - 8, y - 3, x - 4, y + 3, color); + g.fill(x - 6, y - 6, x - 2, y - 2, color); + g.fill(x - 3, y - 1, x + 5, y + 2, BLACK); + g.fill(x - 3, y + 2, x + 3, y + 4, BLACK); + g.fill(x + 5, y - 5, x + 8, y - 3, PALE_GREEN); + g.fill(x - 7, y - 2, x - 5, y, PALE_GREEN); + } else { + // Save: floppy disk with corner notch, shutter, label, hub, and highlight. + g.fill(x - 8, y - 8, x + 8, y + 8, BLACK); + g.fill(x - 5, y - 6, x + 5, y + 6, color); + g.fill(x - 5, y - 6, x + 2, y - 2, GREEN); + g.fill(x + 2, y - 6, x + 5, y - 1, BLACK); + g.fill(x + 4, y - 6, x + 5, y - 3, PALE_GREEN); + g.fill(x - 5, y, x + 5, y + 6, BLACK); + g.fill(x - 3, y + 1, x + 3, y + 5, color); + g.fill(x - 2, y + 2, x + 2, y + 4, PALE_GREEN); + g.fill(x - 7, y - 7, x - 5, y + 5, PALE_GREEN); + g.fill(x - 7, y + 6, x + 7, y + 8, BLACK); + g.fill(x - 4, y + 6, x + 4, y + 7, GREEN); + } } private void renderTextEditor(GuiGraphics g, int x, int y, int w, int h) { var fileState = ComputerFileSystemClientState.get(position); - if (!fileState.openedPath().isEmpty() && !session.textDirty) { + if (session.textDirty + && fileState.lastMutationSuccess() + && (fileState.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_CREATE + || fileState.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_SAVE) + && fileState.lastMutationPath().equals(session.textPath)) { + session.textDirty = false; + } + if (!session.textSaveAsPendingPath.isBlank() + && fileState.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_CREATE + && fileState.lastMutationPath().equals(session.textSaveAsPendingPath)) { + if (fileState.lastMutationSuccess()) { + session.textPath = session.textSaveAsPendingPath; + session.textDirty = false; + session.textJustSavedAs = true; + } + session.textSaveAsPendingPath = ""; + } + if (!session.textMovePendingPath.isBlank() + && fileState.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_MOVE + && fileState.lastMutationPath().equals(session.textMovePendingPath)) { + if (fileState.lastMutationSuccess()) { + session.textPath = session.textMovePendingPath; + session.textJustSavedAs = true; + } + session.textMovePendingPath = ""; + } + if (!fileState.openedPath().isEmpty() && !session.textDirty && !session.textJustSavedAs) { session.textPath = fileState.openedPath(); session.textContent = fileState.openedContents(); + session.textCursor = session.textContent.length(); + } + session.textJustSavedAs = false; + String editorTitle = session.textRenaming ? "RENAME // " + session.textRename + "_" : "ANTTEXT // " + session.textPath + (session.textDirty ? " *" : ""); + g.drawString(font, Component.literal(trimToWidth(editorTitle, Math.max(1, w - 104))), x, y, GREEN, false); + g.drawString(font, Component.literal("NEW OPEN WRITE SAVE AS"), x, y + 18, PALE_GREEN, false); + if (fileState.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_CREATE + || fileState.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_SAVE + || fileState.lastMutationAction() == com.craisinlord.antarchy.content.network.ComputerAccessPayload.FILE_MOVE) { + String status = fileState.lastMutationSuccess() ? "OPERATION OK" : "OPERATION ERROR // " + fileState.lastMutationError(); + g.drawString(font, Component.literal(status), x + w - 100, y, fileState.lastMutationSuccess() ? PALE_GREEN : GREEN, false); } - g.drawString(font, Component.literal(session.textRenaming ? "RENAME // " + session.textRename + "_" : "ANTTEXT // " + session.textPath + (session.textDirty ? " *" : "")), x, y, GREEN, false); - g.drawString(font, Component.literal("NEW OPEN WRITE SAVE"), x, y + 18, PALE_GREEN, false); g.fill(x + 4, y + 36, x + w - 4, y + h - 4, BLACK); if (session.textListing) { g.drawString(font, Component.literal("SELECT FILE"), x + 10, y + 46, GREEN, false); int line = y + 62; + int visibleFiles = 0; + int textIndex = 0; for (String file : fileState.files()) { String[] fields = file.split("\\t", 3); - if (fields.length < 2 || line > y + h - 28) continue; + if (fields.length < 3 || !fields[0].equals("TEXT")) continue; + if (textIndex++ < session.textPickerScroll || line > y + h - 28) continue; g.drawString(font, Component.literal(fields[1]), x + 10, line, PALE_GREEN, false); line += 14; + visibleFiles++; } - if (fileState.files().isEmpty()) g.drawString(font, Component.literal("NO TEXT FILES"), x + 10, y + 62, PALE_GREEN, false); + if (visibleFiles == 0) g.drawString(font, Component.literal("NO TEXT FILES"), x + 10, y + 62, PALE_GREEN, false); } else { - wrap(g, session.textContent.isEmpty() ? "TYPE HERE..." : session.textContent, x + 10, y + 46, w - 28, GREEN); + String content = session.textContent.isEmpty() ? "TYPE HERE..." : session.textContent; + if (session.textFocused) content = content.substring(0, Math.min(session.textCursor, content.length())) + "|" + + content.substring(Math.min(session.textCursor, content.length())); + List lines = font.split(Component.literal(content), w - 28); + int maxLines = Math.max(1, (h - 56) / 11); + session.textScroll = Math.max(0, Math.min(session.textScroll, Math.max(0, lines.size() - maxLines))); + for (int i = session.textScroll; i < lines.size() && i < session.textScroll + maxLines; i++) { + g.drawString(font, lines.get(i), x + 10, y + 46 + (i - session.textScroll) * 11, GREEN, false); + } + } + if (session.textDeleteConfirm) { + g.drawString(font, Component.literal("DELETE CURRENT FILE? [ ENTER / ESC ]"), x, y + h - 28, PALE_GREEN, false); + } else { + g.drawString(font, Component.literal("[CTRL+S] SAVE [CTRL+SHIFT+S] SAVE AS"), x, y + h - 39, PALE_GREEN, false); + g.drawString(font, Component.literal("[F2] RENAME [F8] DELETE [ESC] CLOSE"), x, y + h - 26, PALE_GREEN, false); } - g.drawString(font, Component.literal("[ CTRL+S ] SAVE [ F2 ] RENAME [ ESC ] CLOSE"), x, y + h - 50, PALE_GREEN, false); } private void renderAntmail(GuiGraphics g, int x, int y, int h) { - var result = AntmailClientState.get(position); + var result = AntmailClientState.getMailbox(position); g.drawString(font, Component.literal("ANTMAIL // COMPUTER ADDRESS"), x, y, GREEN, false); boolean unconfigured = result == null || result.address().isBlank(); if (unconfigured) { @@ -669,42 +1199,70 @@ public final class ComputerScreen extends Screen { g.drawString(font, Component.literal("[ ENTER ] REGISTER ADDRESS"), x, y + 88, GREEN, false); } else { g.drawString(font, Component.literal(trimToWidth(result.address(), 208)), x, y + 20, PALE_GREEN, false); - g.drawString(font, Component.literal("[ INBOX ] [ SENT ]"), x, y + 40, GREEN, false); - box(g, x + 122, y + 30, x + 214, y + 53, GREEN); - g.drawString(font, Component.literal("CREATE COMPOSE"), x + 127, y + 38, GREEN, false); + g.drawString(font, Component.literal("[ INBOX ] [ SENT ] [ DRAFTS ]"), x, y + 40, GREEN, false); + box(g, x + 158, y + 30, x + 214, y + 53, GREEN); + g.drawString(font, Component.literal("COMPOSE"), x + 163, y + 38, GREEN, false); if (session.antmailMode.equals("compose")) { - g.drawString(font, Component.literal("TO"), x, y + 62, GREEN, false); - g.drawString(font, Component.literal(trimToWidth(session.antmailRecipient, 180)), x + 28, y + 62, PALE_GREEN, false); - g.drawString(font, Component.literal("SUBJECT"), x, y + 78, GREEN, false); - g.drawString(font, Component.literal(trimToWidth(session.antmailSubject, 156)), x + 52, y + 78, PALE_GREEN, false); - g.drawString(font, Component.literal("BODY"), x, y + 94, GREEN, false); - wrap(g, session.antmailBody.isEmpty() ? "TYPE MESSAGE..." : session.antmailBody, x, y + 110, 208, PALE_GREEN); - g.drawString(font, Component.literal(trimToWidth("[ " + (session.antmailAttachText ? "X" : " ") + " ] TEXT FILE [ " + (session.antmailAttachPaint ? "X" : " ") + " ] PAINTING", 208)), x, y + 142, PALE_GREEN, false); - g.drawString(font, Component.literal("[ ENTER ] SEND MESSAGE"), x, y + h - 30, GREEN, false); + g.drawString(font, Component.literal(trimToWidth(session.antmailRecipient, 180)), x + 28, y + 52, PALE_GREEN, false); + g.drawString(font, Component.literal(trimToWidth(session.antmailSubject, 156)), x + 52, y + 66, PALE_GREEN, false); + g.drawString(font, Component.literal("TO"), x, y + 52, GREEN, false); + g.drawString(font, Component.literal("SUBJECT"), x, y + 66, GREEN, false); + g.drawString(font, Component.literal("BODY"), x, y + 80, GREEN, false); + wrapLimited(g, session.antmailBody.isEmpty() ? "TYPE MESSAGE..." : session.antmailBody, x, y + 94, 208, y + 124, PALE_GREEN); + g.drawString(font, Component.literal(trimToWidth("[ " + (session.antmailAttachText ? "X" : " ") + " ] TEXT FILE [ " + (session.antmailAttachPaint ? "X" : " ") + " ] PAINTING", 208)), x, y + 128, PALE_GREEN, false); + if (session.antmailPickingAttachment) { + g.fill(x + 4, y + 42, x + 210, y + h - 40, BLACK); + box(g, x + 4, y + 42, x + 210, y + h - 40, GREEN); + g.drawString(font, Component.literal("SELECT FILE TO ATTACH"), x + 10, y + 48, GREEN, false); + int line = y + 64; + for (String file : ComputerFileSystemClientState.get(position).files()) { + String[] fields = file.split("\\t", 3); + if (fields.length < 2 || (!fields[0].equals("TEXT") && !fields[0].equals("IMAGE")) || line > y + h - 52) continue; + g.drawString(font, Component.literal(trimToWidth(fields[1], 190)), x + 10, line, PALE_GREEN, false); + line += 14; + } + } + g.drawString(font, Component.literal("[ ENTER ] SEND"), x, y + h - 28, GREEN, false); } else if (session.antmailMode.equals("message")) { AntmailMessage message = selectedAntmailMessage(result); if (message != null) { g.drawString(font, Component.literal("< BACK // " + (session.antmailSent ? "SENT" : "INBOX")), x, y + 40, GREEN, false); g.drawString(font, Component.literal(trimToWidth(session.antmailSent ? message.recipient().fullAddress() : message.sender().fullAddress(), 208)), x, y + 62, PALE_GREEN, false); g.drawString(font, Component.literal(trimToWidth(message.subject(), 208)), x, y + 78, GREEN, false); - int messageLine = wrap(g, message.body(), x, y + 98, 208, PALE_GREEN) + 4; + int messageLine = wrapLimited(g, message.body(), x, y + 98, 208, y + h - 52, PALE_GREEN) + 4; for (AntmailAttachment attachment : message.attachments()) { if (messageLine > y + h - 38) break; - messageLine = wrap(g, "ATTACHMENT // " + attachment.fileName(), x, messageLine, 208, GREEN) + 2; + messageLine = wrap(g, "[ SAVE ATTACHMENT ] " + attachment.fileName(), x, messageLine, 208, GREEN) + 2; } + if (session.antmailSent && !message.deliveryStatus().equals("DELIVERED")) g.drawString(font, Component.literal("[ RETRY DELIVERY ]"), x, y + h - 46, GREEN, false); + g.drawString(font, Component.literal("[ DELETE MESSAGE ]"), x, y + h - 28, GREEN, false); } + } else if (session.antmailMode.equals("drafts")) { + List drafts = mailbox(result) == null ? List.of() : mailbox(result).drafts(); + g.drawString(font, Component.literal("DRAFTS // " + drafts.size()), x, y + 62, GREEN, false); + int line = y + 80; + for (AntmailDraft draft : drafts) { + if (line > y + h - 38) break; + g.drawString(font, Component.literal(trimToWidth("* " + (draft.subject().isBlank() ? "UNTITLED DRAFT" : draft.subject()), 30)), x, line, PALE_GREEN, false); + line += 14; + } + if (drafts.isEmpty()) g.drawString(font, Component.literal("NO SAVED DRAFTS"), x, y + 80, PALE_GREEN, false); } else { List messages = mailboxMessages(result, session.antmailSent); - g.drawString(font, Component.literal((session.antmailSent ? "SENT // " : "INBOX // ") + messages.size()), x, y + 62, GREEN, false); + int total = antmailTotal(result, session.antmailSent); + g.drawString(font, Component.literal((session.antmailSent ? "SENT // " : "INBOX // ") + total), x, y + 62, GREEN, false); int line = y + 80; for (AntmailMessage message : messages) { if (line > y + h - 38) break; - g.drawString(font, Component.literal((message.read() ? " " : "* ") + trimToWidth(message.subject(), 28)), x, line, message.read() ? PALE_GREEN : GREEN, false); + String status = session.antmailSent ? " // " + message.deliveryStatus() : ""; + g.drawString(font, Component.literal((message.read() ? " " : "* ") + trimToWidth(message.subject() + status, 28)), x, line, message.read() ? PALE_GREEN : GREEN, false); line += 14; } + g.drawString(font, Component.literal("[ < ] PAGE " + (session.antmailPage + 1) + " [ > ]"), x, y + h - 42, GREEN, false); } } - String displayStatus = result != null && !result.messageId().isBlank() ? antmailStatus(result) : session.antmailStatus; + AntmailResultPayload operation = AntmailClientState.get(position); + String displayStatus = operation != null && !operation.messageId().isBlank() ? antmailStatus(operation) : session.antmailStatus; if (!displayStatus.isEmpty()) drawBottomWrapped(g, displayStatus, x, y, h, 208, PALE_GREEN); } @@ -729,21 +1287,60 @@ public final class ComputerScreen extends Screen { return sent ? mailbox.sent() : mailbox.inbox(); } - private AntmailMessage selectedAntmailMessage(AntmailResultPayload result) { - List messages = mailboxMessages(result, session.antmailSent); - return session.antmailMessageIndex >= 0 && session.antmailMessageIndex < messages.size() ? messages.get(session.antmailMessageIndex) : null; + private int antmailTotal(AntmailResultPayload result, boolean sent) { + if (result == null || result.data().isBlank()) return 0; + try { + var tag = AntmailWire.decodeTag(result.data()); + return tag.getInt(sent ? "TotalSent" : "TotalInbox"); + } catch (RuntimeException ignored) { + return mailboxMessages(result, sent).size(); + } } - private void renderGames(GuiGraphics g, int x, int y) { + private AntmailMessage selectedAntmailMessage(AntmailResultPayload result) { + List messages = mailboxMessages(result, session.antmailSent); + if (session.antmailMessageIndex < 0 || session.antmailMessageIndex >= messages.size()) return null; + AntmailMessage summary = messages.get(session.antmailMessageIndex); + AntmailMessage detail = AntmailClientState.getMessage(position, summary.id()); + return detail == null ? summary : detail; + } + + private void renderGames(GuiGraphics g, Window window, int x, int y, int mouseX, int mouseY) { g.drawString(font, Component.literal("INSTALLED GAMES"), x, y, GREEN, false); - if (activeWindow != null && activeWindow.gameOpen) { antFarm.render(g, font, x, y + 16, 214, 155); return; } - if (antFarm.isGameInstalled()) g.drawString(font, Component.literal("ANT FARM [ ENTER ]"), x, y + 22, PALE_GREEN, false); - else { + if (window.gameOpen) { + if (window.gameId.equals("antman")) antman.render(g, font, x, y + 16, 214, 155); + else if (window.gameId.equals("blockle")) blockle.render(g, font, x, y + 16, 214, 155); + else basilisk.render(g, font, x, y + 16, 214, 155); + return; + } + List games = installedGameIds(); + for (int index = 0; index < games.size(); index++) { + int rowTop = y + 18 + index * 16; + if (inside(x - 4, rowTop, 218, 16, mouseX, mouseY)) box(g, x - 4, rowTop, x + 214, rowTop + 16, GREEN); + g.drawString(font, Component.literal(gameLabel(games.get(index))), x, y + 22 + index * 16, PALE_GREEN, false); + } + if (games.isEmpty()) { g.drawString(font, Component.literal("NO GAMES INSTALLED"), x, y + 22, PALE_GREEN, false); g.drawString(font, Component.literal("FIND GAME DISKS TO INSTALL PROGRAMS"), x, y + 40, PALE_GREEN, false); } } + private List installedGameIds() { + List games = new ArrayList<>(); + if (basilisk.installed()) games.add("basilisk"); + if (antman.installed()) games.add("antman"); + if (blockle.installed()) games.add("blockle"); + return games; + } + + private String gameLabel(String gameId) { + return switch (gameId) { + case "basilisk" -> "BASILISK [ ENTER ]"; + case "antman" -> "ANTMAN.EXE [ ENTER ]"; + default -> "BLOCKLE [ ENTER ]"; + }; + } + private void renderTrash(GuiGraphics g, int x, int y) { g.drawString(font, Component.literal("DROP A DISK HERE TO EJECT"), x, y, GREEN, false); g.drawString(font, Component.literal("EJECTED FILES RETURN TO PLAYER"), x, y + 22, PALE_GREEN, false); @@ -756,6 +1353,15 @@ public final class ComputerScreen extends Screen { return y; } + private int wrapLimited(GuiGraphics g, String text, int x, int y, int width, int bottom, int color) { + for (var line : font.split(Component.literal(text), width)) { + if (y + 11 > bottom) break; + g.drawString(font, line, x, y, color, false); + y += 11; + } + return y; + } + private void drawBottomWrapped(GuiGraphics g, String text, int x, int y, int h, int width, int color) { List lines = font.split(Component.literal(text), width); int lineY = y + h - 16 - Math.max(0, lines.size() - 1) * 11; @@ -805,17 +1411,28 @@ public final class ComputerScreen extends Screen { return true; } if (window.type.equals("ARCHIVE")) { - List entries = ComputerGuideData.entriesFor(computer() == null ? List.of() : computer().diskIds()); + List entries = filterArchiveEntries(ComputerGuideData.entriesFor(computer() == null ? List.of() : computer().diskIds())); int archiveX = x + 8; int archiveY = y + 28; if (session.archiveEntryId != null) { - if (inside(archiveX, archiveY, w - 16, 20, mouseX, mouseY)) session.archiveEntryId = null; + if (inside(archiveX, archiveY, w - 16, 20, mouseX, mouseY)) { + session.archiveEntryId = null; + session.archiveDetailScroll = 0; + } } else { - int visible = Math.max(1, (h - 34) / 62); + if (inside(archiveX, archiveY + 14, w - 16, 21, mouseX, mouseY)) { + session.archiveSearchFocused = true; + return true; + } + session.archiveSearchFocused = false; + int visible = Math.max(1, (h - 56) / 62); int start = Math.max(0, Math.min(session.archiveScroll, Math.max(0, entries.size() - visible))); - int index = start + ((int) mouseY - (archiveY + 16)) / 62; + int index = start + ((int) mouseY - (archiveY + 38)) / 62; int rowIndex = index - start; - if (rowIndex >= 0 && rowIndex < visible && index < entries.size() && inside(archiveX, archiveY + 16 + rowIndex * 62, w - 16, 56, mouseX, mouseY)) session.archiveEntryId = entries.get(index).id(); + if (rowIndex >= 0 && rowIndex < visible && index < entries.size() && inside(archiveX, archiveY + 38 + rowIndex * 62, w - 16, 56, mouseX, mouseY)) { + session.archiveEntryId = entries.get(index).id(); + session.archiveDetailScroll = 0; + } } return true; } @@ -823,17 +1440,24 @@ public final class ComputerScreen extends Screen { var files = ComputerFileSystemClientState.get(position).files(); if (!session.fileExplorerDirectory.equals("/") && mouseY < y + 36 && mouseX > x + w - 48) { session.fileExplorerDirectory = parentDirectory(session.fileExplorerDirectory); + session.fileExplorerScroll = 0; return true; } int row = 0; for (String file : files) { String[] fields = file.split("\\t", 3); if (fields.length < 3 || !isDirectChild(fields[1], session.fileExplorerDirectory)) continue; - int rowTop = y + 34 + row++ * 14; + int rowIndex = row++; + if (rowIndex < session.fileExplorerScroll) continue; + int rowTop = y + 34 + (rowIndex - session.fileExplorerScroll) * 14; + if (rowTop > y + h - 20) break; if (!inside(x, rowTop - 2, w, 14, mouseX, mouseY)) continue; session.fileExplorerSelected = fields[1]; - if (fields[0].equals("DIRECTORY")) session.fileExplorerDirectory = fields[1]; - else if (fields[0].equals("TEXT")) { + if (fields[0].equals("DIRECTORY")) { + session.fileExplorerDirectory = fields[1]; + session.fileExplorerScroll = 0; + } + else if (fields[0].equals("TEXT") || fields[0].equals("IMAGE")) { ComputerNetworking.openFile(position, fields[1]); open(fields[1].endsWith(".antpaint") ? "PAINT" : "TEXT"); } @@ -843,35 +1467,45 @@ public final class ComputerScreen extends Screen { } if (window.type.equals("PAINT")) { int contentX = x + 8; - int contentY = y + 48; - if (inside(contentX, contentY, w - 16, h - 54, mouseX, mouseY)) paintAt(mouseX, mouseY, contentX, contentY - 18, w - 16, h - 54, button == 1); - else if (mouseY < y + 66) { - if (mouseX > contentX + 190) savePaint(); - else paintTool((int) mouseX - contentX); + int contentY = y + 58; + if (inside(contentX, contentY, w - 16, h - 34, mouseX, mouseY)) paintAt(mouseX, mouseY, contentX, contentY, w - 16, h - 34, button == 1); + else if (mouseY >= y + 39 && mouseY < y + 58 && mouseX >= contentX && mouseX < contentX + 196) { + paintToolbarAction(((int) mouseX - contentX) / 28); } return true; } if (window.type.equals("TEXT")) { if (mouseY < y + 66) { - int action = ((int) mouseX - (x + 8)) / 42; - if (action == 0) newText(); else if (action == 1) { session.textListing = true; ComputerNetworking.listFiles(position); } else if (action == 2) writeText(); else if (action == 3) saveText(); + int toolbarX = (int) mouseX - (x + 8); + if (toolbarX < 30) newText(); + else if (toolbarX < 60) { session.textListing = true; session.textPickerScroll = 0; ComputerNetworking.listFiles(position); } + else if (toolbarX < 102) writeText(); + else if (toolbarX < 138) saveText(); + else if (toolbarX < 210) beginSaveAs(); } else if (session.textListing) { var files = ComputerFileSystemClientState.get(position).files(); int index = ((int) mouseY - (y + 62)) / 14; - if (index >= 0 && index < files.size()) { - String[] fields = files.get(index).split("\\t", 3); - if (fields.length >= 2) { + int textIndex = 0; + for (String file : files) { + String[] fields = file.split("\\t", 3); + if (fields.length < 3 || !fields[0].equals("TEXT")) continue; + if (textIndex < session.textPickerScroll) { textIndex++; continue; } + if (textIndex++ == index) { session.textListing = false; ComputerNetworking.openFile(position, fields[1]); + break; } } - } else session.textFocused = true; + } else { + session.textFocused = true; + setTextCursorFromMouse(mouseX - (x + 10), mouseY - (y + 46), w - 28); + } return true; } if (window.type.equals("ANTMAIL")) { - var result = AntmailClientState.get(position); + var result = AntmailClientState.getMailbox(position); if (result == null || result.address().isBlank()) { - if (inside(x + 8, y + 84, 214, 25, mouseX, mouseY)) { + if (inside(x + 8, y + 56, 214, 25, mouseX, mouseY)) { session.antmailFocused = true; return true; } @@ -879,55 +1513,132 @@ public final class ComputerScreen extends Screen { setupAntmail(); return true; } - } else if (inside(x + 8, y + 54, 54, 27, mouseX, mouseY)) { + } else if (inside(x + 8, y + 30, 54, 24, mouseX, mouseY)) { session.antmailMode = "inbox"; session.antmailSent = false; + session.antmailPage = 0; session.antmailMessageIndex = -1; - } else if (inside(x + 62, y + 54, 58, 27, mouseX, mouseY)) { + requestAntmailState(true); + } else if (inside(x + 62, y + 30, 38, 24, mouseX, mouseY)) { session.antmailMode = "sent"; session.antmailSent = true; + session.antmailPage = 0; session.antmailMessageIndex = -1; - } else if (inside(x + 122, y + 54, 92, 27, mouseX, mouseY)) { + requestAntmailState(true); + } else if (inside(x + 102, y + 30, 52, 24, mouseX, mouseY)) { + session.antmailMode = "drafts"; + session.antmailSent = false; + session.antmailPage = 0; + session.antmailMessageIndex = -1; + requestAntmailState(true); + } else if (inside(x + 158, y + 30, 56, 24, mouseX, mouseY)) { session.antmailMode = "compose"; session.antmailFocused = true; session.antmailField = 1; + restoreLatestDraft(result); } else if (session.antmailMode.equals("inbox") || session.antmailMode.equals("sent")) { - int index = ((int) mouseY - (y + 108)) / 14; + if (mouseY >= y + h - 54 && mouseY < y + h - 32) { + if (mouseX < x + 60 && session.antmailPage > 0) { + session.antmailPage--; + requestAntmailState(true); + } else if (mouseX >= x + 150 && (session.antmailPage + 1) * AntmailMailbox.PAGE_SIZE < antmailTotal(result, session.antmailSent)) { + session.antmailPage++; + requestAntmailState(true); + } + return true; + } + int index = ((int) mouseY - (y + 80)) / 14; List messages = mailboxMessages(result, session.antmailSent); if (index >= 0 && index < messages.size()) { session.antmailMessageIndex = index; session.antmailMode = "message"; + AntmailNetworking.requestMessage(position, messages.get(index).id()); AntmailNetworking.markRead(position, messages.get(index).id()); } + } else if (session.antmailMode.equals("drafts")) { + int index = ((int) mouseY - (y + 80)) / 14; + AntmailMailbox mailbox = mailbox(result); + if (mailbox != null && index >= 0 && index < mailbox.drafts().size()) { + restoreDraft(mailbox.drafts().get(index)); + session.antmailMode = "compose"; + session.antmailFocused = true; + session.antmailField = 1; + } } else if (session.antmailMode.equals("message")) { + AntmailMessage message = selectedAntmailMessage(result); + if (session.antmailSent && message != null && !message.deliveryStatus().equals("DELIVERED") && mouseY >= y + h - 54 && mouseY < y + h - 34) { + AntmailNetworking.retry(position, message.id()); + session.antmailStatus = "RETRYING DELIVERY"; + return true; + } + if (mouseY >= y + h - 32 && mouseY < y + h - 8) { + if (message != null) AntmailNetworking.delete(position, message.id(), session.antmailSent); + session.antmailMode = session.antmailSent ? "sent" : "inbox"; + session.antmailMessageIndex = -1; + return true; + } + if (message != null && mouseY >= y + 90 && mouseY < y + h - 38 && !message.attachments().isEmpty()) { + int attachmentIndex = Math.max(0, Math.min(message.attachments().size() - 1, ((int) mouseY - (y + 98)) / 14)); + saveAntmailAttachment(message.attachments().get(attachmentIndex)); + return true; + } if (mouseY < y + 72) { session.antmailMode = session.antmailSent ? "sent" : "inbox"; session.antmailMessageIndex = -1; } } else if (session.antmailMode.equals("compose")) { - if (mouseY >= y + 160 && mouseY < y + 184) { - session.antmailAttachText = mouseX < x + 112; - session.antmailAttachPaint = mouseX >= x + 112; - if (session.antmailAttachText && session.fileExplorerSelected.endsWith(".txt")) { - session.textPath = session.fileExplorerSelected; - ComputerNetworking.openFile(position, session.fileExplorerSelected); - } - if (session.antmailAttachPaint && session.fileExplorerSelected.endsWith(".antpaint")) { - ComputerNetworking.openFile(position, session.fileExplorerSelected); + if (session.antmailPickingAttachment) { + int row = 0; + for (String file : ComputerFileSystemClientState.get(position).files()) { + String[] fields = file.split("\\t", 3); + if (fields.length < 2 || (!fields[0].equals("TEXT") && !fields[0].equals("IMAGE"))) continue; + int rowTop = y + 64 + row++ * 14; + if (mouseY >= rowTop - 2 && mouseY < rowTop + 12) { + session.fileExplorerSelected = fields[1]; + session.antmailAttachText = fields[0].equals("TEXT"); + session.antmailAttachPaint = fields[0].equals("IMAGE"); + session.antmailPickingAttachment = false; + if (session.antmailAttachText) { + session.textPath = fields[1]; + session.antmailTextPath = fields[1]; + } else { + session.antmailPaintPath = fields[1]; + } + ComputerNetworking.openFile(position, fields[1]); + return true; + } } return true; } - if (mouseY < y + 94) { - session.antmailField = mouseY < y + 78 ? 1 : 2; + if (mouseY >= y + 116 && mouseY < y + 141) { + session.antmailPickingAttachment = true; + return true; + } + if (mouseY >= y + 42 && mouseY < y + 59) { + session.antmailField = 1; session.antmailFocused = true; - } else if (mouseY < y + 150) { + } else if (mouseY >= y + 59 && mouseY < y + 75) { + session.antmailField = 2; + session.antmailFocused = true; + } else if (mouseY >= y + 75 && mouseY < y + 116) { session.antmailField = 3; session.antmailFocused = true; + } else if (mouseY >= y + h - 38 && mouseY < y + h - 8) { + sendAntmail(); } } return true; } - if (window.type.equals("GAMES") && mouseY > y + 35 && !window.gameOpen && antFarm.isGameInstalled()) { window.gameOpen = true; activeWindow = window; return true; } + if (window.type.equals("GAMES") && !window.gameOpen) { + List games = installedGameIds(); + int index = ((int) mouseY - (y + 20)) / 16; + if (index >= 0 && index < games.size() && mouseY < y + 20 + games.size() * 16) { + window.gameId = games.get(index); + window.gameOpen = true; + activeWindow = window; + return true; + } + } if (window.type.equals("TERMINAL")) { session.terminalFocused = true; return true; } } if (window.type.equals("SETTINGS") && inside(x + 8, y + 105, 205, 51, mouseX, mouseY)) { @@ -952,9 +1663,16 @@ public final class ComputerScreen extends Screen { } if (inside(x, y + 20, w, h - 20, mouseX, mouseY)) return true; if (inside(x, y, w, 20, mouseX, mouseY)) { - if (inside(x + w - 18, y, 18, 20, mouseX, mouseY)) session.windows.remove(i); + if (inside(x + w - 18, y, 18, 20, mouseX, mouseY)) { + if (window.type.equals("ANTMAIL") && session.antmailMode.equals("compose")) saveAntmailDraft(); + session.windows.remove(i); + if (activeWindow == window) activeWindow = null; + } else if (inside(x + w - 48, y, 16, 20, mouseX, mouseY)) window.maximized = !window.maximized; - else if (inside(x + w - 63, y, 16, 20, mouseX, mouseY)) window.minimized = true; + else if (inside(x + w - 63, y, 16, 20, mouseX, mouseY)) { + window.minimized = true; + if (activeWindow == window) activeWindow = null; + } else { dragging = window; dragX = (int) mouseX - x; dragY = (int) mouseY - y; session.windows.remove(i); session.windows.add(window); } return true; } @@ -964,7 +1682,7 @@ public final class ComputerScreen extends Screen { int y = t + 48 + i / 4 * 76; if (inside(x - 6, y - 6, 76, 57, mouseX, mouseY)) { open(ICONS[i]); return true; } } - List disks = physicalDisks(); + List disks = physicalDisks().stream().filter(id -> !id.getPath().equals("blockle_game")).toList(); for (int i = 0; i < disks.size() && i < 3; i++) { int x = l + 24 + i % 4 * 94; int y = t + 200 + i / 4 * 54; @@ -992,8 +1710,8 @@ public final class ComputerScreen extends Screen { int l = -WIDTH / 2; int t = -HEIGHT / 2; int x = l + activeWindow.x + 8; - int y = t + activeWindow.y + 48; - paintAt(mouseX, mouseY, x, y - 18, activeWindow.renderWidth - 16, activeWindow.renderHeight - 54, button == 1); + int y = t + activeWindow.y + 58; + paintAt(mouseX, mouseY, x, y, activeWindow.renderWidth - 16, activeWindow.renderHeight - 34, button == 1); } return true; } @@ -1017,8 +1735,23 @@ public final class ComputerScreen extends Screen { @Override public boolean mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY) { - if (loggedIn && activeWindow != null && activeWindow.type.equals("ARCHIVE") && session.archiveEntryId == null) { - session.archiveScroll = Math.max(0, session.archiveScroll - (int) Math.signum(scrollY)); + Window hoveredWindow = windowAt(mouseX, mouseY); + if (hoveredWindow != null) activeWindow = hoveredWindow; + if (loggedIn && activeWindow != null && activeWindow.type.equals("FILES")) { + session.fileExplorerScroll = Math.max(0, session.fileExplorerScroll - (int) Math.signum(scrollY)); + return true; + } + if (loggedIn && activeWindow != null && activeWindow.type.equals("TEXT") && session.textListing) { + session.textPickerScroll = Math.max(0, session.textPickerScroll - (int) Math.signum(scrollY)); + return true; + } + if (loggedIn && activeWindow != null && activeWindow.type.equals("TEXT")) { + session.textScroll = Math.max(0, session.textScroll - (int) Math.signum(scrollY)); + return true; + } + if (loggedIn && activeWindow != null && activeWindow.type.equals("ARCHIVE")) { + if (session.archiveEntryId == null) session.archiveScroll = Math.max(0, session.archiveScroll - (int) Math.signum(scrollY)); + else session.archiveDetailScroll = Math.max(0, Math.min(session.archiveDetailMaxScroll, session.archiveDetailScroll - (int) Math.signum(scrollY))); return true; } return super.mouseScrolled(mouseX, mouseY, scrollX, scrollY); @@ -1037,12 +1770,31 @@ public final class ComputerScreen extends Screen { if (session.fileExplorerRename.length() < 48) session.fileExplorerRename += codePoint; return true; } + if (loggedIn && activeWindow != null && activeWindow.type.equals("ARCHIVE") && session.archiveSearchFocused && codePoint >= 32 && session.archiveSearch.length() < 48) { + session.archiveSearch += codePoint; + session.archiveScroll = 0; + return true; + } + if (loggedIn && activeWindow != null && activeWindow.type.equals("FILES") && session.fileExplorerCreatingDirectory && codePoint >= 32 && codePoint != '/' && codePoint != '\\') { + if (session.fileExplorerRename.length() < 48) session.fileExplorerRename += codePoint; + return true; + } + if (loggedIn && activeWindow != null && activeWindow.type.equals("FILES") && session.fileExplorerMoving && codePoint >= 32 && codePoint != '\\') { + if (session.fileExplorerRename.length() < 64) session.fileExplorerRename += codePoint; + return true; + } if (loggedIn && activeWindow != null && activeWindow.type.equals("TEXT") && session.textRenaming && codePoint >= 32 && codePoint != '/' && codePoint != '\\') { if (session.textRename.length() < 48) session.textRename += codePoint; return true; } if (loggedIn && activeWindow != null) { - if (activeWindow.type.equals("TEXT") && session.textFocused && codePoint >= 32) { session.textContent += codePoint; session.textDirty = true; return true; } + if (activeWindow.type.equals("GAMES") && activeWindow.gameOpen && activeWindow.gameId.equals("blockle") && blockle.charTyped(codePoint)) return true; + if (activeWindow.type.equals("TEXT") && session.textFocused && codePoint >= 32) { + session.textContent = session.textContent.substring(0, session.textCursor) + codePoint + session.textContent.substring(session.textCursor); + session.textCursor++; + session.textDirty = true; + return true; + } if (activeWindow.type.equals("TERMINAL") && session.terminalFocused && codePoint >= 32) { session.terminalInput += codePoint; return true; } if (activeWindow.type.equals("ANTMAIL") && session.antmailFocused && codePoint >= 32) { if (session.antmailMode.equals("compose")) { @@ -1068,10 +1820,47 @@ public final class ComputerScreen extends Screen { return true; } if (activeWindow != null && activeWindow.type.equals("GAMES") && activeWindow.gameOpen) { - if (keyCode == GLFW.GLFW_KEY_ESCAPE) { activeWindow.gameOpen = false; return true; } - if (antFarm.keyPressed(keyCode)) return true; + if (keyCode == GLFW.GLFW_KEY_ESCAPE) { + activeWindow.gameOpen = false; + return true; + } + if (activeWindow.gameId.equals("antman") ? antman.keyPressed(keyCode) : activeWindow.gameId.equals("blockle") ? blockle.keyPressed(keyCode) : basilisk.keyPressed(keyCode)) return true; } if (activeWindow != null && activeWindow.type.equals("FILES")) { + if (session.fileExplorerDeleteConfirm) { + if (keyCode == GLFW.GLFW_KEY_ESCAPE) { session.fileExplorerDeleteConfirm = false; return true; } + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_KP_ENTER) { session.fileExplorerDeleteConfirm = false; deleteSelectedFile(); return true; } + } + if (session.fileExplorerCreatingDirectory) { + if (keyCode == GLFW.GLFW_KEY_BACKSPACE) { if (!session.fileExplorerRename.isEmpty()) session.fileExplorerRename = session.fileExplorerRename.substring(0, session.fileExplorerRename.length() - 1); return true; } + if (keyCode == GLFW.GLFW_KEY_ESCAPE) { session.fileExplorerCreatingDirectory = false; session.fileExplorerRename = ""; return true; } + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_KP_ENTER) { + if (!session.fileExplorerRename.isBlank()) { + String folder = session.fileExplorerRename.replace("\\", "\\\\").replace("\"", "\\\""); + ComputerNetworking.terminalCommand(position, session.fileExplorerDirectory, "mkdir \"" + folder + "\""); + } + session.fileExplorerCreatingDirectory = false; + session.fileExplorerRename = ""; + ComputerNetworking.listFiles(position); + return true; + } + } + if (session.fileExplorerMoving) { + if (keyCode == GLFW.GLFW_KEY_BACKSPACE) { if (!session.fileExplorerRename.isEmpty()) session.fileExplorerRename = session.fileExplorerRename.substring(0, session.fileExplorerRename.length() - 1); return true; } + if (keyCode == GLFW.GLFW_KEY_ESCAPE) { session.fileExplorerMoving = false; session.fileExplorerRename = ""; return true; } + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_KP_ENTER) { + if (!session.fileExplorerRename.isBlank() && !session.fileExplorerSelected.isBlank()) { + String destination = session.fileExplorerRename.startsWith("/") + ? ComputerFileSystem.normalize(session.fileExplorerRename) + : ComputerFileSystem.normalize(session.fileExplorerDirectory + "/" + session.fileExplorerRename); + ComputerNetworking.moveFile(position, session.fileExplorerSelected, destination); + } + session.fileExplorerMoving = false; + session.fileExplorerRename = ""; + ComputerNetworking.listFiles(position); + return true; + } + } if (session.fileExplorerRenaming) { if (keyCode == GLFW.GLFW_KEY_BACKSPACE) { if (!session.fileExplorerRename.isEmpty()) session.fileExplorerRename = session.fileExplorerRename.substring(0, session.fileExplorerRename.length() - 1); @@ -1090,7 +1879,15 @@ public final class ComputerScreen extends Screen { beginRenameSelectedFile(); return true; } else if (keyCode == GLFW.GLFW_KEY_DELETE) { - deleteSelectedFile(); + session.fileExplorerDeleteConfirm = true; + return true; + } else if (keyCode == GLFW.GLFW_KEY_F6) { + session.fileExplorerCreatingDirectory = true; + session.fileExplorerRename = ""; + return true; + } else if (keyCode == GLFW.GLFW_KEY_F7 && !session.fileExplorerSelected.isBlank()) { + session.fileExplorerMoving = true; + session.fileExplorerRename = ""; return true; } } @@ -1116,12 +1913,27 @@ public final class ComputerScreen extends Screen { if (keyCode == GLFW.GLFW_KEY_ESCAPE) { session.antmailFocused = false; return true; } } if (activeWindow != null && activeWindow.type.equals("TEXT") && session.textFocused) { - if (keyCode == GLFW.GLFW_KEY_BACKSPACE) { if (!session.textContent.isEmpty()) { session.textContent = session.textContent.substring(0, session.textContent.length() - 1); session.textDirty = true; } return true; } - if (keyCode == GLFW.GLFW_KEY_ENTER) { session.textContent += "\n"; session.textDirty = true; return true; } - if (keyCode == GLFW.GLFW_KEY_S && hasControl(modifiers)) { saveText(); return true; } + if (keyCode == GLFW.GLFW_KEY_BACKSPACE) { if (session.textCursor > 0) { session.textContent = session.textContent.substring(0, session.textCursor - 1) + session.textContent.substring(session.textCursor); session.textCursor--; session.textDirty = true; } return true; } + if (keyCode == GLFW.GLFW_KEY_DELETE) { if (session.textCursor < session.textContent.length()) { session.textContent = session.textContent.substring(0, session.textCursor) + session.textContent.substring(session.textCursor + 1); session.textDirty = true; } return true; } + if (keyCode == GLFW.GLFW_KEY_LEFT) { session.textCursor = Math.max(0, session.textCursor - 1); return true; } + if (keyCode == GLFW.GLFW_KEY_RIGHT) { session.textCursor = Math.min(session.textContent.length(), session.textCursor + 1); return true; } + if (keyCode == GLFW.GLFW_KEY_UP || keyCode == GLFW.GLFW_KEY_DOWN) { moveTextCursorVertically(keyCode == GLFW.GLFW_KEY_UP); return true; } + if (keyCode == GLFW.GLFW_KEY_HOME) { session.textCursor = session.textContent.lastIndexOf('\n', Math.max(0, session.textCursor - 1)) + 1; return true; } + if (keyCode == GLFW.GLFW_KEY_END) { int next = session.textContent.indexOf('\n', session.textCursor); session.textCursor = next < 0 ? session.textContent.length() : next; return true; } + if (keyCode == GLFW.GLFW_KEY_ENTER) { session.textContent = session.textContent.substring(0, session.textCursor) + "\n" + session.textContent.substring(session.textCursor); session.textCursor++; session.textDirty = true; return true; } + if (keyCode == GLFW.GLFW_KEY_S && hasControl(modifiers) && (modifiers & GLFW.GLFW_MOD_SHIFT) == 0) { saveText(); return true; } if (keyCode == GLFW.GLFW_KEY_ESCAPE) { session.textFocused = false; return true; } } if (activeWindow != null && activeWindow.type.equals("TEXT")) { + if (session.textDeleteConfirm) { + if (keyCode == GLFW.GLFW_KEY_ESCAPE) { session.textDeleteConfirm = false; return true; } + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_KP_ENTER) { session.textDeleteConfirm = false; deleteTextFile(); return true; } + } + if (keyCode == GLFW.GLFW_KEY_F8) { session.textDeleteConfirm = true; session.textFocused = false; return true; } + if (keyCode == GLFW.GLFW_KEY_S && hasControl(modifiers) && (modifiers & GLFW.GLFW_MOD_SHIFT) != 0) { + beginSaveAs(); + return true; + } if (keyCode == GLFW.GLFW_KEY_F2 && !session.textPath.isBlank()) { int slash = session.textPath.lastIndexOf('/'); session.textRename = session.textPath.substring(slash + 1); @@ -1146,8 +1958,20 @@ public final class ComputerScreen extends Screen { } if (activeWindow != null && activeWindow.type.equals("ARCHIVE") && session.archiveEntryId != null && keyCode == GLFW.GLFW_KEY_ESCAPE) { session.archiveEntryId = null; + session.archiveDetailScroll = 0; return true; } + if (activeWindow != null && activeWindow.type.equals("ARCHIVE") && session.archiveSearchFocused) { + if (keyCode == GLFW.GLFW_KEY_BACKSPACE) { + if (!session.archiveSearch.isEmpty()) session.archiveSearch = session.archiveSearch.substring(0, session.archiveSearch.length() - 1); + session.archiveScroll = 0; + return true; + } + if (keyCode == GLFW.GLFW_KEY_ESCAPE) { + session.archiveSearchFocused = false; + return true; + } + } return super.keyPressed(keyCode, scanCode, modifiers); } @@ -1189,12 +2013,28 @@ public final class ComputerScreen extends Screen { session.terminalInput = ""; } + private void requestAntmailState() { + requestAntmailState(false); + } + + private void requestAntmailState(boolean force) { + int folder = session.antmailMode.equals("sent") ? com.craisinlord.antarchy.content.network.AntmailStateRequestPayload.SENT + : session.antmailMode.equals("drafts") ? com.craisinlord.antarchy.content.network.AntmailStateRequestPayload.DRAFTS + : com.craisinlord.antarchy.content.network.AntmailStateRequestPayload.INBOX; + AntmailNetworking.requestState(position, folder, session.antmailPage, force ? 0L : AntmailClientState.getVersion(position)); + } + private void setupAntmail() { + if (!loggedIn) { + session.antmailStatus = "SETUP ERROR // SIGN IN TO THE COMPUTER FIRST"; + return; + } if (!AntmailAddress.isValidUsername(session.antmailUsername)) { session.antmailStatus = "SETUP ERROR // USE 3-16 LOWERCASE LETTERS, NUMBERS, OR _"; session.antmailFocused = true; return; } + AntmailClientState.clear(position); AntmailNetworking.setup(position, session.antmailUsername); session.antmailStatus = "REGISTERING ADDRESS"; session.antmailRegistrationPending = true; @@ -1210,22 +2050,17 @@ public final class ComputerScreen extends Screen { session.antmailStatus = "SEND ERROR // SUBJECT AND BODY REQUIRED"; return; } - if (session.antmailAttachText && (session.textDirty || session.textPath.isBlank() || session.textPath.contains("untitled"))) { + if (session.antmailAttachText && (session.textDirty || session.textPath.isBlank() || session.textPath.contains("untitled") || !session.textPath.equals(session.antmailTextPath))) { session.antmailStatus = "SEND ERROR // SAVE TEXT FILE FIRST"; return; } - if (session.antmailAttachPaint && (session.paintDirty || session.paintName.isBlank() || session.paintName.startsWith("UNTITLED"))) { + if (session.antmailAttachPaint && (session.paintDirty || session.paintName.isBlank() || session.paintName.startsWith("UNTITLED") || !session.antmailPaintPath.endsWith(session.paintName))) { session.antmailStatus = "SEND ERROR // SAVE PAINTING FIRST"; return; } - List attachments = new ArrayList<>(); - if (session.antmailAttachText && !session.textContent.isEmpty()) attachments.add(new AntmailAttachment.TextFile(session.textPath.substring(session.textPath.lastIndexOf('/') + 1), session.textContent)); - if (session.antmailAttachPaint) { - byte[] pixels = new byte[AntPaintCanvas.WIDTH * AntPaintCanvas.HEIGHT]; - for (int py = 0; py < AntPaintCanvas.HEIGHT; py++) for (int px = 0; px < AntPaintCanvas.WIDTH; px++) pixels[py * AntPaintCanvas.WIDTH + px] = (byte) (session.paintCanvas.get(px, py) ? 1 : 0); - attachments.add(new AntmailAttachment.PaintImage(session.paintName, AntPaintCanvas.WIDTH, AntPaintCanvas.HEIGHT, pixels)); - } + List attachments = composeAttachments(); AntmailNetworking.send(position, session.antmailRecipient, session.antmailSubject, session.antmailBody, attachments); + if (session.antmailDraftId != null) AntmailNetworking.deleteDraft(position, session.antmailDraftId); session.antmailStatus = "MESSAGE SENT"; session.antmailMode = "inbox"; session.antmailFocused = false; @@ -1234,21 +2069,157 @@ public final class ComputerScreen extends Screen { session.antmailBody = ""; session.antmailAttachText = false; session.antmailAttachPaint = false; + session.antmailTextPath = ""; + session.antmailPaintPath = ""; + session.antmailDraftId = null; + session.antmailDraftLoaded = false; + session.antmailPickingAttachment = false; + } + + private void restoreLatestDraft(AntmailResultPayload result) { + if (session.antmailDraftLoaded) return; + AntmailMailbox mailbox = mailbox(result); + if (mailbox == null || mailbox.drafts().isEmpty()) { + session.antmailDraftLoaded = true; + return; + } + restoreDraft(mailbox.drafts().getLast()); + session.antmailStatus = "DRAFT RECOVERED"; + session.antmailDraftLoaded = true; + } + + private void restoreDraft(AntmailDraft draft) { + session.antmailDraftId = draft.id(); + session.antmailRecipient = draft.recipient() == null ? "" : draft.recipient().fullAddress(); + session.antmailSubject = draft.subject(); + session.antmailBody = draft.body(); + session.antmailAttachText = false; + session.antmailAttachPaint = false; + session.antmailPickingAttachment = false; + for (AntmailAttachment attachment : draft.attachments()) { + if (attachment instanceof AntmailAttachment.TextFile text) { + session.antmailAttachText = true; + session.textPath = "/documents/" + text.fileName(); + session.antmailTextPath = session.textPath; + session.textContent = text.contents(); + } else if (attachment instanceof AntmailAttachment.PaintImage paint) { + session.antmailAttachPaint = true; + session.paintName = paint.fileName(); + session.antmailPaintPath = "/pictures/" + paint.fileName(); + AntPaintCanvas canvas = new AntPaintCanvas(); + byte[] pixels = paint.pixels(); + for (int index = 0; index < pixels.length; index++) if (pixels[index] == 1) canvas.set(index % AntPaintCanvas.WIDTH, index / AntPaintCanvas.WIDTH, true); + session.paintCanvas = canvas; + } + } + } + + private void saveAntmailDraft() { + try { + if (session.antmailRecipient.isBlank() && session.antmailSubject.isBlank() && session.antmailBody.isBlank()) return; + AntmailResultPayload result = AntmailClientState.getMailbox(position); + AntmailMailbox mailbox = mailbox(result); + if (mailbox == null) return; + AntmailDraft draft = new AntmailDraft(session.antmailDraftId, AntmailAddress.parse(mailbox.address().fullAddress()), + session.antmailRecipient.isBlank() ? null : AntmailAddress.parse(session.antmailRecipient), session.antmailSubject, session.antmailBody, composeAttachments()); + AntmailNetworking.saveDraft(position, draft); + } catch (RuntimeException ignored) { + } + } + + private List composeAttachments() { + List attachments = new ArrayList<>(); + if (session.antmailAttachText) attachments.add(new AntmailAttachment.TextFile(session.textPath.substring(session.textPath.lastIndexOf('/') + 1), session.textContent)); + if (session.antmailAttachPaint) { + byte[] pixels = new byte[AntPaintCanvas.WIDTH * AntPaintCanvas.HEIGHT]; + for (int py = 0; py < AntPaintCanvas.HEIGHT; py++) for (int px = 0; px < AntPaintCanvas.WIDTH; px++) pixels[py * AntPaintCanvas.WIDTH + px] = (byte) (session.paintCanvas.get(px, py) ? 1 : 0); + attachments.add(new AntmailAttachment.PaintImage(session.paintName, AntPaintCanvas.WIDTH, AntPaintCanvas.HEIGHT, pixels)); + } + return attachments; + } + + private void saveAntmailAttachment(AntmailAttachment attachment) { + try { + if (attachment instanceof AntmailAttachment.TextFile text) { + String path = "/documents/" + text.fileName(); + if (computerFileExists(path)) ComputerNetworking.saveFile(position, path, text.contents()); + else ComputerNetworking.createFile(position, path, text.contents()); + session.antmailStatus = "ATTACHMENT SAVED // " + text.fileName(); + } else if (attachment instanceof AntmailAttachment.PaintImage paint) { + String name = paint.fileName().endsWith(".antpaint") ? paint.fileName() : paint.fileName() + ".antpaint"; + AntPaintFile file = AntmailAttachmentFiles.toPaintFile(paint, UUID.randomUUID().toString(), 0L, 0L); + String encoded = Base64.getEncoder().encodeToString(AntPaintFileCodec.encode(file)); + String path = "/pictures/" + name; + if (computerFileExists(path)) ComputerNetworking.saveFile(position, path, encoded); + else ComputerNetworking.createFile(position, path, encoded); + session.antmailStatus = "ATTACHMENT SAVED // " + name; + } + ComputerNetworking.listFiles(position); + } catch (RuntimeException exception) { + session.antmailStatus = "ATTACHMENT ERROR // INVALID FILE"; + } + } + + private boolean computerFileExists(String path) { + return ComputerFileSystemClientState.get(position).files().stream().anyMatch(entry -> entry.contains("\t" + path + "\t")); } private void newText() { session.textPath = "/documents/untitled.txt"; session.textContent = ""; + session.textCursor = 0; + session.textScroll = 0; session.textDirty = true; session.textListing = false; session.textFocused = true; } + private void beginSaveAs() { + int slash = session.textPath.lastIndexOf('/'); + session.textRename = session.textPath.substring(slash + 1); + session.textSaveAs = true; + session.textRenaming = true; + session.textFocused = false; + } + + private void setTextCursorFromMouse(double mouseX, double mouseY, int width) { + if (session.textContent.isEmpty()) { session.textCursor = 0; return; } + StringBuilder line = new StringBuilder(); + int cursor = 0; + int targetLine = Math.max(0, (int) (mouseY / 11)); + int currentLine = 0; + for (int index = 0; index < session.textContent.length(); index++) { + char character = session.textContent.charAt(index); + if (character == '\n' || font.width(line.toString() + character) > width) { + if (currentLine == targetLine) { + session.textCursor = index; + return; + } + currentLine++; + line.setLength(0); + if (character == '\n') continue; + } + line.append(character); + cursor = index + 1; + } + session.textCursor = cursor; + } + + private void moveTextCursorVertically(boolean up) { + int lineStart = session.textContent.lastIndexOf('\n', Math.max(0, session.textCursor - 1)) + 1; + int column = session.textCursor - lineStart; + int target = up ? lineStart - 1 : session.textContent.indexOf('\n', session.textCursor); + if (target < 0) return; + int targetStart = up ? session.textContent.lastIndexOf('\n', target - 1) + 1 : target + 1; + int targetEnd = session.textContent.indexOf('\n', targetStart); + if (targetEnd < 0) targetEnd = session.textContent.length(); + session.textCursor = Math.min(targetStart + column, targetEnd); + } + private void writeText() { boolean exists = ComputerFileSystemClientState.get(position).files().stream().anyMatch(entry -> entry.contains("\t" + session.textPath + "\t")); if (exists) ComputerNetworking.saveFile(position, session.textPath, session.textContent); else ComputerNetworking.createFile(position, session.textPath, session.textContent); - session.textDirty = false; ComputerNetworking.listFiles(position); } @@ -1256,7 +2227,6 @@ public final class ComputerScreen extends Screen { boolean exists = ComputerFileSystemClientState.get(position).files().stream().anyMatch(entry -> entry.contains("\t" + session.textPath + "\t")); if (exists) ComputerNetworking.saveFile(position, session.textPath, session.textContent); else ComputerNetworking.createFile(position, session.textPath, session.textContent); - session.textDirty = false; ComputerNetworking.listFiles(position); } @@ -1264,10 +2234,16 @@ public final class ComputerScreen extends Screen { if (!session.textRename.isBlank() && !session.textRename.contains("/") && !ComputerFileSystem.isProtected(session.textPath)) { String parent = parentDirectory(session.textPath); String destination = parent.equals("/") ? "/" + session.textRename : parent + "/" + session.textRename; - ComputerNetworking.moveFile(position, session.textPath, destination); - session.textPath = destination; + if (session.textSaveAs) { + session.textSaveAsPendingPath = destination; + ComputerNetworking.createFile(position, destination, session.textContent); + } else { + ComputerNetworking.moveFile(position, session.textPath, destination); + session.textMovePendingPath = destination; + } ComputerNetworking.listFiles(position); } + session.textSaveAs = false; session.textRenaming = false; session.textRename = ""; } @@ -1289,17 +2265,37 @@ public final class ComputerScreen extends Screen { session.paintTool = offset < 52 ? AntPaintTool.PENCIL : offset < 108 ? AntPaintTool.ERASER : AntPaintTool.FILL; } + private void paintToolbarAction(int index) { + if (index == 0) session.paintTool = AntPaintTool.PENCIL; + else if (index == 1) session.paintTool = AntPaintTool.ERASER; + else if (index == 2) session.paintTool = AntPaintTool.FILL; + else if (index == 3) { + session.paintHistory.record(session.paintCanvas); + session.paintCanvas.clear(); + session.paintDirty = true; + } else if (index == 4 && session.paintHistory.canUndo()) { + session.paintCanvas = session.paintHistory.undo(session.paintCanvas); + session.paintDirty = true; + } else if (index == 5 && session.paintHistory.canRedo()) { + session.paintCanvas = session.paintHistory.redo(session.paintCanvas); + session.paintDirty = true; + } else if (index == 6) { + savePaint(); + } + } + private void paintAt(double mouseX, double mouseY, int x, int y, int w, int h, boolean draw) { int size = Math.min(w / AntPaintCanvas.WIDTH, h / AntPaintCanvas.HEIGHT); if (size <= 0) return; int canvasX = x + (w - size * AntPaintCanvas.WIDTH) / 2; int px = (int) ((mouseX - canvasX) / size); - int py = (int) ((mouseY - y) / size); + int canvasY = y + Math.max(0, (h - size * AntPaintCanvas.HEIGHT) / 2); + int py = (int) ((mouseY - canvasY) / size); if (px < 0 || py < 0 || px >= AntPaintCanvas.WIDTH || py >= AntPaintCanvas.HEIGHT) return; session.paintHistory.record(session.paintCanvas); - if (session.paintTool == AntPaintTool.PENCIL) session.paintCanvas.erase(px, py); - else if (session.paintTool == AntPaintTool.ERASER) session.paintCanvas.draw(px, py); - else session.paintCanvas.floodFill(px, py, session.paintTool == AntPaintTool.ERASER); + if (session.paintTool == AntPaintTool.PENCIL) session.paintCanvas.draw(px, py); + else if (session.paintTool == AntPaintTool.ERASER) session.paintCanvas.erase(px, py); + else session.paintCanvas.floodFill(px, py, true); session.paintDirty = true; } @@ -1354,6 +2350,16 @@ public final class ComputerScreen extends Screen { ComputerNetworking.listFiles(position); } + private void deleteTextFile() { + if (session.textPath.isBlank() || ComputerFileSystem.isProtected(session.textPath)) return; + ComputerNetworking.deleteFile(position, session.textPath); + session.textPath = "/documents/untitled.txt"; + session.textContent = ""; + session.textCursor = 0; + session.textDirty = false; + ComputerNetworking.listFiles(position); + } + private void open(String type) { for (Window window : session.windows) if (window.type.equals(type)) { window.minimized = false; @@ -1363,10 +2369,28 @@ public final class ComputerScreen extends Screen { return; } session.windows.add(new Window(type, TITLES.get(type), 112 + session.windows.size() * 12, 52 + session.windows.size() * 10)); - if (type.equals("ANTMAIL")) AntmailNetworking.requestState(position); + if (type.equals("ANTMAIL")) requestAntmailState(); else if (type.equals("FILES")) ComputerNetworking.listFiles(position); } + private Window windowAt(double mouseX, double mouseY) { + float scale = uiScale(); + double localMouseX = (mouseX - width / 2.0F) / scale; + double localMouseY = (mouseY - height / 2.0F) / scale; + int left = -WIDTH / 2; + int top = -HEIGHT / 2; + for (int index = session.windows.size() - 1; index >= 0; index--) { + Window window = session.windows.get(index); + if (window.minimized) continue; + int windowX = left + window.x; + int windowY = top + window.y; + int windowWidth = window.maximized ? WIDTH - 28 : window.width; + int windowHeight = window.maximized ? HEIGHT - 48 : window.height; + if (inside(windowX, windowY + 20, windowWidth, windowHeight - 20, localMouseX, localMouseY)) return window; + } + return null; + } + private static boolean inside(int x, int y, int w, int h, double mx, double my) { return mx >= x && mx < x + w && my >= y && my < y + h; } @Override @@ -1389,13 +2413,29 @@ public final class ComputerScreen extends Screen { private boolean terminalFocused; private String textPath = "/documents/untitled.txt"; private String textContent = ""; + private int textCursor; + private int textScroll; private boolean textDirty; private boolean textFocused; private boolean textListing; + private int textPickerScroll; private boolean textRenaming; + private boolean textSaveAs; + private String textSaveAsPendingPath = ""; + private String textMovePendingPath = ""; + private boolean textJustSavedAs; + private boolean textDeleteConfirm; private String textRename = ""; private ResourceLocation archiveEntryId; private int archiveScroll; + private String archiveSearch = ""; + private boolean archiveSearchFocused; + private int fileExplorerScroll; + private boolean fileExplorerDeleteConfirm; + private boolean fileExplorerCreatingDirectory; + private boolean fileExplorerMoving; + private int archiveDetailScroll; + private int archiveDetailMaxScroll; private int archiveMouseX; private int archiveMouseY; private int mouseX; @@ -1408,6 +2448,7 @@ public final class ComputerScreen extends Screen { private String antmailUsername = ""; private String antmailStatus = ""; private boolean antmailRegistrationPending; + private int antmailRefreshTicks; private boolean antmailFocused; private String antmailMode = "inbox"; private String antmailRecipient = ""; @@ -1416,8 +2457,14 @@ public final class ComputerScreen extends Screen { private int antmailField; private boolean antmailSent; private int antmailMessageIndex = -1; + private int antmailPage; private boolean antmailAttachText; private boolean antmailAttachPaint; + private String antmailTextPath = ""; + private String antmailPaintPath = ""; + private UUID antmailDraftId; + private boolean antmailDraftLoaded; + private boolean antmailPickingAttachment; private String fileExplorerDirectory = "/"; private String fileExplorerSelected = ""; private String fileExplorerRename = ""; @@ -1426,6 +2473,11 @@ public final class ComputerScreen extends Screen { private List wallpapers = List.of(ComputerDesktopState.DEFAULT_WALLPAPER.toString()); private boolean desktopRequested; private int bootTicks = -1; + private String basiliskResponse = ""; + private boolean basiliskStateRequested; + private String antmanResponse = ""; + private boolean antmanStateRequested; + private boolean blockleStateRequested; } private static final class Window { @@ -1440,6 +2492,7 @@ public final class ComputerScreen extends Screen { private boolean minimized; private boolean maximized; private boolean gameOpen; + private String gameId = "basilisk"; private Window(String type, String title, int x, int y) { this.type = type; this.title = title; this.x = x; this.y = y; } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/ComputerFileSystem.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/ComputerFileSystem.java index 4a5a0b04..3cc24eba 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/ComputerFileSystem.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/ComputerFileSystem.java @@ -80,7 +80,7 @@ public final class ComputerFileSystem { if (!validation.successful()) return validation; ComputerFile current = nodes.get(normalized); if (current == null) return Result.failure("not_found"); - if (current.type() != ComputerFile.Type.TEXT) return Result.failure("not_text"); + if (current.type() != ComputerFile.Type.TEXT && current.type() != ComputerFile.Type.IMAGE) return Result.failure("not_file"); int replacement = totalBytes - current.contents().length() + contents.length(); if (replacement > MAX_TOTAL_SIZE) return Result.failure("storage_limit"); nodes.put(normalized, ComputerFile.text(normalized, contents)); @@ -102,8 +102,29 @@ public final class ComputerFileSystem { int slash = to.lastIndexOf('/'); if (slash > 0 && !nodesDirectory(to.substring(0, slash))) return Result.failure("missing_directory"); if (file.type() == ComputerFile.Type.DIRECTORY && to.startsWith(from + "/")) return Result.failure("invalid_path"); - nodes.remove(from); - nodes.put(to, file.type() == ComputerFile.Type.DIRECTORY ? ComputerFile.directory(to) : ComputerFile.text(to, file.contents())); + if (file.type() == ComputerFile.Type.DIRECTORY) { + List descendants = nodes.keySet().stream() + .filter(path -> path.startsWith(from + "/")) + .toList(); + for (String descendant : descendants) { + String movedPath = to + descendant.substring(from.length()); + if (nodes.containsKey(movedPath)) return Result.failure("already_exists"); + } + Map moved = new LinkedHashMap<>(); + moved.put(to, ComputerFile.directory(to)); + for (String descendant : descendants) { + ComputerFile child = nodes.get(descendant); + String movedPath = to + descendant.substring(from.length()); + moved.put(movedPath, child.type() == ComputerFile.Type.DIRECTORY + ? ComputerFile.directory(movedPath) + : ComputerFile.text(movedPath, child.contents())); + } + nodes.keySet().removeIf(path -> path.equals(from) || path.startsWith(from + "/")); + nodes.putAll(moved); + } else { + nodes.remove(from); + nodes.put(to, ComputerFile.text(to, file.contents())); + } return Result.ok(); } @@ -141,7 +162,7 @@ public final class ComputerFileSystem { CompoundTag stored = new CompoundTag(); stored.putString(PATH_TAG, file.path()); stored.putString(TYPE_TAG, file.type().name()); - if (file.type() == ComputerFile.Type.TEXT) stored.putString(CONTENTS_TAG, file.contents()); + if (file.type() == ComputerFile.Type.TEXT || file.type() == ComputerFile.Type.IMAGE) stored.putString(CONTENTS_TAG, file.contents()); files.add(stored); } tag.put(FILES_TAG, files); @@ -157,10 +178,10 @@ public final class ComputerFileSystem { String type = stored.getString(TYPE_TAG); if ("DIRECTORY".equals(type)) { if (nodes.size() < MAX_NODES) nodes.put(path, ComputerFile.directory(path)); - } else if ("TEXT".equals(type)) { + } else if ("TEXT".equals(type) || "IMAGE".equals(type)) { String contents = stored.getString(CONTENTS_TAG); if (contents.length() <= MAX_FILE_SIZE && nodes.size() < MAX_NODES && totalBytes + contents.length() <= MAX_TOTAL_SIZE) { - nodes.put(path, ComputerFile.text(path, contents)); + nodes.put(path, "IMAGE".equals(type) ? ComputerFile.image(path, contents) : ComputerFile.text(path, contents)); totalBytes += contents.length(); } } @@ -192,7 +213,8 @@ public final class ComputerFileSystem { public record ComputerFile(String path, Type type, String contents) { public static ComputerFile directory(String path) { return new ComputerFile(path, Type.DIRECTORY, ""); } - public static ComputerFile text(String path, String contents) { return new ComputerFile(path, Type.TEXT, contents); } + public static ComputerFile text(String path, String contents) { return path.endsWith(".antpaint") ? image(path, contents) : new ComputerFile(path, Type.TEXT, contents); } + public static ComputerFile image(String path, String contents) { return new ComputerFile(path, Type.IMAGE, contents); } public enum Type { DIRECTORY, TEXT, IMAGE } } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleAnswers.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleAnswers.java new file mode 100644 index 00000000..c33e009a --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleAnswers.java @@ -0,0 +1,80 @@ +package com.craisinlord.antarchy.content.computer.blockle; + +import com.craisinlord.antarchy.Antarchy; +import net.minecraft.resources.ResourceLocation; + +import java.util.List; + +public final class BlockleAnswers { + public static final int VERSION = 1; + private static final int SALT = 0x4A17; + private static final List ANSWERS = List.of( + new Answer("anvil", id("anvil")), + new Answer("apple", id("apple")), + new Answer("arrow", id("arrow")), + new Answer("bread", id("bread")), + new Answer("brick", id("brick")), + new Answer("chain", id("chain")), + new Answer("chest", id("chest")), + new Answer("clock", id("clock")), + new Answer("cocoa", id("cocoa")), + new Answer("flint", id("flint")), + new Answer("glass", id("glass")), + new Answer("melon", id("melon")), + new Answer("paper", id("paper")), + new Answer("poppy", id("poppy")), + new Answer("sculk", id("sculk")), + new Answer("stone", id("stone")), + new Answer("stick", id("stick")), + new Answer("sugar", id("sugar")), + new Answer("torch", id("torch")), + new Answer("vault", id("vault")), + new Answer("wheat", id("wheat")), + new Answer("allay", id("allay_spawn_egg")), + new Answer("blaze", id("blaze_spawn_egg")), + new Answer("camel", id("camel_spawn_egg")), + new Answer("drown", id("drowned_spawn_egg")), + new Answer("ghast", id("ghast_spawn_egg")), + new Answer("horse", id("horse_spawn_egg")), + new Answer("llama", id("llama_spawn_egg")), + new Answer("panda", id("panda_spawn_egg")), + new Answer("sheep", id("sheep_spawn_egg")), + new Answer("slime", id("slime_spawn_egg")), + new Answer("squid", id("squid_spawn_egg")), + new Answer("stray", id("stray_spawn_egg")), + new Answer("witch", id("witch_spawn_egg")), + new Answer("lever", id("lever")), + new Answer("sword", id("iron_sword")), + new Answer("cheep", antarchy("cheep_spawn_egg")), + new Answer("jerry", antarchy("jerry_spawn_egg")), + new Answer("lucid", antarchy("lucid_spawn_egg")), + new Answer("queen", antarchy("queen_spawn_egg")), + new Answer("ichor", antarchy("ichor")), + new Answer("lotus", antarchy("lotus")), + new Answer("mucus", antarchy("mucus")), + new Answer("peach", antarchy("peach")) + ); + + private BlockleAnswers() { + } + + public static Answer answerForDay(long day) { + int index = (int) Math.floorMod(day + SALT, ANSWERS.size()); + return ANSWERS.get(index); + } + + public static int size() { + return ANSWERS.size(); + } + + public record Answer(String word, ResourceLocation itemId) { + } + + private static ResourceLocation id(String path) { + return ResourceLocation.withDefaultNamespace(path); + } + + private static ResourceLocation antarchy(String path) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, path); + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleDictionary.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleDictionary.java new file mode 100644 index 00000000..bfc6af07 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleDictionary.java @@ -0,0 +1,38 @@ +package com.craisinlord.antarchy.content.computer.blockle; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; + +public final class BlockleDictionary { + private static final String[] CHUNKS = { + "rossa,jetty,wizzo,cuppa,cohoe,gurks,squad,beisa,shrug,fossa,fluyt,camus,speed,mamil,array,polio,barns,panes,souts,limas,fetch,queck,twink,graze,crock,almud,oohed,colog,wisht,beard,samel,ahind,brung,barca,mahal,jambe,plush,bruja,howre,middy,kabab,zeals,mazel,sputa,goory,pails,scogs,snool,poboy,doest,orixa,quipo,burbs,goads,blaud,flocs,harim,mamey,primp,lathy,lunes,staps,salad,agony,gusli,damps,tocks,hoick,marry,amply,glisk,pulis,apter,shell,capas,saunf,kutis,teggs,halsh,gamma,tardy,tease,towts,abuts,allee,chins,rolly,situs,bards,phyma,torrs,chace,bikky,stoor,quink,wedgy,vises,swore,upsee,gyves,heapy,gilas,gairs,yonic,wagon,rance,swail,laxed,panne,tabus,anomy,swarm,sword,pharm,penes,snoek,razet,nahal,kapus,lokey,gobos,jails,afars,nerka,cundy,snark,intra,bundh,tanga,baaed,solus,senor,umami,wared,sharp,pewed,tuktu,knowd,dawds,flurr,inert,taxus,ruana,sulci,jaded,othyl,redig,manky,ovism,matlo,cease,perae,sixes,pubco,yappy,famed,hexed,bawrs,decry,iddah,dixit,cased,rupia,toidy,hodad,yukes,gaffe,annoy,leugh,howay,pixel,linga,bayou,lurgy,lears,scrat,prize,homes,scroo,egest,mopus,verbs,maple,barfs,judge,salle,shine,zineb,flexo,gismo,rears,khads,begum,glade,imams,strad,venae,skene,moten,rugby,goels,khazi,belit,smolt,morin,ofays,sural,janny,short,swish,haets,owned,musky,gimps,nodes,lefty,furca,exome,dribs,gouks,smews,munts,chiro,learn,mocus,slime,mokis,nevis,arcus,prigs,rente,yfere,hiker,crame,irked,naira,stire,nagas,peisy,miser,vivda,dolie,weave,umbel,barmy,louns,didos,viold,fowth,guqin,kayos,finca,taths,eliad,dorts,cooey,dicty,bobak,lowse,tuile,laked,tarts,reefy,agama,thing,shore,nicks,nunny,akoya,snaws,writs,doubt,alive,beaut,ibrik,hemps,towed,crout,mogul,halid,pecky,eched,musit,couth,acron,dynes,gothy,bundy,seeps,deeps,plene,kukus,petre,putto,darls,warps,shoji,emoji,hiked,omits,rainy,fills,zines,bores,algor,oliva,midge,vizor,hafta,mulla,paled,kneed,fibre,ptish,redan,exode,zorro,droll,niece,segno,sceat,tunes,mompe,radon,akkas,jowly,gandy,medii,knelt,evoke,lowts,teaks,bucko,groks,leafy,meses,synes,laths,zedas,blank,japed,voled,toxic,reach,nazzy,pubsy,pedro,cucks,baith,magas,gompa,bilby,popes,hents,auras,giddy,tacos,onned,bowed,tsars,slogs,grind,morel,asada,weeke,winna,amman,sabji,runts,slops,tread,loofa,fever,glove,trist,creps,pheon,beres,corso,sofar,reeze,pisos,lames,treck,boabs,apply,grata,daals,soyas,amour,gerne,dudes,nifle,again,slurp,ulnar,ettin,noles,gobar,bohos,kawas,radgy,coati,scail,helot,motel,tides,coven,jasey,flown,urubu,kiddo,nrtya,pinna,curbs,botas,cycle,yugas,ugali,opter,laver,ousts,ootid,easel,lewis,renos,paned,cunit,muils,jehus,ebike,cotch,upper,theor,unais,idiot,manes,sawer,gazoo,edged,pikey,meech,adyts,boite,ixias,alios,padle,lotah,ragas,pudus,meare,graip,quack,noise,livre,pheme,chest,lined,azlon,waves,achoo,valve,mawks,hydro,muxed,etude,smith,mends,pisco,cilia,algos,nenes,karma,neant,visie,volar,burro,doeth,ecrus,dekes,seepy,facts,pours,gambo,mensa,swept,oafos,shock,roams,potts,piker,tings,fount,daunt,battu,licit,cider,fords,palms,wheep,copes,whelm,usnea,staid,dosai,patka,gamas,drome,licks,aldea,snowy,quods,waker,syphs,stumm,chore,silts,topee,zeins,likin,topic,waved,worse,anear,rayah,clipe,teloi,thesp,dusts,pooch,lunts,vinny,purda,zonda,widen,jonty,mosed,hussy,escar,appay,tonic,tavah,budos,cures,retia,maile,undee,quois,vangs,kytes,rends,taiga,abets,licht,potae,funks,repas,sicht,mobes,ceorl,torte,snarl,might,genas,washy,etats,boink,perog,coden,crown,moity,helos,murky,gaitt,dance,grail,deads,mivvy,fugio,ursid,burin,mimsy,lotus,frons,durst,devis,parae,mands,sarin,ethic,whirs,bribe,rorty,nymph,billy,gighe,kalif,breds,cutey,mincy,modoc,allin,yeses,dwalm,balms,yucca,cyder,loped,kagus,smeek,ylems,peags,comps,nobly,cocoa,pedon,hithe,etrog,dumps,magic,bendy,seely,spawn,oxids,hakus,grads,abacs,focus,hides,hayed,stony,slims,tonka,ident,tansu,whirr,glike,votes,sigri,cades,layed,snail,fykes,ousia,nevus,wings,toile,junta,chair,regia,lavvy,fatty,bippy,hoody,bunco,zupan,spend,phubs,sluse,dwine,piety,pyrus,mogue,glows,kutch,ngana,piton,spalt,qipao,pakka,redly,furzy,arhat,fumer,addin,cardy,zooea,clegs,dhals,deshi,meany,lenos,cines,sneap,busti,belts,weans,globe,decad,tinks,bally,yokes,onsen,lover,iddat,terry,pogey,planh,lotte,clies,femes,deedy,acnes,rubli,lolos,rapes,manse,wiped,sabha,gamer,afear,adraw,outta,slaps,tarka,goyle,tomia,misdo,sayee,popsy,watch,riped,baths,tails,dinna,conin,bunya,skool,khors,hulks,lacet,lazes,seams,slyly,joins,doats,proke,kingy,ranny,raker,swoun,gular,sedum,opera,perns,redia,tekke,appel,waist,bolds,steer,podgy,humfs,stagy,opgaf,skeos,swerf,rhyta,pians,ulans,diver,penny,nanua,onlap,loyal,bohea,lirks,senti,pleon,daman,syned,mools,baked,rungs,brace,melba,sotto,dealt,bikes,fecit,flyer,sidhe,rengs,alkyd,veney,strag,apode,aigas,torts,sooth,stean,algin,gummy,nduja,ratan,durum,acies,unios,punts,filos,blype,molal,tiara,ratal,lowen,dawts,iddut,indew,surfs,brims,abaci,troke,mimed,rosha,elate,tilak,cycas,ornis,jives,mercy,dimes,cries,affix,ought,ansas,besti,romer,gisms,which,logon,weels,lefts,grove,hunky,peter,sorex,onely,hinny,folie,brose,gadjo,waste,clash,baloi,fiats,laigh,sills,hocus,pensy,oulks,druid,tiddy,filar,oxmen,spume,barms,herby,spazz,snits,sings,turds,stive,sesey,reiks,botew,macas,cloak,locum,pards,fovea,grots,yeesh,waler,nuddy,wudus,beare,caved,unsay,tecum,mythi,luces,ronne,gelds,fieri,hyena,dunno,sculp,brock,nitto,geeks,tirrs,dores,ering,limpa,metic,abers,begun,gimpy,posca,stoln,tuple,ramus,mahem,expos,hence,anted,fubsy,quibs,chimo,ferns,fosse,scowl,avers,hurry,gyred,mesem,grand,fauts,adapt,tapus,ruach,jeune,glume,fiqhs,hundo,cough,seism,ninja,cross,suete,lotas,bonds,jugum,brays,oldly,bangs,gunge,dense,imido,elops,gundi,rolls,tayra,nabby,hypha,ribas,tarzy,wazoo,styes,rayas,mayst,skier,slump,riles,mudar,powan,seirs,rares,fanal,abura,yabba,aguti,heaty,pirls,toned,units,nival,powny,rybat,poult,rawks,meums,sober,boers,ghast,grapy,moton,acker,rohes,pilch,snarf,wexes,aspic,tassa,hiois,cloys,ratio,siped,amice,patia,gawky,craws,bunas,kuzus,detag,teaed,orped,smerk,gyron,hasks,netts,niffs,hoped,bokos,risen,zanze,gripy,hecht,duple,crate,mahrs,colas,solar,edema,tulsi,couch,hasta,eques,doper,lokes,flout,frize,thewy,tzars,blows,scrip,arced,sixty,izars,biome,kikes,verst,trifa,gyppo,onium,sowfs,croft,tanhs,canso,labra,bords,lilos,stich,hangi,arars,hules,bocca,bidis,weeps,nevel,camis,irate,rasam,barby,camps,nomos,adieu,furze,assot,hamed,sprit,mingi,elbow,kriol,fawns,gurry,rudds,noels,sears,skyey,seter,shoud,entre,inkle,canty,jello,conex,ioras,onery,brios,tsuba,kotos,anile,queyu,redon,wrick,veins,blite,bares,jived,amber,napes,ewest,thorn,matra,lethe,makes,azyme,caxon,raird,unket,unagi,dexie,chose,alick,roopy,buchu,loran,pulps,pasag,oints,rites,kivas,farce,gares,ranns,aygre,topos,samen,indie,rarer,alkyl,suras,commo,lynes,warby,abbes,tases,nobby,ilial,scats,pauls,bergs,brond,aerie,dross,cutin,peare,barge,pogos,scrap,ninny,stela,fides,calla,pyxed,lough,scrag,panni,shrub,aimer,skyed,tries,soily,hijab,cuber,guans,supra,rhies,kecks,spado,smelt,wheat,siris,apsos,fleur,pight,fyces,spurs,pelfs,anent,knive,tawse,advew,crool,dwang,crank,scalp,pince,fraps,opine,natya,fired,chela,yarta,sower,avast,swots,lobos,board,foehn,citer,ovolo,saros,tawai,speer,relay,retry,spane,felix,simps,gavot,meint,vizir,faxes,spite,bates,modge,track,afros,resay,daubs,imaum,hilar,peril,calps,wavey,goave,benni,pobby,patte,heils,amort,sight,roads,bider,leech,sippy,futon,owrie,regie,gamin,grimy,polys,jiffy,wadge,climb,chief,playa,miltz,selle,bialy,zinke,could,gobis,roady,pimps,genin,pecke,ardeb,xylan,piley,comer,bimbo,cared,husks,sirup,bidet,drape,flail,exeat,borak,zilla,pells,grith,lanky,gynae,byssi,incus,socks,vaper,fohns,punny,telos,hapas,their,runny,zonal,class,cymol,squab,pygmy,nonet,choko,nudie,volve,viffs,gowfs,chuff,loper,parer,bings,pogue,known,sooms,nunus,kedge,cutes,gazed,steam,zoris,ulnae,nicer,vives,poggy,kiter,cowps,ponzu,ephod,windy,testa,envoi,jerid,gloze,estop,coals,runed,plups,click,wraps,wiggy,radge,chout,altar,debur,swoop,setal,scent,pearl,hakea,omdda,wyles,flung,kerbs,nonis,benes,matsu,flisk,swaps,derny,slunk,yacka,twirp,virus,mecha,frena,donny,gears,ulpan,riems,prana,retip,speck,whang,boron,quell,snips,fonts,kangs,rafik,awarn,pukes,elpee,skuas,banes,flack,blash,eager,ariel,skers,pious,unman,bindi,baels,horns,lexes,kyang,voces,fruit,iotas,serrs,borks,nandu,tenth,quoif,toyos,merls,campo,smogs,drama,outdo,fanga,woods,yarco,snaky,fader,fends,soger,oxers,beedi,usage,lends,stews,prawn,tauld,blurs,yirth,kiosk,greps,spack,paoli,raids,musar,gloam,noria,sulus,elain,ankle,biffo,scuft,nurds,haulm,ayahs,begin,laxer,debut,rasps,cardi,tozes,sonsy,accoy,loser,shive,werfs,artly,kynds,heals,rince,arpen,saber,talcy,slang,mecum,apert,flies,skins,lozen,revel,poopa,butut,idola,khoum,kipas,sensa,poles,domic,yorks,towsy,enzym,musth,uhlan,crime,gulls,hammy,yrneh,ovule,abode,wifes,zamak,payed,ferny,chefs,embox,gloms,orate,mrads,tufty,blawn,loued,owari,liana,lacka,fuses,jenny,grege,scuta,gents,unlet,seaze,rabis,fuzes,kaika,banya,refed,ankhs,wolly,riced,rouen,rimes,phony,boule,ninon,epoxy,islet,redry,bosks,gadge,biffy,shire,defog,kurta,kandy,gogos,waift,coves,cions,takky,shiai,pavid,taker,exits,rolfs,ourey,glugs,poesy,urate,wexed,fonio,crems,nitro,bubba,blind,dempt,dowly,drove,snift,acres,pasch,woads,aband,caulk,taxer,marsh,cavas,foamy,murex,spins,gomer,telex,krona,apron,pacey,scamp,dawks,maces,roily,herds,omdah,clogs,roneo,uncus,abash,laura,kawau,laldy,dault,rosco,centu,metho,lymph,donsy,parte,never,outre,calfs,acros,malam,wrath,togue,wools,organ,walla,merge,fizzy,hevel,nawal,uraos,tossy,ivory,soddy,finis,spule,gooks,todos,phots,blobs,nancy,flans,rayle,tinas,kanzu,pross,peeky,mizen,nills,vomit,ingle,taper,basks,delos,pipit,coqui,vitex,nikau,skiey,betid,whelk,pinds,skank,deash,kaies,chevy,sirra,cupel,muvva,tamer,absit,mutha,piano,squid,marah,moups,volet,coram,faver,wooly,fifty,pombe,airer,spout,pussy,gimme,zoeal,frorn,phene,mulga,miaou,quasi,sokah,vests,doble,romal,mappy,obols,posed,ooses,stere,decan,fauna,nates,payee,jasps,doily,peent,gibli,nasal,orgic,towie,roaky,surra,study,kanes,brere,fikes,untax,becks,fleam,torta,fluty,buteo,pecia,goold,nurse,rebab,vouch,mimer,allyl,house,idols,fells,wombs,cysts,osetr,lurch,coude,narks,pargo,spick,gungy,ixtle,jawns,lolls,limbs,thagi,clued,nouls,milos,goats,mailo,thins,porge,mukti,ajwan,norks,gulph,grabs,okehs,avyze,delly,heuch,baron,phare,wires,rakis,celts,coder,pitch,doree,temed,parra,waken,suing,cirri,bulbs,jokol,melts,metro,iroko,ashen,gawps,pavon,prees,piezo,loden,acorn,ohone,bemix,soils,guffs,mandy,chuse,sneak,googs,quaws,skeev,noncy,shart,jibed,rumpo,quina,bourd,minse,watap,shook,ewers,newbs,ghoul,horsy,edger,klang,raffy,spore,moror,veeps,mamma,shoyu,obese,stash,karai,iambi,shiny,danse,korai,sdein,favor,deres,lotsa,ouped,khana,brees,crude,wasts,nomes,degas,woold,eiked,hajes,snowk,bitts,criss,gonof,hajis,apayd,prost,rauns,cuter,rived,tusky,veggo,lexis,fling,naunt,woven,hippo,pelts,uredo,brith,eilds,bhava,loids,turnt,fluor,lyard,belon,sahab,smite,yacca,palls,shets,preve,dilli,vairy,cowan,lithe,field,klick,fayre,snabs,papaw,goaft,missy,spaza,sissy,cloam,wilis,abris,sayas,blonx,wrast,knaur,sadly,fasti,discs,turns,qursh,baize,buret,puffs,albee,redes,boats,bubbe,stewy,couta,sunns,raiks,dojos,swopt,dream,yuzus,ratel,ferer,gnats,imbos,roops,selfs,salas,skegg,phasm,cuifs,juste,gifts,siler,easle,salto,tendu,vleis,quids,rando,gudes,mesel,wigan,manto,nioza,dairy,quais,spirt,siles,kreep,picks,boeps,peins,tears,tuart,akoia,zowie,maven,howso,budas,daily,tamis,yakka,groin,vexed,tegus,makai,title,sefer,lumpy,daker,snake,afrit,zigan,stipa,anana,vocab,naved,froyo,pilar,admit,bowie,idiom,drawl,burls,lance,cruse,seats,kelps,blaer,chive,neume,thuja,muggs,nason,snags,toras,bitty,redid,relet,skirl,bevue,bocci,dench,seedy,eyots,velar,pikes,neefs,cuing,recep,plats,yarer,porks,rudes,savor,guars,hazel,chizz,geist,rotis,basta,untag,needy,picky,raxes,moran,yamen,paren,goves,echos,homos,texts,pegos,reens,nelia,dbags,augen,eorls,hinge,chirp,allot,tubar,ouzel,dales,murgi,kidge,mizzy,tepoy,marae,hoofs,tophi,phase,cacky,lichi,shyer,bihon,filon,eagle,twank,trior,elute,pelog,relax,darts,fraus,deere,turbo,fains,moers,feeze,croci,steal,modem,genio,drily,today,rebuy,grows,tangy,quonk,disme,taata,bwana,snipy,fusts,glues,tiers,herps,immit,benny,anoas,doors,apgar,bourn,ebank,hallo,hulls,fendy,queek,hoops,haute,sward,peage,sheva,ketas,rumes,agers,meads,aspie,mimeo,tunds,hoise,mease,pridy,boral,stedd,areal,dowed,mutes,mylar,slosh,idled,spugs,azury,puddy,kaing,twiny,krewe,freon,mangs,crass,orris,tokos,clefs,oggin,bhoot,hynde,verra,igloo,qajaq,betas,lises,pappy,focal,picas,soles,ainga,ouzos,hoach,adawn,glugg,basha,narky,linny,shaya,trayf,moped,eases,laird,beady,juris,agism,means,vogie,cedes,bunko,naric,peart,query,leare,carby,indol,debye,byked,laarf,kofta,kapas,olios,roufs,louie,plews,spawl,darzi,quoll,celeb,convo,store,skarn,veges,shade,nabes,pirre,bluey,break,ryper,faery,hoods,amies,heats,umbre,quiet,gleed,wanks,gurls,nikah,tazze,korun,towze,blams,falls,wairs,wilga,kwela,aapas,navvy,sapor,rotan,saker,leger,xeric,cyano,garre,tomes,judgy,nains,timon,bevan,duals,urged,azole,doxes,flabs,favas,viver,larga,manus,touze,stars,knobs,yowie,jibes,avion,froze,tenes,nexus,obole,coomy,looks,waltz,smoke,dregs,ledge,kayle,coups,chart,lytes,madam,kalas,benty,rafts,vinca,wiles,bilbo,chark,ceder,tents,virgo,bisks,mines,buhls,mavis,yolky,keaki,sirih,fiefs,dikes,dunce,meves,ketes,hefty,zooey,crits,wived,bogle,cawks,chavs,duomi,tewel,mesyl,balmy,hyleg,acari,feats,meake,ignis,gongs,karts,dents,haffs,sakes,horny,adrad,rebud,yayas,shier,unmew,plasm,loast,pucka,pivot,works,skees,paler,knish,nigga,madar,wakfs,ruche,todde,saury,rough,knops,aking,yills,cymae,brent,umpty,mells,marua,impro,howdy,woopy,aswim,brank,pinko,ginny,vowel,reems,eider,hyped,jeers,since,kacha,whios,naris,aurum,awake,fully,rathe,scops,arvee,wrong,rompy,swine,rames,gimel,mange,wifty,levin,chafe,wenny,queys,tokay,tardo,polar,pends,ashes,mopes,visne,lased,erose,colts,raper,diram,gyrus,jakie,vutty,capes,numen,extra,jowed,cosed,agars,pique,talar,bedad,mandi,unkut,dulls,sloot,bawls,sowne,pleno,rebit,strep,besot,boons,sewed,latah,repro,boohs,flaps,girrs,vesta,hyens,anyon,bodge,modom,yurts,exile,adret,noyed,dyads,longe,tride,trads,goffs,wheys,shojo,ayaya,risks,repot,dwaum,akara,quank,shale,kiefs,clock,nerks,calmy,bobac,pouty,jinne,antic,angel,whams,tater,spods,veery,heame,unmet,ephah,tonal,goner,pauas,ruvid,maist,erupt,amore,sicko,felly,jimpy,crome,sises,honey,vacay,rents,fenks,hosey,puffy,askar,patee,downy,aphid,donko,vampy,rains,craps,amahs,crave,bossa,accha,deely,hoons,rizas,prads,crows,casus,grego,kufis,defis,plebs,bayts,fogou,bloom,tiars,agons,hovel,roker,codex,yajna,kinos,tiyin,salse,reorg,stows,sposh,ender,rheme,tirls,fidge,kicks,hapax,frier,barny,blurt,foram,cowls,korma,spark,edges,neums,tewit,capax,huias,terts,piney,padam,miais,donor,brick,plaza,pulao,guard,kinda,squat,yesks,ecard,frits,soman,asway,majas,pupas,zaman,duroy,civie,seton,amene,stymy,subas,awari,axone,gabby,flary,twals,squiz,duads,soupy,dunsh,ploot", + "puttu,anlas,torch,homed,serow,blogs,agist,tanka,prima,vobla,flosh,tamas,raver,vegas,roves,ommel,godet,sujee,cerne,halon,axils,eaten,dorms,chiva,sonne,kings,royst,album,groof,buddy,dinic,erhus,quoit,vitta,coxib,tithi,bemad,gouts,chiru,wodgy,gucks,ricin,liman,owner,spoil,trews,gawds,ownio,grams,vaxes,trigs,leets,queme,laxly,dhoni,sider,tabls,spuer,cored,merit,whews,treif,elfed,corgi,newsy,idyls,prays,wight,garri,chado,nonno,glazy,tenge,paves,plink,naffs,nonas,pipid,maiks,smees,sudds,plump,cered,moons,tarse,bewet,abaca,saved,scrab,byded,malic,sadhu,karos,trans,pokie,douce,elegy,conto,obeys,nilas,merry,fixer,escot,poise,soyuz,raise,pashm,rorts,bongo,atuas,asker,azuki,falsy,cubeb,aquas,wolfs,annul,luged,smugs,draft,lited,pichi,weils,grate,whins,sieve,boked,pollo,blunk,esker,eyres,padas,ileac,lawny,cymas,gutsy,bombs,zawns,crier,acers,guppy,lusty,dated,ranke,rusty,omdeh,tamal,remap,wersh,torcs,proas,dholl,enarm,loled,whear,cunei,coset,rafty,javel,fifes,grice,apish,idant,locie,hillo,slaws,cents,plain,volta,gundy,rines,keros,condo,asana,spink,psion,yawns,coyer,thews,carls,odyle,chals,darks,fates,pongs,hoyed,halal,sorgo,icons,bafta,blate,pares,rowel,helps,vakas,thali,llano,wamus,dozes,moble,myxos,yearn,ragga,lilty,unpay,niger,slank,bifid,gaums,laces,bekah,fient,nowds,vitro,shyly,helve,murrs,firry,mairs,lindy,tutti,karee,mobos,labis,pluke,insee,basin,winch,about,tizes,genes,probe,umiac,spaer,moots,sewen,grued,shist,perks,tolus,afire,pomas,mapou,gulag,ariki,jupes,false,nelly,gites,burry,sends,canes,bever,knawe,wonga,limen,pungo,staig,twerk,thumb,resid,copay,strew,oomph,saggy,kaids,ruers,naves,virls,sever,pupus,ettle,tipup,ollas,wally,bully,swang,doser,urent,pocan,spile,occur,risus,makaf,sabot,yamun,matai,durzi,vouge,macka,grrrl,avels,sorts,glide,menes,crane,azine,nosed,xoana,uteri,obeli,trots,simba,wirer,party,potai,reges,gombo,grume,hawed,wagyu,upbow,mares,nused,synod,hemic,twerp,tryma,teeny,uveal,crept,hyphy,perst,lords,began,thrum,nocks,ornee,krais,iglus,sloes,apols,cyclo,backy,richt,moist,droid,stand,bonie,fetus,teras,blare,napoo,diced,malts,shend,boars,charm,mayos,suets,antsy,breve,pinas,sprug,recit,halts,dater,mogos,afoam,ploce,inula,setae,raddy,lawns,genip,xrays,raked,maxim,reeaf,swale,wills,midis,scire,stonn,kinks,zeros,vatas,dogie,serry,pepsi,viand,acene,aloft,beals,kaneh,yirks,piled,bajra,lesos,renin,bonus,wauff,crink,lyses,knack,recon,canns,devel,spayd,throb,gaper,arise,moder,bluid,berko,agile,kamas,assai,slits,matte,spads,stool,ashet,uraei,pulls,firms,moule,rober,bydes,modii,ealed,tache,bebop,swapt,guava,curly,solon,argue,covet,skoal,mosso,haded,shorl,doups,hives,bulls,truce,katal,thugs,arles,drown,skags,babel,revet,novel,alays,codas,rache,punji,douks,potsy,diols,amnic,evict,bauds,hosta,dowie,wizen,micks,showy,zoeae,toxin,noded,bleat,kiaat,toyed,azurn,pupae,grees,oopak,yahoo,wists,ovoli,pines,foams,neves,puris,serve,lovie,ysame,womas,relos,sepia,trade,butes,micra,weise,recut,riser,mbari,dower,sakai,octas,danny,divot,cooly,scapi,salsa,exuls,scudi,leges,visit,farle,crest,faced,bukes,mouth,basse,basts,alkin,mausy,forks,dosha,reely,junks,cubed,plots,drent,curfs,goban,snide,taros,funts,niffy,vairs,noggy,toges,lever,egers,rokos,inrun,platy,antre,sabal,cocco,pouce,fugis,ranes,obang,thrip,thoft,baste,stats,momes,ocote,gloop,admin,oozle,slips,boord,hilus,smarm,aloha,natak,knubs,avert,dowak,bruck,bison,onkus,libor,gives,hardy,greet,craft,narra,tetri,ample,awave,thane,hales,acara,braks,mowra,lassy,kerma,shlep,words,raths,paans,aftos,along,fresh,negro,nuked,gated,manis,exons,poeps,joual,milko,azide,poake,mises,culet,pized,dykon,crunk,whose,bogus,moved,gyppy,oscar,lisps,danda,misch,ngwee,ryoti,swayl,snoke,awork,sopra,alley,kideo,crema,spaed,mired,idees,cuffs,baned,styre,poire,lacky,akita,clime,curst,wades,savvy,musks,stell,satis,wussy,zings,ernes,cluck,susus,beach,saola,rifte,tabun,crons,infer,sypes,build,unfed,pomps,mohur,hoser,autos,unset,neath,macte,whist,acrid,ecads,mamba,chocs,smush,cytes,thanx,rings,vinos,woful,awash,bayer,boody,alans,birzz,campy,retch,motus,taish,scots,panim,ethyl,knurs,coots,dacks,munge,ungag,eland,equip,elite,unlay,nonyl,rouky,varve,milts,soare,gecko,filly,jills,sakti,scrob,trope,seral,atocs,sarvo,nonic,masse,picra,dhaba,sensi,fiber,darns,bouge,rayls,tints,phuts,choil,vivre,osone,kemps,holds,bends,datil,hoten,slums,amrit,gouge,pikis,eensy,clans,dough,scads,blame,ghyll,bliss,tumps,budes,senza,gyres,verte,fluff,dhaks,huzzy,omber,piony,leams,amove,unbar,porus,ooaas,janty,leear,trull,droil,nitta,savey,qaids,caphs,brawn,wokka,mumph,ratas,hexer,lucid,oobit,pleat,holks,youks,dashi,leaps,kills,skein,shoat,hurra,juves,strow,shalt,lollo,duxes,chias,tined,plead,pricy,vanes,hazes,remen,rushy,abyss,vares,gally,dizen,wedge,kanga,haham,nuque,spurn,until,laree,midst,naker,mened,karsy,masks,pucer,goors,knoop,ticky,sargo,split,skeen,stood,togae,slush,prise,eales,eater,glaur,prexy,raffs,wekas,snout,court,ileus,palsy,sevir,rynds,ducal,ovels,juice,plets,woofy,panty,talak,vinas,bapus,weber,olein,gamed,tolan,cadee,houff,bizes,hoove,dared,poufs,kudus,urial,hikoi,soave,fices,ramie,tammy,raree,igapo,setts,tarsi,muled,chimb,emmas,acute,umrah,yield,mirex,grift,yabas,kiley,reran,festy,pinga,seare,melam,undue,signa,limbi,persp,cramp,mikos,veers,mooli,sacks,sturt,chunk,plaas,stoke,lowly,turps,congo,poled,chaya,yeads,gucky,tacit,borde,alula,negri,deers,tucks,elemi,aways,beths,ofuro,dahls,morra,abear,slays,pongy,purpy,dobla,bleak,gebur,oojah,pandy,unold,wheen,glees,ensew,herye,nodum,floor,volti,bedew,aulas,abate,sorns,pelta,naams,dooms,izard,clung,gorsy,tagua,lurve,hejra,mpret,appam,dures,emyds,lemur,haafs,gaita,sowse,gamut,sloth,lower,azoth,terra,holts,tabor,shams,highs,spied,ragis,brogs,liger,welch,oxbow,treat,bagie,oslin,rutin,pirog,husos,plans,celli,hinky,modin,siker,lader,rajas,taroc,debel,glads,sacra,azure,paddy,refel,sanad,crein,bizzo,drool,lubra,spans,gutta,whiny,joram,afara,jivey,dowel,pizza,goomy,manta,qubit,tided,fiest,ollav,slink,whizz,hadst,corse,aloos,coted,tamin,avise,ctene,sides,stowp,waits,goved,downs,rikwa,decim,peepy,rozet,dyked,aport,therm,botel,whity,cache,scrod,raped,poori,braai,helio,flank,arter,santo,lipos,lapas,bossy,osmol,sumis,turms,corno,bibbs,thrid,spahi,cause,taiko,allay,timbo,knead,pyxie,terza,noops,murls,pilau,shahs,recce,prems,gable,trout,glode,litas,skugs,fagot,cesti,ninta,aurae,wurst,pooed,yelts,divas,moody,ticks,ulnad,boldo,pervs,dishy,corda,racks,baddy,prest,kylix,zowee,cueca,imino,drays,moron,quins,damns,bloat,jebel,jeton,pukus,lying,latke,wasps,snugs,hards,hobos,dight,lairs,eards,ngapi,stele,bivvy,smits,akene,epees,begot,curdy,kibbi,bolix,machs,spots,scurs,bower,peris,otaku,ahead,amari,donga,gager,riots,dited,flote,dants,spree,hogen,phlox,roted,coyly,meaty,hudud,lowns,hived,cukes,fidus,sease,yakow,manny,tatie,jewel,moral,reest,goafs,axile,ploys,cacao,sunks,thuya,newie,nasho,trite,smily,leuds,brill,omnes,bodoh,sloid,jaaps,spier,creds,skios,toper,tubae,globs,hevea,fedai,oread,tophs,karoo,abius,nerfs,emirs,pocky,moyls,chars,allod,bravo,paper,loppy,poupt,blade,agape,dingy,mirin,hefts,royne,groms,mante,czars,yeahs,comal,eathe,galvo,nexts,heron,favus,tombs,brogh,sulfo,mothy,roved,jetes,rudie,azoic,dalek,hoord,sunts,creek,ongon,totem,walis,holms,datto,slake,ataxy,aimag,yokeg,ajuga,magna,firns,heths,noias,arils,cooed,mawky,lemma,jisms,swink,renga,babes,hylas,griff,lutes,tummy,speug,crabs,lappy,brust,occam,erode,filmi,chaat,burgh,hoaed,barky,yucas,miasm,ragus,kebab,swees,loirs,latte,jihad,glair,scall,nukes,lumps,croon,acing,blets,carny,yoppo,mudra,yells,jocos,cajon,cecal,salps,mozed,foyer,first,symar,kukri,kendo,drock,fella,longs,toffy,laser,derby,sneer,zinky,abrin,namma,wilts,facta,balas,tuner,maneb,zamac,zooty,nuses,drams,jomon,avgas,metta,ohelo,jacky,henry,bowrs,thymi,pshaw,pungs,vrows,seamy,filii,color,schul,amoks,summa,sluts,trats,garbe,nomoi,nouja,clits,droke,trues,mados,ortho,zendo,oonts,wocks,royet,india,swire,mapau,lemon,axite,chyle,dopey,pissy,doted,jujus,nowts,nivas,waged,quirk,stogy,easer,solan,limby,ablow,kombu,carat,ditsy,sidas,gurge,leggy,forky,bides,quila,machi,oleum,elvan,crore,crazy,saags,rases,scifi,goest,execs,peaks,bruts,wanze,doris,orang,fawny,myopy,jambs,putos,chons,draco,bowls,avoid,filed,lowed,qualy,mbars,takes,muffy,skols,petty,yates,nuffs,drier,snees,bhais,chirr,lauch,sugan,meith,spike,poind,coact,qorma,aghas,nohow,mafts,boaks,seifs,riffy,mixup,volks,iodin,rerig,bezil,hayer,sumos,habus,curls,botte,blood,mobby,louts,odors,swizz,dados,borna,snibs,attic,hocks,salic,fugly,curli,rythe,looms,shags,acyls,wrens,preke,swede,objet,bijou,ohmic,bosun,prism,cribo,robur,stick,noble,polje,infix,wanky,lests,bacha,cadet,bicep,stria,honer,stoae,cruet,ribby,swobs,stiff,fence,prime,fitte,snubs,goops,maths,basij,pumps,chapt,esnes,bhang,isbas,hejab,acred,paven,bhels,polos,vezir,lidar,folks,lunks,snort,feese,choky,busky,caple,kikay,seils,viols,ymolt,flaws,doxie,fuzee,wisha,plack,ceros,oxeas,scams,theic,limey,taped,rafiq,seeks,teens,heids,imped,grigs,cozen,bardy,physa,funda,rasse,dadas,opsat,coved,coney,wrack,kayak,unity,ryiji,paste,crisp,abamp,gibed,cosie,kazis,dolma,shots,dowdy,sumph,terek,cyber,hooly,saned,neoza,abhor,aduki,pizes,boche,bails,model,voxes,abaft,thank,ripps,slued,pored,cromb,boors,retox,cooty,palps,nogal,womby,tuffs,swelt,keeks,sikes,kilim,noint,nasus,vexil,milpa,lapel,nifes,gnarl,knick,plaig,sanes,bolus,msasa,cakes,warks,chuck,nidus,snied,chums,kitul,fours,motey,girds,mvule,skoff,quash,effed,cushy,hexad,meres,trios,ardri,cooms,muser,copen,plonk,lingy,awato,neuks,mites,spent,cabob,niopo,ables,rotls,njirl,boyar,ikons,halos,toils,kipes,puces,thick,unhip,halma,durgy,ficos,bevel,takis,slues,teins,teiid,laide,nuder,fujis,daraf,turrs,geasa,bidri,lepta,genty,sugos,skink,crust,badly,crocs,tarty,bions,mourn,chawl,bodle,deign,pulut,braws,gabba,dreer,chord,prase,tempo,stans,goths,sidle,zoism,thrae,faded,yawps,toast,sybbe,kibbe,mocks,sorry,nrtta,larch,rarks,champ,kevil,tween,rifle,vaded,joked,hacky,minas,evets,golps,reedy,selfy,naive,flunk,spasm,brack,gulas,slaid,luffa,boson,rolag,mikes,fried,skeed,sorda,shope,evohe,mikan,cubby,euros,faute,broke,panko,baozi,felts,qilas,syrah,bolar,exalt,monks,toshy,zebec,macaw,whata,tweed,tharm,sooky,fiscs,eskar,moust,viced,piggy,troad,jazzy,lacis,gnars,tawer,choon,puton,winze,hails,wadds,delfs,mensh,zebub,goody,bahus,adlib,lurry,pibal,skelm,dript,peres,fillo,spide,arena,papal,yoofs,ouphe,crowd,ochry,pokes,confs,poset,adios,gists,rawin,stank,thebe,media,bhats,peise,decor,stopt,koppa,glogg,zakat,egret,amine,speel,oaken,noove,yukky,fecht,nyala,otter,axion,hends,waldo,zinco,elder,gaffs,paean,skats,denar,intel,enrol,gator,capon,folds,blest,panna,yojan,neigh,culty,zatis,xolos,gazon,lifts,jirds,shtar,aggag,talma,khats,fumes,poohy,kulas,dungs,weete,speos,dodgy,koura,meffs,noyes,sysop,jatos,bandh,dewed,beany,jalop,flews,antes,pesto,boyla,later,niche,mesia,vakil,aflaj,elogy,wreck,moria,chava,sleep,kites,nanty,temps,mutas,brigs,flock,femmy,poufy,arets,armil,bayle,forel,fleet,kelts,poach,forum,sughs,phial,makar,dural,sumps,slews,munis,wazir,gowks,sable,coral,joyed,balun,jammy,shuns,argle,lochs,herse,dwile,ixora,meins,puzel,gammy,allus,mauri,feist,unred,hubby,pinks,fubby,ergot,scatt,resam,doorn,torii,plues,novum,pinny,verse,zonks,etics,orfes,excel,trona,bland,frust,anole,ennog,foins,praty,splog,toddy,hymns,sowps,balus,lucky,spilt,tacts,comic,caese,unbag,lauds,gashy,vibey,laers,gnawn,pinta,mokus,opihi,rewin,melik,mokey,galia,bykes,oakum,arose,meted,skill,throe,baals,parts,biach,bouse,jings,jatha,myall,coupe,adead,paris,guess,alien,clean,klieg,poppy,praps,skelf,helms,ikats,minge,tenon,speir,biped,dorad,skews,atoke,migod,asper,taste,curch,jumar,riche,asked,xysti,tante,epics,caret,momma,letch,meous,scarf,enema,silos,spect,rhine,hotis,paysd,cesse,tangi,thale,crowl,doner,tegua,punky,derpy,kwirl,pugil,zoomy,ommin,feuar,jemmy,bough,ronte,braxy,gopak,bungs,alure,teddy,orant,denis,djins,nimby,chiks,taira,moyas,quayd,opery,width,vinic,loath,rased,ejido,loopy,crith,boggy,sizer,polis,dosas,codes,yonny,phage,depth,hijra,hazle,furry,spray,ingot,pyoid,umras,bobas,diene,koras,poena,munia,natto,lorel,sleet,janns,sowce,dormy,avian,hyrax,mails,beige,aiyee,milch,ramet,ammos,eloin,piing,sweer,apery,poete,putti,ennui,wifts,rills,sprag,raggy,clips,smize,roset,artal,sager,boles,knoll,plies,breme,lyted,oucht,awned,burks,repun,reata,palsa,momie,odals,cages,adunc,logia,sture,shall,picon,pouke,crash,shiur,barbe,blins,garis,udyog,houfs,ogres,gunny,adzes,burfi,thegn,nacre,sengi,posey,dingo,miaow,shtup,baggy,drice,deeds,heads,roosa,acock,brass,zeera,kants,zinos,sabir,dizzy,quean,atimy,loved,altho,roany,amigo,snies,atony,aloud,kogal,daces,scorp,korus,reman,spivs,muter,feely,trant,quoad,maggs,zingy,spets,covin,arias,cloth,gowan,gypos,urite,cutch,ergon,stour,orlon,steil,wacky,dowry,metre,typic,slung,omuls,ojime,calls,impel,trams,vulgo,shout,icing,whorl,pekid,sprat,cubit,claes,scull,sorer,paise,suent,garbo,molds,arbas,skeds,litem,sepal,voema,vells,sweep,cuish,sieth,baton,varna,etage,ither,vuggs,jodel,hoved,belah,bodes,gaunt,caird,yobby,hawms,kapow,stept,jinns,aunty,pudge,scape,alibi,butch,meals,pepon,palmy,lawsy,fabby,amole,forme,repps,arish,brake,glaik,flane,wifey,hypes,gleek,biris,nonny,poked,parve,ovate,hazed,zhuzh,ether,kidel,aleck,casky,pyric,akses,kibla,volae,mezes,takht,erica,vexes,rages,loses,gilts,murly,mania,ordie,grubs,kiasu,malar,bhuts,batik,tousy,specs,naily,netta,inner,laith,fundi,throw,plute,cubes,trone,knout,sculs,meteg,fakie,inset,koran,paisa,cruor,readd,shaul,fromm,boteh,quarl,flava,deoch,jehad,mollo,bazas,meril,naieo,angle,lamia,agood,iched,corns,lotos,ankus,sweir,snobs,swabs,vetch,quawk,flirt,trapo,enurn,outro,dears,craze,nomic,lubed,gouch,mvula,zebus,culls,tolts,warts,podos,dewax,peavy,keema,assed,emure,conne,aunts,durns,sulls,stroy,brujo,etuis,error,incut,tacho,toyer,mesto,sated,aides,handy,incle,fiend,sices,hyles,fands,costa,sowls,usurp,salat,geste,lomes,dolts,aging,ahold,darre,agila,swigs,armer,beton,senex,pzazz,ahole,cower,feral,bible,sunna,powre,fisho,softy,stylo,swarf,cogie,garde,thirl,ayins,super,madre,maran,yodhs,adept,dalis,crams,reink,haith,geyan,sinhs,tooms,lumbi,puker,haled,veena,turks,ahull,luter,argil,ergos,asses,pattu,howff,pacta,sitka,sheep,creed,fairy,droob,wries,tolas,frizz,mohar,aitus,hists,jolty,roleo,ditzy,poynt,scray,minke,bombo,macon,waxer,grave,rands,poulp,unkid,tasso,doddy,simas,cissy,primy,awkin,samek,dunks,sylis,cutis,rager,aedes,plays,scobe,unhat,geeps,level,oshac,opals,trail,yeast,linum,thete,gypsy,liang,laker,pance,bated,fouat,wooed,haros,vital,rinks,roers,zulus,mumps,noahs,covey,saics,safer,roost,flims,murks,salve,hooch,trabs,bambi,swiss,fazed,pudsy,odoom,avens,mitas,girlf,naifs,tikka,rojak,nighs,bulks,wines,pinky,rumal,afore,whats,goris,piuma,whigs,incas,paspy,girly,phynx,mundu,brosy,kents,runes,vraic,unban,balti,jocks,spars,moker,legno,haunt,ihram,hooha,titre,booay,rosal,basal,boyos,razer,maror,kokam,lense,tsked,duets,salpa,dryly,grats,mured,aches,assez,joint,tasty,wahey,irony,zoppo,plods,gooly,palki,budge,janky,thymy,pints,cyans,warbs,treyf,reses,phooh", + "built,mawrs,lagar,marid,grebo,spare,pieta,noxal,abase,kinky,priss,hacek,vicar,marka,temse,serir,blaze,ngaka,heeds,belar,qophs,noted,brews,hafts,ratti,firma,carbo,wrawl,adrip,mvuli,voici,fetor,recks,perne,dowls,mutic,fetts,wetly,exine,kauru,bubby,stope,haram,herry,dacha,saice,theow,awing,frugs,swoln,odium,parti,gaily,dwelt,money,laned,murry,skits,rowme,tatou,frere,ukase,dolci,rhomb,tynes,corer,nerdy,peats,fondu,okole,close,afoul,swole,scena,talaq,paces,senas,faiks,pneus,rubai,jibba,would,patly,fused,crena,doley,mesca,eches,serai,tinge,saran,glout,solei,tinny,noter,upful,venue,natch,panic,curia,yomps,diode,binks,stear,bring,pekau,peace,humps,ixnay,maunt,balot,cosec,purao,armed,liars,hifis,docks,wuxia,phooo,russe,gutty,urena,aidas,vials,posse,chaos,admen,pilum,gunks,wowed,inurn,trugo,skulk,tutee,wrier,pyxes,sonce,tsubo,floss,algid,allen,nolos,stoss,weamb,aspro,mucho,snebs,talcs,pekes,waxen,marls,clavi,titin,swing,uncut,entia,hwyls,vanga,sayne,based,knurr,raiah,pings,vegan,mound,menta,plowt,gaids,pipal,deets,caaed,sayed,hates,debes,masts,resus,unarm,chays,rowns,babus,lapse,alter,bruin,furol,loord,swits,majoe,faves,albas,lysis,shark,peach,vades,owlet,brods,lyams,rater,moves,mynas,arris,hiems,quags,roans,reamy,tanti,heady,pirns,casts,dress,enews,amido,kinin,adits,puffa,pucks,shuts,mural,mered,whens,gowls,darer,helix,mirly,womyn,raggs,wilja,monie,neram,nyams,slams,dirke,tehrs,skens,tavas,table,horal,oupas,navar,hippy,rawly,diets,surgy,lysol,seths,panny,arums,mulls,mazut,drony,virga,ratha,lunet,rowet,dancy,defat,splat,roger,nucha,plout,mungs,sloan,usque,sakia,guido,hissy,jigot,tyran,drapy,tight,puses,droop,pepla,deter,gleby,primo,haves,pinda,rieve,zabra,lieus,parky,fanum,yoyos,styte,faros,heald,gases,samas,scapa,teary,ginge,lossy,embed,genal,burps,fitly,mythy,purge,bauks,kwink,bawty,ferox,bazar,almah,hains,peaky,plops,noris,brink,kirns,sordo,boomy,dufus,nards,galea,corps,speil,deary,flyby,kerky,unlid,drums,undos,cools,conge,dodos,pavis,patas,pands,tipis,puree,statu,rotte,beads,evert,teals,vined,hamba,gopik,crans,wiled,weedy,pacha,parge,perdu,vaunt,pequi,piccy,leany,marly,whiff,neive,homie,rests,aware,riads,somas,lytta,dorps,idyll,mulsh,pence,vatus,zoril,semes,argot,drouk,linac,cloke,nimbi,anger,mojos,bozos,choof,avale,viewy,mazas,canon,abune,south,slobs,moler,ships,souls,boded,waspy,nowls,trice,nisse,teats,caned,biner,tronc,cutty,truss,diyas,merse,waffs,koala,agate,ezine,nudes,rigmo,evhoe,slick,wadas,olate,oleic,woons,typey,oncer,gumma,sweet,heavy,psych,khyal,cates,brens,socle,katis,frisk,withy,sauba,heyed,rosti,feuds,niced,kyles,rawns,gadje,jabot,crise,tacet,lines,esses,grope,swash,ngati,wised,garda,locks,gelid,horst,attas,sycon,telia,algal,frais,fango,yetis,marcs,addio,anils,bunce,wirra,gnarr,ludes,glary,coxed,beaky,ylids,added,patta,veles,curie,unces,ledum,sansa,adust,aurei,spitz,logie,unget,thema,yowls,coifs,surge,softa,gyoza,putas,blaes,blaws,celly,butte,stamp,grain,bursa,ligge,sagos,sheal,atrip,emeer,degus,stush,kynde,cured,pfftt,mills,minxy,tykes,atmos,suite,ramis,merks,coyau,twats,bussu,mooth,terfs,fests,enmew,nould,hoosh,nylon,alefs,pikas,zoons,busks,qapik,remou,cawed,pally,muntu,teugh,slimy,bassi,almes,outgo,batta,ranks,lanks,roguy,zippy,foids,welks,rowan,psias,yowes,allow,rants,faker,dells,rumbo,titir,combi,winds,rubby,deify,quena,crape,jokey,wootz,wites,koses,nizam,pratt,pukka,fixes,bobby,ruffs,magot,argal,ammas,scoog,aweel,gilia,payer,touns,rupee,marge,colle,pates,doles,rappe,lakhs,carve,grana,wytes,macks,nerve,mitry,crips,bewig,melic,andic,bands,mugil,quoin,pools,omiai,drips,eared,yippy,kexes,carol,lores,bises,obias,thurl,tajes,emmew,chiko,orbit,jimmy,vexer,begob,askos,liwaa,burgs,demob,imbed,lahal,chats,laves,cohos,jowar,nurdy,iodic,whoso,broth,soops,tried,crins,jaune,coarb,cocas,mugho,smoko,scaup,feart,skets,hebes,doums,korat,briki,soars,oaths,abeys,brome,appro,tarot,lymes,quich,amend,doers,duded,hushy,grogs,cleik,audit,kutai,skyre,milky,peens,cooze,rusks,meiko,boost,booze,jeans,neeps,kobos,dazes,bayes,spims,pegma,maddy,bwazi,xylic,agaty,rawdy,soree,dinge,assam,stoic,nyaff,rowed,ledes,polls,olive,strim,taras,piner,steno,seems,notum,cripe,stoai,nsima,buyer,gluey,poohs,hovea,jocky,kinas,fangs,yawed,tungs,ephas,povos,scram,camos,ympes,spacy,nucin,looed,ambit,stile,palay,roche,rices,diota,gatch,vasty,otium,flory,crues,petri,sycee,nippy,ludic,sayid,welke,links,uptie,clone,ploat,tiyns,humic,atopy,basan,boney,drill,oaten,mucro,seals,cavil,rimer,odyls,naked,maqam,kreng,sards,simis,geoid,butoh,aboma,oyers,sheas,laich,imine,ficus,ducky,mobey,eaves,warez,hiper,laund,punim,jouks,route,roods,wushu,mokos,ovens,ebons,paths,eidos,glute,abies,tiles,unsew,bidon,teams,muffs,reave,vigil,dutch,japes,spear,dules,caneh,lakin,arnut,fados,tonus,flied,serge,rives,scorn,orbat,aline,genre,hiant,quorl,cream,pebas,coala,prodd,lamps,wroth,shill,penal,spine,citee,milds,choir,bilat,betty,culpa,dilly,perfs,malik,kondo,surds,slice,ablet,omasa,hanch,vilde,fayne,tense,stare,disas,dowds,braza,dooks,verts,intro,mirah,karks,nones,podal,laids,delis,atman,karzy,debar,prion,favel,dawen,larns,cheep,oiled,meers,tatts,oicks,hound,edits,gills,wicky,rokes,geits,yaffs,xylol,topis,bloke,jiber,brunt,holly,blips,parmo,rowdy,aider,syker,mbira,fifth,power,waifs,theta,nudzh,arked,surat,flash,offed,empty,finds,demos,riels,fewer,jirga,scaly,prows,kithe,mambu,ponts,recto,mysid,usher,mogas,joule,bract,stots,pwned,ambos,yampa,ralph,dozer,candy,emics,jollo,carvy,axmen,grits,inlay,cadis,anode,oculi,dervs,kanas,doing,biker,north,purin,pakay,squee,tumid,yerba,unlit,fogos,cells,mauzy,cruck,salts,parma,marra,watts,bajri,takas,wiver,haats,stalk,gunas,alata,balds,wispy,teils,habit,gripe,peles,evite,sophs,permy,skeer,emyde,redux,cohen,women,hazan,meris,staph,buran,jones,hutch,yuppy,hosel,gordo,mocha,suits,miked,ultra,sipes,pinup,daube,filer,recco,ovals,loral,furor,count,hoagy,joist,lemel,shwas,melty,momme,scaur,gynie,mambo,twigs,equid,foxie,stone,trunk,mbret,breys,farer,hated,titup,sleds,abbey,glamp,bludy,divey,rhyne,maned,ohias,brail,visto,fulls,gonad,sprad,noyau,aroha,darga,motto,venti,urned,lives,niess,nests,mecks,yacht,kibei,wrest,bosey,buzzy,ganks,laugh,abuna,wheel,kepis,begat,senes,sedan,monpe,ghusl,gamps,coost,plume,dopas,anise,stude,huhus,kamik,unsod,aizle,beats,phyle,nyuse,remix,rewon,glift,hikes,chirm,parks,brook,bitos,pushy,erevs,pound,morgy,sonly,mogar,hymen,luger,relit,quran,glost,refan,darcy,stump,melas,needs,lamas,misgo,weens,bunde,ratch,myops,creep,alder,koaps,music,druxy,moony,stets,tiges,troll,fleck,outed,abcee,butyl,goles,wirri,rowts,ryots,begad,gipsy,yeves,spice,scraw,teers,mirls,stoas,clues,kaval,drack,flick,jukes,mathe,risky,jacal,malva,clout,weeds,natis,koine,fluid,funny,penks,lathe,deoxy,sakis,misal,skive,nicht,stown,grasp,zuppa,flats,padre,hewer,vomer,carom,stern,nonce,forte,trims,roach,bagsy,toaze,spiks,darbs,nicey,sigil,brusk,abler,seels,tyers,shawn,origo,reset,mecca,tubas,pluot,fatwa,derro,world,gesse,minus,guano,nanti,gyral,slebs,commy,gains,potch,tryps,seine,times,bomoh,overt,trash,puter,decay,igged,bucku,biota,porta,lusks,skerm,glitz,stays,whoot,lings,balut,burly,hoing,dogan,vacui,snirt,named,leavy,scoot,overs,eyrie,maral,ronuk,vibes,tatty,loxes,gugas,scuts,ikans,tondo,faena,zhush,elmen,nisus,fable,pasar,ratos,joust,galax,adats,camel,glims,wulls,tryst,crees,kojis,varec,cuzes,cusso,rahui,meiny,strum,bells,reups,nabks,pipis,wagga,quays,softs,tabes,barer,yelks,gnaws,smalm,cheek,ocrea,bigae,remex,mixer,grund,vughy,foray,sheng,ringe,wests,defer,enfix,elfin,lysed,cauld,screw,mungy,cowal,trove,virge,outen,chowk,alane,geyer,lyric,khans,mersk,nidor,tuned,fraim,mtepe,winns,savin,gauge,plows,phese,losen,wired,puers,scree,rutty,apnea,syces,kilty,liven,galut,puhas,rymme,waive,poods,broch,goals,culms,nazes,eldin,scant,matin,biddy,sugar,timed,varix,shott,nants,wroot,sylph,purga,debts,tenet,moory,docos,culex,septa,piler,jagas,gnome,harns,elver,ordos,cribs,enows,tyres,bolks,mulch,sabes,capri,binky,vants,skell,foals,yarfa,pigly,numbs,trags,honky,fists,unked,keens,kiers,lokum,nemas,eking,shelf,fifer,ponce,albid,ready,mesne,lumas,neaps,plate,pimas,cobia,molos,spews,vires,chota,kahal,cinct,balky,nebby,suers,telic,axing,lyssa,fiver,morse,bilge,swith,ology,patch,belay,leady,ulmos,tuyer,quoth,weary,planc,costs,malmy,bizzy,ronts,grypt,sarir,visas,odahs,rearm,crias,snood,pekin,curds,vauts,quaff,crawl,smash,sabra,agami,bball,bunns,finer,updry,ouija,vlogs,rhyme,small,imbar,chase,beaty,scrow,chine,dills,cheer,sauls,carps,kaiks,chide,faffs,besom,canid,harms,razai,pitot,peeoy,ropey,agast,auges,powis,agoge,gages,sinks,molys,union,nawab,guest,kudos,crudy,hears,biled,hants,jours,flees,emeus,leves,bones,glory,skogs,annum,anker,cauks,coign,goons,paals,gorse,raita,tripy,tizzy,sprew,rural,rejas,scote,deaws,spiff,shied,semen,exult,bluet,spams,cloff,heast,touzy,mirvs,heels,pinge,anele,stout,gerle,boras,porch,diwan,swath,derns,heeze,sours,skyte,netas,speak,tapes,gobbe,bingy,cleat,boyau,nakas,tetes,yarak,frise,yrapt,brine,forge,knars,virid,bumph,pules,soggy,shlub,purer,foxed,atter,rakes,unpen,saine,lipin,tagma,eying,horks,drone,desks,dadah,luser,sicky,platt,larum,puzta,clear,crake,trike,burra,kotch,tiler,ombre,aeros,leone,mingy,vasal,henna,hover,gleds,reist,skirt,unify,likes,tuans,owres,cooks,parry,humph,pozzy,ngram,feign,mauls,gybed,mutum,ouens,minks,sites,loche,nervy,hoary,houts,sopor,sucre,gerbe,pardi,fetes,toker,devon,trems,dwell,unapt,golfs,aures,wauls,bagel,prent,curns,bairn,slubb,hythe,blocs,tways,dolia,choom,vawte,volts,limax,kulan,sanga,milia,pales,reeve,bolas,fjord,nexum,minny,talus,aloof,waded,gusts,bongs,crook,yewen,briny,arefy,pronk,dried,wanty,babul,taals,nonna,twyer,orval,caffe,glops,trine,padis,exert,hoxed,ruing,runos,uster,gotta,areas,genny,tripe,cedar,reine,etyma,scaws,mbila,voids,endow,cnida,rakia,capex,wiels,kelly,hamel,basil,woady,lapin,looey,quist,clamp,urman,proll,harem,nanny,sangh,teles,rodes,lieve,terms,hemes,repat,axles,finks,nixed,hoggs,daggy,sekts,civet,fayer,prate,aping,holon,litre,triff,morae,kacks,quill,rotty,spiel,dekko,whelp,humpy,barro,kauri,oflag,tippy,yarrs,laddy,voars,imids,ogles,routh,cigar,royal,yummy,olpae,jilts,fedex,ducat,arett,zetas,shchi,young,bitey,lisle,slade,tacks,tepee,gusle,ogees,bobos,obiit,qanat,barfy,phwat,wried,gynos,mogra,apsis,tongs,tsadi,turfs,sayer,voice,cogue,grade,toady,eosin,child,vivos,balon,janes,vault,carns,genua,eruvs,telly,pogge,feaze,hench,hamal,skaws,rumba,elven,zoaea,vison,flawn,batch,fanes,nuevo,yirds,envoy,foggy,herms,shand,yclad,maray,sauts,awful,tuxes,ascon,gouty,craal,nemic,afion,tabla,chess,khaki,tyees,jinks,slive,waugh,losel,kippa,vrouw,peans,roked,redye,thyme,copra,proin,prore,sagum,feels,tires,rusky,premy,breed,pasty,sooks,robes,ayrie,conus,papad,shalm,tying,ruins,stede,pores,molle,cacti,natty,toeas,facet,braze,hasty,saree,genom,pynes,lusus,cense,yarto,month,lacks,fared,mabes,fifis,homas,scale,verso,wimpy,cuppy,howbe,haole,paras,clank,trugs,perry,scurf,paseo,fubar,medin,hawks,tubed,caner,bluer,meeds,preed,peels,hared,qualm,synds,salmi,towse,dargs,thana,marse,vrous,lengs,yokel,mzees,suses,torse,daint,dowse,kroon,babka,aweto,noire,lusts,credo,geeky,zanza,stink,ginzo,sotol,lists,maria,jheel,bared,buffe,vinyl,zygal,chain,zills,gapos,sluff,daisy,arbor,rishi,hided,sehri,sagar,hurls,oddly,chips,sicks,zanja,serks,offer,kreen,agora,lazzo,bight,skips,berms,neral,baiza,sting,jarls,proms,mudif,mujik,pined,heled,tushy,shiso,toque,mungi,gorps,punka,sined,bepat,ourie,laval,typos,goofy,yobbo,gumps,slaes,cling,fanon,mirky,rayon,zaide,pryan,ackee,facia,lardy,traps,scarp,renig,taxes,tifos,raddi,toing,wakes,diary,emove,agita,posts,chaps,spang,yocks,acmes,ficta,wases,sixmo,pucan,weald,zacks,earst,gorbs,choss,reais,mover,sythe,fatso,rayed,tarre,riley,vivas,glaze,volte,tosyl,pated,clift,wisps,skeef,crapy,duroc,kohls,sauce,agger,moans,ament,madge,jawan,facty,pacts,divvy,ogmic,stonk,sizes,kelty,poovy,twain,steps,almug,maumy,vills,bugle,invar,lezzy,firer,laevo,rapso,ugged,treen,lyres,vichy,cotan,sored,toles,awols,terfe,tally,coper,swell,parch,pilon,furls,apage,pongo,reird,kyloe,welly,frite,exams,tymps,scugs,gippo,titan,gorge,washi,beses,devot,birks,clews,yeuks,recta,tommy,theek,spred,drant,zilch,value,mosks,ploit,munga,apiol,neski,beaks,tenty,medic,domes,ducts,rakee,mochy,erbia,agued,alpha,nowed,angas,musca,resod,scend,vases,doses,wanes,voted,ycond,khirs,tanks,okrug,techs,mense,graff,soote,pilow,cusps,cholo,clubs,scuse,spean,chink,urnal,rabic,cheeb,tramp,lycra,puggy,uvula,rigor,shady,comas,banco,locky,belga,sabre,kokas,nerds,serac,ramin,orans,tirth,dolls,jougs,ticed,wanly,moldy,cords,kines,light,ketol,claut,iambs,rojis,crops,juror,phono,gooby,plesh,tozie,renew,shash,coppy,wordy,figgy,bitch,plexi,baker,eeven,evade,plaur,mondo,queue,noobs,ratoo,doves,mauvy,prahu,phizz,kulak,agrum,dying,unwet,maire,tupek,gorms,jiffs,coach,zibet,locis,bools,dicts,spoor,gaups,chaco,diddy,alang,araks,segos,gadso,dunam,zurfs,preem,hoiks,dynos,aumil,baile,havel,quipu,lassi,aroba,cheet,socia,rebop,loves,coapt,odist,cobby,abuse,raced,ruths,ounce,eigne,denim,doona,dukun,shred,nanos,jaggs,rohun,musee,bests,freed,cetes,jerks,fyrds,baloo,silex,tamed,carle,theca,cairn,silen,bunia,proul,fuzed,coaly,nubia,rurus,henny,levas,alike,cangs,woken,aggro,worts,mucid,greve,whore,notam,conns,rubes,maims,pilus,gonna,heedy,blook,deeve,purse,kitke,tulpa,isled,ileal,basho,hotty,sudor,nutso,gokes,courb,upjet,ended,biogs,refix,moles,aurar,pupil,soups,liard,dogey,masur,eaned,thump,flitt,shoer,rosts,gobbo,shins,plier,zuzim,atoll,scoug,wails,state,misty,eevns,adoze,jurel,wacko,syeds,kists,zesty,exfil,dupes,apers,doppe,yager,junto,adown,carte,proxy,yauds,duked,sonar,pomos,grise,tiefs,cedis,bason,ogler,donut,dotal,syren,mutis,fenis,fluke,quads,sheet,cameo,perai,pryer,ravey,trank,decyl,varda,yarra,comby,belee,koffs,tomos,jitty,cusum,polts,sculk,pewee,eclat,lande,sebum,neche,spale,grown,login,capul,weirs,slorm,poxes,seame,duels,kubie,shrew,alcid,pengo,moper,pedes,gelee,runic,shard,mures,curer,label,rauli,swaly,wents,ampul,braes,rinse,bhaji,piqui,ancle,oller,sensu,pumpy,riyal,toads,squaw,bezes,robin,teres,where,veils,zocco,mount,gaurs,prosy,sniff,zazen,fungi,remet,names,cried,spiny,ileum,scuba,azyms,banty,tubal,yaars,chica,ritzy,aptly,loupe,abnet,cobbs,erick,yince,sheds,debag,girth,esrog,mimis,puuko,whipt,mazac,shiva,malis,touks,deman,gussy,updos,fixed,ervil,mihis,perps,retie,wilco,aryls,mawed,brugh,pompa,hyoid,dools,inion,jakes,tawaf,noeme,hires,koori,soaks,ulema,pseud,raith,filks,pudgy,imshi,weems,maker,three,jutes,wined,teeth,phyla,norie,alamo,jeels,bored,lucks,sados,yacks,guyed,grunt,osmic,zoppa,warty,britt,hauls,pusle,kiaki,frate,motts,odour,buded,clots,pioys,mazer,tabos,haufs,cakey,biffs,bungy,riggs,maula,piece,aired,nappy,mazed,boutu,opens,whale,preys,biles,hyson,boxen,unwed,mauka,night,wages,purrs,cores,palas,delph,faire,rhone,mowas,probs,demot,marga,petit,imbue,weest,aboon,maare,sense,swims,sammy,jingo,rekey,bulky,wanta,youth,gloss,poots,thuds,perce,menil,ureic,vendu,cuvee,popos,butts,syrup,haems,ramal,barye,alcea,jaggy,cursi,spued,yogee,davit,facie,tones,hacks,witan,hokis,lowan", + "pahus,goldy,unbox,dowts,copse,snuck,haars,bello,nebek,slipt,tokes,hewgh,alose,bucks,paips,sewar,mieux,madal,ahint,plish,nudgy,tuque,inane,galas,neeld,urdee,amyls,keyed,laccy,slide,adoon,kaugh,naice,vamps,twier,glebe,borms,krunk,buaze,imari,sepad,vertu,giant,repos,courd,resin,flubs,unbid,felty,decaf,razoo,hibas,pouts,kliks,eyras,fogey,aleem,papey,fiers,motet,tulip,steek,scaff,queen,tango,reput,rorie,monas,ponks,deros,venal,piped,alaps,fitts,besee,fauld,moley,apods,circs,plook,asyla,waite,wound,laddu,tices,bleys,tuffe,kains,kunds,seeds,alala,mawns,neddy,mengs,ewhow,doucs,tools,wacks,kypes,bunjy,braid,spifs,wyled,choli,quint,panto,clown,cokey,syver,coths,yokul,vogue,olden,vardo,vibed,cires,fonds,adaws,amuse,sisal,phone,kwaai,bruhs,runty,wonks,psoas,alowe,knows,azido,raike,sidey,sades,tared,culch,poted,afoot,kerel,kakis,devos,metol,avize,saids,kilts,punas,copal,prial,angry,sooty,slane,quest,goopy,plore,dubby,himbo,dogal,appal,dorrs,cando,rewan,kagos,cloop,adays,gulet,porte,clept,haiks,miyas,yeard,mifty,oater,liner,manos,rower,shura,quirl,jafas,clack,pikel,menad,fluky,reans,enate,mates,abray,thans,kuyas,songy,incog,gauds,hokum,dogma,blend,areca,dirge,sarge,ryijy,latus,gambe,shack,renal,reuse,slish,pagan,stirp,kylie,calif,hands,kirks,docus,uveas,shaps,gonzo,mummy,thawt,actin,hoard,howls,bundt,blush,supes,crogs,seron,solve,chert,totty,aborn,vinho,agree,snush,danks,proud,racon,shaly,paged,pulse,shank,onset,spain,regex,ureas,orlop,mushy,cronk,latch,blive,honds,gamay,heath,arnis,purau,tofus,hinds,mewed,cowks,birls,goyim,stend,alant,nolle,fulth,tasar,luvvy,dives,lunge,snick,derth,cosey,disci,uncos,yukos,tansy,metal,barde,saucy,smear,frore,kneel,grama,crios,chedi,endue,bafts,ralli,smore,tenor,pawns,lodge,resol,caron,tiare,poove,undam,kohas,vapes,river,caffs,blahs,vapor,brach,retax,molls,beans,kempy,ceric,scody,ditty,porth,tarte,faqir,jagra,ogive,bezel,malae,tapis,acryl,dully,trave,clads,rhime,skirr,snoot,prowk,satai,embus,colza,affly,dashy,bugan,wahay,shent,hodja,valli,dauby,oracy,beano,corms,hukou,corni,laxes,noisy,shtum,canny,outer,flaff,fuels,sieur,rehab,gleet,disco,mammy,aevum,hiped,moors,agley,ebene,coady,rerun,tynde,fetwa,garba,troys,kapai,calix,dites,ments,praus,loofs,troth,abore,rimae,early,carrs,salet,miens,joeys,quirt,embar,coked,leirs,cozey,flask,benis,guise,patsy,kirri,brava,ridge,jotas,reaps,varus,twits,freak,chads,plaud,oskin,oiran,manks,adopt,triol,logan,decos,glams,sadhe,cirls,theme,siver,quats,mbube,drole,mhorr,garbs,quyte,kells,mitch,adage,ozeki,vrils,mohos,leeps,skivy,plaps,clied,saith,saiga,swain,klutz,varan,ahing,louse,clink,peery,burke,scold,kunas,forze,syboe,pagod,wicca,infos,guimp,kails,evils,hosed,vaned,charr,muras,matzo,draff,range,buffo,alist,epoch,roral,yucko,crack,filet,pouff,biggy,festa,moyle,ramee,bajan,margs,gored,copha,dangs,bardo,micas,hiree,vegie,beers,aalii,yoghs,navel,heare,fease,jorum,exeme,upped,nepit,cover,smack,poney,preif,cauls,gecks,burka,dates,bonce,ruffy,layer,arbah,mirkn,train,enact,fremd,drave,feare,erect,sweal,pring,batts,thees,nudge,antas,doved,pelsh,pigmy,muiry,flora,bonne,oping,nauch,pawaw,golly,muirs,minae,agloo,faked,jamon,bowne,souly,funsy,claro,whids,hubba,flong,snath,howes,lomas,quass,aboil,nabis,shako,shoos,pooks,huger,totes,glial,atigi,mirth,loans,fagin,phpht,china,toter,fleek,bocce,henge,sunis,nenta,booky,miles,steez,pions,rapin,wolve,popup,unode,gymps,stane,naids,pleas,orgia,dames,abjad,peece,lurgi,frill,gitch,feued,lowps,stong,price,holed,eaved,humas,dered,swags,imide,hydel,annus,trons,moppy,rello,bents,bubal,dinlo,kiwis,urine,namer,feens,idler,lanes,scrog,mased,hider,ruffe,fakey,zaris,perts,satyr,suped,ganch,tibia,ceded,rabbi,stuns,stoop,abysm,aulic,carpe,moste,signs,steak,mixes,panir,grids,saddy,chode,viola,gigue,xerox,mirid,manor,strut,curet,bonze,winks,morts,geals,amlas,stubs,kembo,subah,daled,hells,apres,lifer,jhils,kerry,gauss,dayal,films,kophs,suede,unlap,valid,wayed,mechs,picot,halva,funic,zexes,pitas,nondo,waddy,lobar,rowth,threw,efits,nosir,iller,dobes,kabar,toffs,rehem,reign,lenti,hucks,knock,lovey,lants,skies,grouf,smuts,rifts,mauve,retro,tikia,chomp,nazar,clonk,reget,ovoid,sechs,mukim,kyars,amaze,valor,woald,fisks,giber,cames,round,leese,pubic,barbs,issue,razor,myths,kranz,baaps,poxed,vadas,jowls,twill,frita,naiad,ureal,gusla,lipid,sojas,nempt,huers,puler,whoop,obied,litho,debus,panax,befog,kilig,nites,carex,logic,swage,frati,edict,dalle,iliad,boots,scour,bacon,tares,sexer,masha,monal,pappi,flume,abord,chivy,parol,neons,mucko,event,yapon,fusks,sownd,frows,paxes,whaur,skean,owing,gilet,coops,abbed,onlay,akees,zouks,biers,mooni,kafir,lysin,xviii,rusas,reeds,yohay,salon,hones,urupa,smirs,shirr,meter,agrin,paved,lipas,ensky,trust,gippy,enjoy,appuy,fitna,moues,waxes,koiwi,lungi,bunch,goier,frape,keirs,hertz,nairu,promo,sunup,refis,scudo,olent,bromo,soole,conch,tepid,menge,aught,yecch,burns,bogie,carpi,arete,braky,naled,boned,talon,gonia,deray,ceres,inker,ranga,panga,reune,slomo,trema,ycled,heder,narco,quake,mixie,belle,genro,hurty,smeke,gosse,moruk,fusee,epact,peeve,prams,seven,poops,scrum,oboli,chirl,await,tweer,exies,nokes,ollie,fonly,teels,ngege,lalls,casco,sigla,brier,toots,poofy,miche,jawed,roast,digit,gnows,pease,bogue,reams,yufts,pligs,upled,gryce,jesus,biont,easts,shads,umiak,smaik,irons,oozed,boxer,bento,cepes,etape,torah,darky,clams,alfas,guids,cibol,adder,crags,lawin,moths,lucre,raspy,diels,slurb,pooey,sprig,dover,spode,taser,tazza,undug,rakhi,kinds,pasha,dirts,chott,olpes,widow,speks,diane,goras,sents,salis,lodes,hudna,yorps,ponty,snots,fuffs,oueds,stint,conky,socas,crwth,wales,staff,bigot,thens,ocker,plash,kamis,maxed,deawy,zhomo,taxed,hohed,modal,auxin,nyung,blags,baulk,flype,pesch,monde,tower,deity,tifts,shorn,thack,mawla,yawny,haere,oners,muids,alumy,duces,baccy,samps,gants,bliny,monos,knave,kicky,sahib,kesar,hater,golem,churl,bolet,churn,lambs,vuggy,notes,gawks,borer,banky,amiss,oriel,nevvy,saner,conte,uncoy,bills,moray,cable,mucin,medle,blots,twirl,kench,liney,ditch,ombus,llama,manso,loops,hough,tomen,nooky,kraft,salep,kavas,hoogo,sairs,boxla,penna,maill,funis,coned,botos,ilium,oktas,bumpy,reifs,bevor,delts,ghees,hokes,seers,yuans,baser,sords,fundy,gubba,sants,weird,mango,poalo,tecta,bedye,murre,gobby,suave,praam,deevs,photy,modes,apeak,retam,wauks,oncus,fayed,lawer,fichu,squib,emerg,sadic,humor,pluty,emmet,yexes,wadis,fract,verre,revue,enols,rides,yapok,sidha,uptak,varia,rifty,knarl,plavs,unled,wafer,saugh,trooz,stale,cadie,raged,egads,zayde,stock,koros,ryals,nonda,jessy,layin,dopes,yarks,luges,ashed,pyxis,ondol,datal,foots,relie,brave,chana,poems,peaze,dumpy,heres,accas,runup,surly,olona,glace,putza,besit,hokey,dunch,ainee,glean,epena,zolle,cleep,synth,whets,bigos,aguey,jeons,cards,rists,etnas,barry,luxes,ronin,snars,whole,chalk,lilts,keeve,waned,ippon,redug,loipe,cotta,limns,perse,psora,clipt,jirre,chiti,mauts,konks,feers,pirri,sands,zappy,repel,rosit,putid,gales,jobes,souse,looky,jeera,verge,seppo,boffs,vacua,banjo,ayont,aegis,muses,gault,boeuf,shown,shuls,poler,knoud,paedo,ekdam,bouks,spoof,guyse,ousel,newer,bilal,moled,bolts,letty,rione,coats,aahed,steel,stein,birrs,vaped,hoves,taxis,tians,pallu,wipes,cleck,mirrs,valis,impot,males,ached,wroke,ports,pulks,lacey,illth,titar,biose,gadid,honks,plomb,puros,gyros,rhymy,biali,great,peaty,sizar,aceta,clems,cuddy,sithe,chelp,gerah,mysie,besat,sagas,nakfa,zarfs,cobza,fixit,pocho,maund,dalts,start,reoil,fiord,gotch,doled,lints,lifes,nurts,stain,villa,curat,diact,oribi,pouis,wuffs,leggo,nivel,narod,namus,munja,manul,fundo,thaws,plane,cocos,oumas,kheda,dryer,sells,jugal,razed,annal,peals,dumky,shiok,yapps,maced,unleg,queer,nacho,uplit,cater,pinon,quant,ridic,taupe,mihas,torus,savoy,sodas,realo,sials,gaddi,arsey,andro,aredd,poaka,blast,orcin,dirty,twine,loins,testy,inust,gater,raxed,sloyd,riant,litai,acidy,mudge,typed,styli,sokol,hangs,psoae,ladoo,glime,serre,sauna,tahrs,looie,cella,kaury,pyrex,vespa,pavie,claws,neato,fitch,email,emcee,kebob,loges,intis,fanos,warns,bawdy,belch,crone,amaro,skids,pyuff,sprod,luted,shule,lotic,doole,pleck,snead,makos,raine,maron,jeffs,mowed,yauld,evens,privy,pruno,daddy,dowar,akker,gulps,ummah,raphe,kasme,domed,meeja,flore,cital,glens,brawl,gliff,adman,pyral,tolls,ivies,veuve,manie,knurl,gamme,terns,cuffo,inked,sabed,paipe,palet,quire,powin,cills,fussy,goony,yites,alces,yogin,calks,tawie,roupy,serif,boogy,frabs,knags,alway,moner,chime,tappa,shogs,grone,omega,kisan,gests,eolid,baffy,zambo,abaht,hadal,ligne,orach,repla,huies,ranis,spald,stums,stags,godly,slack,fezes,bries,pekea,natal,gulfs,bints,noshi,white,meant,kight,reked,mousy,pawas,okras,spank,globy,saunt,kyudo,ridgy,vices,shove,spics,spiry,jests,progs,warre,rubel,footy,flags,agria,skyfs,laded,flota,stage,aspen,nares,yulan,kajal,ungot,frets,curvy,skofs,lurks,japan,pinto,winey,arras,opsin,kembs,lunas,atria,flowy,situp,tepas,katas,boysy,howks,hitch,jeely,predy,doric,liver,reffo,porin,fleer,coble,sibia,feces,resat,profs,grody,scags,hello,immew,fatal,ruban,sonse,queem,fires,botes,flegs,quino,sasin,hiply,berks,pinch,chirk,pawky,malls,fisty,mains,baldy,liter,genie,lobus,arval,mumbo,vodou,bowet,ricey,eppie,corny,fated,utero,goosy,belve,bream,ummas,jacet,demur,chara,turfy,stack,togas,mards,hongi,toise,kapha,crare,cadge,beefs,grosz,meuse,umber,moted,titty,hight,lemes,wheft,smout,furrs,yeven,glede,alvar,baiks,pants,capiz,uneth,stoma,nimps,renne,fazes,sexts,sayon,docht,nowty,piles,fuero,clomp,untie,vised,pyned,horah,tragu,tilly,waurs,morna,exite,ngoni,repay,mesas,mieve,leans,uhuru,linds,leman,starn,mulct,soled,anvil,giros,nulls,sonic,sweat,omlah,rivas,stall,circa,lynch,carap,cloye,pouch,doffs,woody,pomme,quiff,hoers,lated,wangs,neals,porno,rangs,meats,clach,peevo,roary,misos,towno,views,wides,sodic,atomy,grike,naped,sacre,trump,pilin,pudor,dicks,fetal,zaida,rumps,puked,hilch,lepid,maums,gasts,wrote,hepar,coure,oarer,ogham,refry,shewn,blubs,rozit,iodid,chook,aidos,slows,eiron,keyer,timer,tweak,vitas,varas,shuba,semis,gramp,ocher,scart,doabs,regle,hurts,musts,singe,reggo,pavin,stunk,peeks,sused,rubio,piper,bride,punce,feals,dwarf,nitre,eight,gript,dexes,altos,beaux,bundu,tates,fools,randy,locus,diana,bling,farcy,libel,amowt,staws,tutes,soots,trend,benet,soces,snack,ciels,brast,dotty,knees,wrist,borgo,ofter,nages,colic,bunds,waide,sucks,piths,bomor,thunk,quota,dwams,milks,femme,namad,bices,bothy,oxims,acerb,strop,innit,dicht,tyler,spica,octli,borne,upter,educe,labia,forms,hakas,agaze,hills,limma,culti,below,typto,blimp,halwa,chaap,caves,video,fakir,coeds,arroz,doxed,sneed,hesps,buffa,garni,dulce,perdy,rigid,retag,mesic,civil,trued,dices,peony,kiore,zikrs,bided,askoi,undid,homme,drail,duply,didie,earns,cocky,hoper,kedgy,cones,leuch,pervy,carob,reify,rosin,tombo,subha,rufus,yuked,panel,munds,liane,prole,sheel,aloed,aruhe,inapt,meths,arene,genet,sways,badam,chuts,liked,splay,aviso,pains,roric,shops,gauzy,useta,truer,duans,pirrs,frush,ponto,basis,hakes,mangi,oxine,greek,dumbo,brads,durry,foils,clast,laden,upend,aunes,scans,unpot,naggy,caums,blore,pipul,drats,poyou,strak,soyle,sater,lyart,pumas,rakus,waled,moana,moils,nooks,sixer,nappa,flops,worky,loads,truth,graal,ocean,fnarr,glias,hooks,mungo,pacay,brane,sawah,pooty,lappa,pelus,dappy,strig,bench,raves,mivey,flake,thars,wares,zoner,retem,slots,scope,moose,imply,ebena,hathi,derma,tanna,peize,crura,hogoh,mealy,mutts,amino,woofs,poopy,trods,snipe,raias,bowse,coded,rared,clops,datos,sukis,icily,teste,roars,inarm,morph,rummy,fowls,gesso,turme,yeuky,under,toity,twite,abaya,shakt,sevak,dawns,chics,tehee,aleye,kited,snods,tanas,toros,fares,souks,papri,mongs,damar,ideal,flits,front,spumy,canto,kokum,renks,aucht,eggar,abaka,paiks,junco,jubas,homey,pedis,crepy,biros,halse,jagir,tikas,harsh,immix,rille,horde,bowat,hayle,chola,pareo,swoll,hansa,deffo,unpeg,abeam,malms,cabal,ditto,murra,steen,dusky,dukas,ouphs,doits,sposo,grovy,ionic,woman,civic,unary,heave,omdas,colls,pursy,noule,bitte,nabob,vigia,yolps,snore,mulse,elope,hurst,maril,fatly,ranty,shtik,femic,linin,pithy,flite,zincs,nouns,yales,negus,talks,reeky,ascot,okapi,lenis,dowle,moras,dusks,fames,gravs,rewed,nieve,tauty,toted,brand,ammon,iches,kipsy,satay,boozy,murgh,dweeb,impis,rotto,lerps,molla,quart,rooky,sheer,calve,safes,cooch,sekos,pohed,stork,potto,oleos,yaass,addle,pieds,maedi,sophy,holme,resue,lagan,scrub,polks,bedel,verba,quips,coons,mezzo,bousy,hexyl,crush,mahwa,unfix,naval,imagy,rones,chufa,acted,hurds,mimic,merel,scuff,flyin,ossia,macer,fiked,balsa,palus,yirrs,shunt,mouch,sawed,clade,gaits,dusty,carbs,choke,mutti,wonts,gwine,brahs,tench,jucos,graft,masus,check,shear,eyrir,twins,bogan,shush,merch,caste,wises,sibyl,oaker,arsis,melos,regma,meloe,talas,leary,aglus,derig,foody,julia,sappy,jarul,apple,scars,agene,jolls,gaucy,still,fonda,paddo,holes,grues,aguna,shaka,krump,comet,plank,spell,cetyl,kaons,jelab,cists,tolar,limed,dryas,pizer,nabam,sucky,untin,unsee,blatt,purdy,slats,heugh,heard,forex,abram,racer,tinto,revie,scopa,lurex,junky,botts,spool,ydred,ottar,adult,theft,louma,steds,canti,gurns,human,lemme,greys,macle,teaze,roble,cides,gosht,eject,quops,enure,nougs,hests,pense,raser,reeks,cares,buggy,moais,plant,shoal,emacs,posol,venom,empts,binit,woops,crepe,trois,withs,expel,sorus,muton,kibes,thous,alloy,quark,yedes,froth,kazoo,ruchy,cerci,truck,spesh,exing,desse,imshy,share,nmoli,melon,carer,monic,ceiba,whups,tests,synch,orbed,pages,ethos,acold,arede,owled,sibbs,homer,aeger,poets,powlt,daine,taxor,neeze,saser,flaky,tachs,effer,vapid,moola,mussy,gasps,parcs,rebid,third,exurb,pipes,vinew,whims,temes,worry,epene,yelms,score,neafe,tempt,tomme,spues,woxen,rooks,matts,cebid,clepe,leper,khafs,veldt,stoup,versa,cheat,sains,barre,ester,socko,amide,hiver,voulu,noddy,loach,nided,befit,yeans,loafs,kieve,udder,snyes,kerne,argan,taxon,cloze,tyned,schif,baler,kvell,crypt,karns,leccy,kente,fuddy,blase,alims,pokit,noema,fasci,fishy,dreys,newed,lupin,riper,hause,nikab,seder,reech,soken,batty,deice,mutch,stivy,boong,phons,viper,largo,noses,fents,redub,pownd,cezve,bavin,skosh,kyrie,mused,unrig,wames,etens,deils,grebe,prims,pansy,usure,caids,tusks,skort,mitis,rukhs,shiel,dhikr,fleme,meism,arith,shite,taube,kievs,smorg,hongs,gayly,sewel,purre,knots,vagus,boult,acais,annas,thilk,feast,guyot,axons,nemns,hizen,satin,scoop,sitch,tapas,abeng,rimed,reney,quote,unsex,petto,maban,arpas,plunk,geats,agmas,wilds,whits,kindy,prief,trawl,meows,strae,aiyoh,dobro,dines,deuce,laten,idlis,clary,thots,zooms,leads,getas,emend,melds,preon,banak,fomes,unjam,cults,ekkas,bonny,sudsy,stilt,yagna,roues,pitsu,repeg,hobby,almas,kadis,mosto,unput,piked,aland,terai,rikka,crews,eerie,rocks,bimas,rinds,gavel,gleba,wigga,kolas,adorb,hairy,rougy,swile,dobby,stoat,sneds,ribes,ravin,rammy,leuco,vadge,ictic,drift,buhrs,krabs,bolls,vlast,loxed,pagri,mangy,whips,whomp,boxty,omovs,friar,pungy,manic,certy,bodgy,tuina,flour,denes,oxies,mahis,arson,geans,daurs,glued,boart,group,chubs,hoots,aleak,weize,duper,nexin,fuggy,bubus,lares,fives,fouls,amids,allan,lours,genii,birds,mapes,ginks,jiaos,paten,grrls,slove,tythe,roomy,paeon,quite,wasms,aggri,pried,vanda,rayne,nelis,buxom,muggy,exier,jembe", + "ooids,gully,ramen,suber,sutra,preak,drere,bowel,hedgy,deles,refer,tofts,milty,frosh,manas,octan,kerfs,enorm,rebel,guaco,nisei,pelma,nasis,goeth,oared,segar,aflow,skims,wited,sough,hokku,pardy,teems,michi,decks,twonk,fales,ideas,dirls,snive,clows,leses,wakas,wahoo,memic,eniac,sexor,kimbo,oases,derms,pulka,sutor,botch,unaus,vughs,resto,kimet,malwa,rioty,enemy,ruder,ahent,yoker,shmoe,grame,lytic,potty,odism,acini,mules,soler,antae,lound,nicky,brags,doeks,ulnas,dagga,cadre,coypu,cotts,galis,lowes,bezzy,skran,iliac,pases,halve,flesh,runer,wefts,rebbe,isnae,siroc,gules,clomb,amaut,newts,ladle,gibes,taggy,haply,kalpa,bilks,blown,yomim,attap,educt,ingan,linos,gooey,fibro,maise,ngoma,adzed,flawy,toran,jades,offal,twilt,wager,booby,koban,yules,irone,azygy,tryke,sweys,neist,nunks,rogue,riato,mulai,obeah,emule,mocos,girns,sorta,cooky,causa,ayelp,mitta,emote,pelau,thang,appui,momus,asity,taunt,damme,ulzie,suids,cymes,muzzy,anata,spyre,roate,boppy,kelep,pilaf,caver,pheer,derat,peeps,tania,murva,surer,yatra,kapur,udons,coate,thelf,robbo,chynd,noups,brize,texes,bosky,aargh,alert,shews,lirot,lofty,jolly,palea,geode,suety,ponga,fores,voila,beech,cumin,polyp,murid,laufs,alarm,tyros,ragee,berry,ytost,welts,tinct,cacks,snuff,ecigs,plein,reded,dived,kests,mucky,grays,berth,adore,raksi,whift,pirks,roven,syncs,nomad,medal,cerge,gruff,macho,rooty,yabby,linty,delft,dawah,resow,blink,salty,sowff,lweis,tufts,gipon,veale,tigon,jumps,crick,pacos,porae,doter,rewax,doofs,sarus,vales,douse,cheka,gores,crusy,weals,pause,cours,kakas,nixer,scran,cumec,metes,wifie,eleet,heart,coste,duped,aloin,drags,nouny,vacas,riffs,locos,botty,catch,burnt,belli,swack,thole,stimy,holos,tapet,recti,fasts,musty,keech,moult,hella,tends,rugas,reede,spyal,blitz,octad,fiery,using,robot,unsaw,lipes,methy,gived,faces,touse,bikie,stulm,palla,toled,whies,herls,write,kanat,perch,shirk,roofy,skeps,beamy,rully,swops,hauns,horse,giust,minis,sized,zizit,crump,hulas,haika,verve,mooch,velum,techy,fouds,manty,mesal,alkie,roons,capos,grump,nooit,afanc,packs,mores,ambry,rugal,parly,alifs,legge,wawls,nadir,tenny,erned,solde,yerks,eagly,abeer,reply,gybes,cabre,vifda,vivid,gyver,psoai,pacas,piums,emits,touts,jotun,regal,sheen,tesla,unmix,grace,peasy,sohur,ganja,pylon,sente,gumbo,gruel,tanty,edile,rhumb,tilde,slyer,lasts,carry,kaifs,leche,bunks,moats,woose,mists,nihil,buffy,cabby,sarod,quoys,sered,livid,attar,craig,chave,macro,blech,steik,umiaq,donee,yonks,nopal,tells,gluts,bdays,flics,metas,eagre,spoon,hogos,pinol,fezzy,doody,alaap,rugae,upsey,chyme,raile,urbia,booth,manga,preen,hilum,luffs,baits,raven,preux,gauze,galed,pungi,hedge,heirs,reive,indue,wyted,torsk,fuffy,filmy,carks,neosa,lownd,quaky,lofts,hemin,vodun,pared,kawed,gurly,horas,gelly,foyle,shawm,faine,ulcer,podex,ariot,krays,towny,frags,humid,mints,sifts,merer,inerm,exude,selva,aspis,cinqs,yogic,auris,zests,bazoo,agios,rotal,binal,sella,astir,wacke,owler,saick,kylin,coxae,zokor,vying,ameer,taken,yests,haver,mugga,axiom,primi,pikau,scout,nears,sozin,pooly,roped,sezes,lavas,pilis,tabis,lazar,smote,feyly,japer,inros,griot,alurk,duvet,sepoy,rusts,curse,hahas,kerve,kyaks,longa,degum,dauts,ungum,walds,hollo,forty,howfs,nazis,enlit,gilpy,odeon,wheal,flobs,forby,lumen,opted,neebs,gaged,sulfa,toyon,clous,apart,merde,sukhs,abmho,rheid,bumfs,cogon,larks,parki,rotos,movie,nines,sambo,saint,fungo,snafu,alkos,staun,agros,bawks,takhi,snell,banks,inlet,rumen,shape,pesky,bacco,warst,dukes,typps,jauks,napoh,niton,khula,prese,tranq,gazes,majos,tuism,bacca,lasso,askew,anigh,heaps,sages,brise,kaims,tikes,bulge,gemma,tafia,annat,casks,taxol,nitty,miter,riqqs,cecum,avant,smurs,stray,yesty,boyly,skate,rangy,dosed,edify,gride,burds,agone,coxal,djinn,fadge,abele,skail,apeek,toons,spaes,payor,legit,gapes,takin,cuits,aisle,amici,ceroc,warms,soldi,spaws,naans,dolor,arnas,image,mouly,axels,codec,faffy,slopy,peppy,laari,oligo,prior,lupus,chare,rindy,proto,haick,leash,xysts,mufti,dandy,oxter,fries,hylic,musse,advts,musta,farad,ontal,above,punto,nicad,coirs,knosp,miros,samfu,doggo,oiler,mowie,mirza,fecal,rouet,yikes,jorts,denay,fulla,liart,sojus,ajupa,yumps,limos,gaped,miggs,haint,micos,weids,rorid,logos,mopey,axled,prove,lapje,ramps,oxlip,petal,aphis,fauch,goods,chiao,lazed,opahs,titch,lento,cahow,hutia,mochi,atlas,jolts,prats,omees,nipas,danio,dhoti,vents,allel,loure,erses,dumka,salop,zante,douma,agush,girsh,scyes,apism,ceaze,dicta,miffs,blady,feebs,tyiyn,arear,ruote,chewy,bonks,stogs,fuzil,suhur,oxeye,swamp,proyn,coped,grape,tichy,aarti,rudas,inbye,mopsy,tasca,amiga,gland,beeps,metis,bogey,glatt,nutty,dearn,ranse,aural,sleek,acton,talea,ovine,saist,rivet,leapt,wiper,alums,skimo,skimp,rouse,delay,gazal,appts,blert,cajun,anion,soxes,flips,tipsy,cuspy,trays,amate,yente,ictal,acoel,tumpy,scrim,scums,boing,roils,coffs,shily,tronk,tours,brood,dumas,cokes,dictu,think,teend,haugh,kenaf,lousy,wreak,maqui,radio,pasmo,grens,skint,mneme,liker,bukos,cisco,clang,cycad,micht,desex,naevi,salue,binge,abask,cager,orals,fryer,photo,grins,nurrs,meils,gilly,prora,mocky,grews,tozed,brief,honan,banal,ungod,dread,cheba,ravel,zerks,sonde,mofos,netty,clote,cocks,calyx,ceria,races,stied,oorie,glans,zoned,estro,masas,capot,oking,nugae,chich,comus,arvos,tatar,perle,space,folky,halfs,proem,volke,crewe,bachs,figos,arrow,draps,saheb,lotes,shays,pareu,della,mamak,dexys,tutor,dsobo,risps,ghest,penni,duddy,fucks,zebra,flows,lavra,ybore,holla,boose,pupal,plage,fifed,roofs,dries,mento,octet,cohog,poppa,prier,antis,ceils,leeze,molue,yangs,gizmo,roust,targa,epris,dicot,steem,pingo,stole,hoppy,reals,wheek,nimbs,whops,lorry,skull,mudir,wedel,hefte,alapa,kikoi,loris,james,doyly,dawed,boxed,dicer,toged,clint,pruta,dhols,urari,minds,eyass,robug,motif,durrs,fyles,boast,bless,jarks,itchy,jhala,liers,ruler,radar,deked,pawer,ropes,lakes,haste,aioli,tarns,huffy,ceili,tines,exact,mooey,thein,saris,urare,pater,inbox,exist,blats,rymer,ephor,grufe,match,crays,cornu,plotz,hawse,lived,forma,kalua,boobs,fehme,sitar,upran,civvy,redox,parps,pubes,pling,segue,vints,noone,oaves,leaky,tubby,fards,lunar,leats,flors,towel,gemot,hable,reame,yeggs,stent,tased,bruvs,motza,acral,goura,coley,ruled,cheth,walks,punga,nixes,gowns,stair,sapan,fouer,piste,octal,poofs,camas,bales,clump,ritts,vasts,mazet,typal,parrs,swads,sandy,ishes,pawks,kelim,turon,strip,prook,pakul,labor,facey,tragi,shote,sexes,speat,scowp,dente,pluds,ladee,plait,whoof,rigol,ringy,prose,chute,blebs,shims,ramse,muist,pisky,ledgy,soldo,gulpy,spoom,ginch,skyer,tabby,lapis,atone,myoid,achey,lopes,marks,whyda,maxis,riata,aecia,sharn,lamby,mosey,sijos,siren,pepos,cloot,bammy,methi,queyn,hatty,final,gypes,dwamy,kaama,plena,berob,cunny,coins,dials,trier,cruft,pewit,moxie,chill,logoi,hades,dwale,paska,caddy,gates,gadgy,alias,dolos,moloi,actus,accra,baurs,lases,earls,smoot,farts,dolce,myrrh,abrim,maxes,liths,nipet,ogeed,safed,noser,fecks,masut,worth,dropt,siled,glowy,yours,pulus,sinus,bandy,dagos,total,smalt,bahts,lehrs,rales,cully,filch,feint,tilth,orbic,mants,sones,lacer,indow,spade,secco,arere,dawgs,yoked,saims,skobe,chows,parka,stirs,tsade,fanny,tonga,sighs,juicy,jokes,tubes,shoot,makee,frond,sherd,bufty,novio,kilos,hosts,vails,decoy,jeeps,calle,penne,farse,caped,boner,kutas,yexed,bayed,urali,hicks,ailed,armet,merle,clods,nanna,boyfs,packy,backs,bemas,sared,morro,spart,opium,booed,fugie,hazer,umbos,donna,artic,moany,quouk,dazer,parle,proby,alods,pilao,fraud,jacks,mower,shift,tropo,solid,hints,dobie,sully,muley,nesty,welkt,enter,palak,boeti,grant,chico,least,lesbo,weeis,rouls,reate,vacuo,swats,adhan,pelon,obits,speal,serum,ehing,kadai,plumy,barks,regna,hempy,stirk,prods,flaks,femur,menus,cabin,sangs,tenue,kefir,dhows,kipah,krone,huzza,wojus,redos,traga,papas,pomes,reaks,pluff,wimps,dares,kevel,riven,treys,smirr,pixes,galah,nmols,drusy,sassy,myope,zerda,luxer,frats,talpa,tooth,bosie,becap,oasts,niner,awmry,harts,siege,slojd,colby,fritt,gemmy,carts,aburn,agamy,leery,black,stime,lythe,fumed,pokey,chews,fails,fogie,minar,sabzi,jocko,chiba,avine,madly,serin,erase,dulse,gusto,liber,copsy,hemal,glady,topes,phutu,embow,death,parev,nosey,giver,float,sonny,dicey,byres,pully,slash,corky,garam,zupas,cupid,gross,lills,lutea,poyas,fiche,rated,sales,tikis,majat,becke,nebel,erugo,towns,rises,caper,feyed,welds,pears,nonan,unply,patty,nubby,bevvy,magma,doozy,toney,yawey,zezes,rasta,cloud,kiang,simul,kugel,kiack,jongs,kades,sworn,punks,piets,kehua,tophe,sists,flint,wynds,purry,gourd,shaft,kusso,oxime,nixie,storm,unbed,mikva,skeet,debug,roles,brush,ooyah,stilb,wards,kusti,jibbs,lubes,align,borty,burqa,jitis,beams,nadas,fesse,desis,rangi,wader,glyph,yards,loose,gools,schav,dulia,sabin,wrung,aldol,khuds,tholi,bipod,zaidy,jubes,slurs,tweel,zoeas,adobo,ciggy,motty,manet,migma,noily,curve,koker,potin,yadda,nigua,borts,lawks,crims,zitis,clove,diked,waxed,roton,naats,speld,maiko,expat,jewed,xebec,nodus,poule,duing,aglee,feard,prags,cryer,tryer,amban,sited,torot,stead,drake,chems,abort,regar,tarok,cimex,iiwis,waqfs,pyros,seles,cymar,vista,madid,mixis,garum,scups,voles,swift,bania,caeca,bosom,eever,sklim,tawed,trode,mayan,breem,yucch,thief,bouns,recal,molto,moira,cleek,konbu,bamas,oasal,fjeld,poses,potoo,elchi,smart,doven,guiro,oubit,mazak,spays,rials,eloge,oxman,styme,piais,nully,kumis,witty,broad,ryugi,nertz,potes,yetts,feted,wooer,solah,umped,frory,drain,worst,busts,icker,cauri,felid,whisk,buist,zippo,urson,roums,unlaw,luxed,pulmo,spits,quork,rores,jesse,adyta,frost,bawns,boxes,shies,fudgy,auric,qadis,drees,whort,carse,juvie,ratty,segni,shame,elves,moars,caser,malty,bovid,sarky,twixt,quick,unrip,yoick,tonks,netes,lowne,rakki,twice,yerds,bigly,ylike,squeg,maerl,mixed,unown,drank,dukka,tonne,kybos,emmys,hotel,mokky,wanna,curry,benga,ogams,pagne,owers,sured,havoc,viral,sasse,hanks,winos,bloop,siree,frays,fritz,chivs,sexed,toric,drunk,ebony,fixie,kvass,atmas,haggs,romps,meeps,compo,index,mosts,thorp,chawk,uncia,zobus,farci,sault,reing,pirai,taces,dodge,kirby,zygon,pipet,epopt,shero,booms,pumie,beryl,rawer,tabac,milor,vends,solas,poilu,tahas,anima,zizel,heigh,polly,rejig,qibla,horme,reefs,hotly,posit,syped,doges,tepal,rotor,nunky,gusty,spunk,chiel,sazes,pshut,horis,prank,groan,saman,hashy,vixen,niqab,jural,paced,unzip,doyen,mikra,lahar,saddo,sulph,drabs,getup,resee,unfit,mitts,runce,skiff,wynns,slype,topaz,ottos,kiths,recue,shris,spoot,basti,zamia,pivos,reccy,coils,anura,gytes,quies,parms,reiki,muddy,meved,lands,voips,bused,keeno,liens,girts,clerk,stupe,nache,asset,piyut,sures,trial,biggs,roids,embay,sowms,sowth,jewie,mouse,dogly,havan,sowle,brame,alcos,abide,ickle,ballo,booai,rhody,detox,peake,molts,aeons,glare,dhole,jeeze,seize,lotto,dally,bamma,frump,spelt,jatis,motte,miaul,abjud,daffs,wingy,happi,mirrl,plumb,troat,tromp,usens,resaw,afald,durra,flame,twire,routs,uplay,gyeld,conic,gulab,waked,stucs,cowry,seity,bedes,grize,goety,banns,stems,muted,mayor,marts,moals,tarry,clart,morns,disks,utile,benji,sobas,maneh,bibes,kooky,iftar,nibby,larva,topek,minim,jomos,tutus,byrls,metel,ziffs,incel,runds,kuris,meids,resit,agues,opzit,wrapt,kitab,pluck,wolds,jeats,spiky,falaj,zooid,ferly,gangs,chard,curio,dorks,lanch,terre,emmer,rivel,croze,pavas,viler,hanap,actor,aleft,pondy,mafia,puppa,zymes,corey,surfy,sixte,froom,clasp,lions,scrae,kokra,usual,pocks,katti,erred,alews,senna,johns,peola,vaute,unica,faugh,trees,gloat,kheer,debit,yowza,stark,nails,runch,hatch,quine,flues,toits,ricer,mohrs,fural,ecash,mommy,rohan,inwit,felon,dikas,frown,naibs,birsy,clons,chais,bokes,padri,loner,aidoi,olehs,tiros,pyins,sushi,timid,animi,krans,serra,vehme,proso,semie,dimbo,apoop,acher,balks,poser,gaudy,raits,labda,sdayn,sleer,goodo,tanto,sixth,agogo,owsen,panks,aksed,roups,enoki,demoi,awdls,navew,venas,twaes,spurt,trady,tress,saxes,taint,tunas,aight,arame,swive,suint,rimon,drink,leach,sedgy,whilk,ziram,krang,years,bolos,huggy,jaker,zincy,breid,omens,foxes,upset,wadts,being,grout,nodal,grano,oyama,hooty,herbs,cooee,kulfi,mobee,addra,alack,fugue,noose,sajou,peyse,genoa,osars,upbye,aquae,caged,salal,imlis,ondes,passu,lolly,vealy,bleed,abyes,ploye,stake,nyuze,weigh,combe,memos,orles,acned,voile,wikis,stond,toses,shoes,bocks,aesir,zymic,presa,pises,wefte,axoid,eejit,icers,bleep,ruddy,clype,moong,these,dital,tondi,emong,radii,coofs,quair,cavie,skeez,dimer,groom,sepic,canst,pacer,biccy,bield,buras,pries,resty,gnapi,woosh,gaspy,coyed,ticca,intil,vlies,xerus,taber,hajji,cargo,toped,react,vajra,fulwa,mille,quits,atoks,piani,geums,glint,mauds,daffy,triac,thong,fairs,redds,gunky,smile,compt,opepe,voddy,jager,fines,plong,notch,handi,anglo,skegs,regur,adorn,peepe,moile,sects,wrang,poral,molvi,senvy,seise,audio,gaths,gonch,brant,blimy,cooer,rotas,tolly,vulns,snows,sneck,kiddy,verry,swirl,rotta,matey,tumor,forgo,sloom,loury,rotch,dohyo,prink,lered,noxes,lifey,nanto,rahed,studs,khaya,vaire,sinew,gades,nabla,eased,harps,freit,aroma,servo,urban,airth,dumbs,hulky,azote,naeve,ranid,blaff,penis,dimly,sails,rewth,opsit,divna,mumsy,irade,odeum,slave,feeds,leben,starr,vagal,layby,hoses,rheum,woker,dorje,roded,klaps,debby,elans,porny,glent,foods,sanko,rabat,bufos,buppy,dorba,pampa,dewar,yanks,knuts,fight,comte,panch,frith,peers,foyne,baled,hoyas,cheap,lomed,bacne,samfi,zooks,winky,gryde,roose,weeny,scoff,miner,tores,coled,mezza,nutsy,hykes,titer,byway,picey,naios,hurly,leres,entry,hanse,kraal,koris,venge,abbas,gynny,beira,palpi,hanky,trild,hoied,bubas,revow,spicy,phish,wizes,diffs,terga,ohing,perky,brisk,straw,nance,rucks,joled,calos,nifty,gravy,caboc,hunch,phobe,doped,kasha,trape,moaky,yipes,vauch,dorty,libra,hully,busty,bappu,oppos,bodhi,gibel,rondo,mochs,tapen,yodle,raned,angst,oasis,mimes,draws,pinax,grisy,mobed,cress,sewan,utter,blart,jambu,funky,tufas,soths,radix,thaim,adobe,brume,skear,veily,slept,harpy,nidal,fribs,tyred,guggl,lobed,orzos,piers,scald,decko,giron,simar,hewed,vicus,casas,maars,prius,facto,alate,gonys,redip,pipas,makis,ubity,clats,batos,chere,spuds,sango,larky,tolyl,sorbi,leers,pulas,luach,parid,wenge,stave,buffi,talls,dolly,marle,mawps,guana,lycea,goaty,lairy,drupe,picul,fuzzy,pasts,doseh,arled,vegos,yowed,karez,dorbs,wains,sulks,soral,bread,mitie,inept,plugs,laksa,sofas,briks,cacas,donah,tomin,shake,crony,papes,meshy,brute,bhuna,munjs,kurre,fleas,uncap,motes,annan,sired,elect,amass,creak,jamun,hosen,porty,yonis,rosed,loamy,bibis,macca,paint,deism,aiyoo,cagey,snash,curny,shama,malai,tasse,mater,farms,drest,ruice,duett,birse,inure,tomoz,fined,wider,kenos,druse,poddy,silly,chaws,given,usury,devas,cains,freet,lushy,metif,brers,sauve,sykes,aorta,sinds,souct,pical,flood,faggy,pahit,stook,farls,mayed,direr,chank,petos,noirs,kabob,plung,naiks,stade,rezes,fusel,bancs,molie,rodny,dippy,lassu,helly,porky,telae,germs,punty,mixte,there,beery,lungs,borek,pygal,dozed,jaups,yechy,tawas,layup,winge,dings,cluey,tasto,airns,ditas,miffy,genus,fetid,churr,egged,vitae,briar,sires,mesad,whine,soapy,semas,bulse,cutto,proal,segol,liwas,solds,hydra,aroid,psalm,sadis,dinky,drugs,baken,agent,betes,oilet,vatha,puled,nullo,tithe,dildo,swans,dahis,pluto,wafts,vulva,furth,clapt,zaxes,mamas,tinty,dreck,gulch,butty,heiau,types,pairs,ortet,garth,agals,pitso,mebbe", + "flair,goofs,laiks,karas,amity,gawsy,moggy,lordy,samba,alone,eatin,muset,poker,trins,grist,paver,istle,plaid,groat,blond,bortz,galop,aside,calpa,augur,limes,yrivd,quail,mongo,pagle,yechs,unwit,aback,pilot,acids,ewked,beray,prian,rypin,folic,plied,okies,gushy,banda,worms,divis,pakki,muxes,cudda,conga,dined,tiffs,moxas,terce,thine,douar,gemel,dreks,pedal,towai,thigs,taits,morat,nappe,novia,wembs,smaze,talik,oncet,pecks,pruny,blays,dwaal,luaus,urger,manna,xenon,spags,biter,bunty,sinky,otary,euked,apays,scala,ostia,nasty,oopsy,dauds,beget,harry,meath,voxel,jelly,hotch,sties,creme,rules,dobra,kloof,unmad,podus,yowsa,aiyah,folia,lowry,acedy,alecs,prowl,prune,elude,xylem,lumme,nisin,ruble,tulps,yopos,duits,lulus,necks,tapir,lezzo,leaze,evegs,bumps,odder,grips,prone,fugal,hullo,morne,owies,lobby,yarns,teade,smirk,yandy,cusks,jures,psyop,rhino,kanji,traik,areic,butle,spina,letup,khets,loess,mason,orpin,ureid,nurls,suona,bingo,namak,bassy,hasps,linky,molar,hoghs,walls,comma,titas,mache,trace,crine,coles,spard,hoked,eisel,pooay,rider,haldi,algas,tempi,absey,ancho,fetas,gojis,cleve,lohan,tasks,sedes,chang,pikul,roins,vatic,reast,catty,rafee,laika,soums,whiss,mayas,peple,kyack,pujah,percs,nexal,lochy,fordo,boyey,crumb,glums,demit,wanle,quate,amins,stuff,booty,spook,shool,sluit,manoa,antar,karat,nalla,chimp,frowy,buoys,kissy,furos,tenia,zloty,blear,kotow,sweed,oinks,midgy,unsub,golpe,lades,graph,minor,agbas,celom,wands,gonif,grime,mbuga,dozen,clunk,firth,kurus,meane,fenny,jaspe,golds,latex,diazo,brash,ahigh,pinot,pioye,swipe,flexi,buats,pamby,salut,humus,oleyl,kohen,deems,padou,colin,lepra,yorga,rokey,onces,weets,caput,pilae,yenta,ancon,belly,ripen,raake,palis,treed,boygs,slart,scuzz,tenno,aggie,kooks,petti,weeks,aided,hypos,imago,ameba,pager,award,scute,cippi,asdic,brins,meson,sunny,pyots,babby,ditts,spaul,patel,ching,loams,styed,nante,slipe,grese,wythe,heles,nummy,ketch,hoast,chump,dixie,idles,vodka,fermi,maize,aimed,azons,kamme,moits,exeem,goral,melch,shuck,taluk,pawls,gajos,ghaut,guile,gleys,jukus,gluon,manly,walty,yiked,corby,zaire,chary,arrah,droog,subby,ragde,ponds,oseys,grass,gurdy,aixes,marma,crimp,gassy,bronc,coopt,glibs,toman,dimps,vaids,liken,blowy,sware,print,yourt,unite,tadah,coria,whamo,teene,gormy,urvas,izzat,gyans,syens,fidos,strap,rebar,chile,rifer,urase,hings,major,rabid,tauon,ontic,garms,bombe,firni,germy,tunny,baboo,tulle,rendu,brule,oidia,dorse,apian,dabba,jumby,zobos,akoja,mated,waney,maaed,frank,flute,dryad,jupon,gyals,rurps,lovat,extol,sheol,wrate,afizz,septs,brede,chemo,vieux,sores,noxas,trock,nerts,misto,local,yourn,klong,missa,sukuk,peine,cabas,vardy,issei,boric,aleph,husky,hoven,aiery,apses,wharf,addas,assay,plast,succi,tales,datum,ulmin,eusol,grief,prong,whaps,vocal,vower,nides,rebus,brows,scath,scabs,rozes,blunt,adbot,myons,rally,eyers,fille,frist,zimbs,aymag,leeks,judas,flirs,prunt,inorb,fyked,dicto,chili,spial,lisks,earth,scone,bemud,tosas,tribe,daynt,cohab,preop,oware,atilt,shrow,glass,pavvy,raved,mindi,ochre,poley,deave,umpie,ranch,clair,fugus,bunny,tarps,doomy,rexes,vroom,lauan,aster,meets,blini,pavan,stull,flimp,mirks,shola,passe,skart,gazar,trefa,teind,widdy,dinos,cline,toked,cubic,touch,steys,lazos,samey,chino,rajah,lycee,popia,shaws,sates,other,duchy,moove,orcas,point,beaus,vigor,scaud,girls,gigas,folly,rumpy,gaols,motis,sauch,salud,pents,vozhd,obbos,hokas,kombi,bokeh,laics,namaz,slain,teets,force,phies,genic,inver,tachi,argus,prick,users,bluff,hecks,bewdy,silds,vivat,knowe,besaw,muons,noils,buiks,krait,green,dooky,yeeds,gings,kalis,chugs,soras,buyin,silks,serer,mercs,arses,limbo,moufs,carta,venin,crudo,stoit,cynic,rhabd,kaphs,arsed,noois,flier,ylkes,firie,thowl,virtu,tules,silva,trest,krill,houri,lezes,infra,honda,ansae,nicol,unkey,stims,trapt,abbot,pelch,greed,fault,jolie,axial,estoc,misls,norma,pleep,moire,kudzu,goose,flamy,gayal,gamba,urped,sybil,goxes,wives,muruk,often,welsh,poste,bisom,walie,tuber,doura,reerd,baons,rubin,relic,towzy,tinea,after,volva,egger,dungy,shone,haugo,zitty,yummo,caups,margo,lanas,tinds,fabbo,blanc,quilt,pekoe,napas,chaft,fique,milly,sigma,shmek,rumly,umbra,ovary,foley,nitid,nyong,ogled,tewed,bytes,litie,auger,cimar,seiza,tamps,bruit,tough,kopek,algae,rioja,deare,plips,rheas,proot,lolog,denet,hames,drubs,saute,swoon,fogle,tidal,deals,haler,aglet,segas,seric,neifs,dynel,oldie,feoff,ustad,hance,pixie,netop,raupo,keets,fusty,biked,buroo,mozes,paolo,phoca,dykey,ksars,rejon,dinks,egmas,nital,kilns,malas,hopak,pacai,kreef,lunch,kilps,losed,etwee,tenne,texta,wench,pects,mazey,spork,hatha,cotes,poncy,while,ozone,bantu,salol,remit,lippy,cocus,urbex,purls,saeta,linch,plock,levis,slant,murti,fades,found,hakam,buses,gogga,fouet,silky,bigha,begem,lease,spire,binds,sampi,pyres,newel,baghs,rudis,niefs,donne,howto,yucky,ummed,domal,essay,nujol,limba,blain,kbars,boets,lotta,diker,aloes,felch,aggry,kutus,amuck,smeik,herns,witch,yaird,pryse,munch,finos,molas,dolee,rubor,zonae,boyed,novas,kheth,fudge,wodge,aflap,guyle,arepa,hault,stobs,faxed,cento,avail,usnic,songs,akela,fiere,rouge,yupon,lanai,misky,spake,files,youse,rownd,shoon,prill,spats,judos,texas,codon,amain,makie,khoja,dibbs,halms,shawl,herma,fiars,ruggy,slugs,bleah,aiver,zarda,order,monad,dongs,vatos,birze,aller,iring,muhly,sheaf,fluey,hopes,selah,heben,agidi,limps,aliya,tugra,neele,yoops,trogs,terse,delve,shonk,plica,chogs,mgals,caber,srsly,donas,huffs,twang,putty,posho,combs,marvy,mynah,rebut,porgy,pommy,dhobi,ylide,neats,valet,spail,lager,drook,cesta,pesty,haiku,ferms,ryked,artis,vines,sling,tract,pendu,corbe,zayin,bimah,shits,legal,padma,kluge,gurus,plaga,cases,jefes,hamza,tacan,dreed,regot,mases,eaver,ecole,hired,astun,skatt,teths,cites,xylyl,stabs,depot,minos,sheik,grein,araba,teffs,trigo,lyase,demes,mobie,asura,rowie,dunes,hilsa,spall,loons,laced,oundy,roses,wongi,pakua,liefs,lehua,ajies,tabid,nolls,grype,deans,nagar,leaks,hadji,awner,babas,rocky,funds,bonza,skied,esile,ville,begar,lathi,zlote,zimbi,ghazi,forbs,malky,tosed,ginga,ebook,flamm,siens,semee,daiko,spate,pechs,wowse,khadi,seans,powns,birch,mixen,filum,vygie,wring,molly,lefte,schwa,gnash,pujas,villi,cobot,forth,gooky,goray,urges,chops,frees,gilds,block,pouks,pokal,lulls,cupro,kopje,incur,chibs,goers,nulla,harks,gobbi,redif,lobes,hilts,cagot,games,beast,snare,malax,juked,mucor,narre,reins,dioch,khaph,knife,scind,porer,rates,pills,razee,lezza,sperm,najib,yaups,baisa,xenic,bomas,torsi,wears,skrik,yolks,petar,clays,penie,kapok,divan,steep,gibus,ranas,airts,yealm,snary,orful,furan,thiol,demon,sista,cavus,stuck,skite,larnt,whack,mewls,libri,hoyle,inspo,tangs,audad,broom,feods,cruds,arcos,nirly,yelps,plyer,yokan,spait,lites,puppy,vigas,pudic,massa,ligan,dadla,ratus,peely,hotte,regos,teach,willy,gappy,pyets,nyssa,croup,whaup,aitch,optic,dirks,oaked,leafs,offie,putts,hooka,quern,dints,elsin,dooce,rimus,vibex,audax,vimen,fones,rithe,pride,dadis,guilt,yages,tocos,quims,snogs,fytte,leave,smoky,corks,peggy,porns,gloom,duros,dyers,haily,dicky,dorsa,busby,poyse,boofy,artel,kaput,swamy,those,mould,miler,kaiak,balls,moree,hyper,oozes,hipes,pasta,cwtch,riled,rompu,sclim,sodom,adhoc,pittu,breer,heros,agave,kolos,waulk,reels,yawls,mormo,maids,bonum,forts,viers,cryne,frack,deist,sowed,matty,harls,owche,solos,robed,scuds,lilac,sprue,clour,ulvas,wowee,hoxes,scows,scand,glaum,tweep,jaxie,pahos,galls,boree,blent,calid,clame,waver,heist,sield,mulie,canna,ptype,older,flare,gayer,nkosi,lenes,potro,mmkay,koans,lured,lurid,droit,barfi,kales,omers,ganev,daych,troak,parvo,buena,vinal,ovist,matza,loggy,wuses,larfs,mezze,targe,shere,ascus,kraut,isles,stang,campi,twoer,every,stupa,items,puyas,pooka,zones,kumys,yogis,shows,bines,laude,jells,meles,thoro,tards,colon,recte,radif,oches,gyved,mebos,sumac,bedim,foule,umble,twist,forza,abeat,conia,basas,pelas,phang,antra,cunts,truly,yitie,rubus,bivia,mooks,wants,honor,kuias,pyran,jaunt,octic,clags,tawts,mossy,claps,march,timps,bowes,lidos,bantz,minty,coses,wecht,lures,wawes,soppy,beted,perls,sabos,cylix,wield,ozzie,rasas,growl,derry,foist,uprun,rebec,kydst,prang,finny,tilts,mauby,gawcy,poupe,shogi,dazed,cauda,trass,julep,flogs,parse,bravi,taigs,amens,bakes,rewet,repin,terne,adeem,sudan,massy,gleam,prude,duffs,topoi,adred,amias,morah,perve,deink,melee,jinni,jiggy,cided,noust,noons,ramsh,messy,gursh,nurtz,drows,moses,kames,feres,cants,roots,pubby,shish,chits,podia,halls,wicks,afret,caked,artsy,onmun,nashi,visor,ictus,weros,unpin,peghs,rueda,looby,birdo,fumet,toner,chock,drear,betta,rykes,among,sloop,divos,shirs,mings,hooey,ronde,epode,pened,diebs,armor,comfy,bylaw,slabs,inned,mohel,zamis,allis,facer,setup,yogas,serfs,hilly,atoms,teads,bound,proof,libre,flush,knell,addax,kanal,doobs,tutty,nongs,barra,naras,pesos,chasm,kappa,belie,trill,hauld,ngaio,frail,pukey,groma,swill,fakes,rodeo,amnio,smock,scoup,webby,polka,murth,press,seeld,dikey,pests,keels,dured,jiver,place,miraa,skody,shoed,manat,ahuru,sylva,satem,loots,feyer,buffs,geese,reddy,kempt,dubbo,vowed,sines,combo,bluds,dovie,momos,ducti,coits,sulky,fancy,stunt,coast,marri,jambo,ethne,claim,malus,lamed,cobra,dedal,refit,innie,brats,sprog,sokes,taboo,calms,mooed,nalas,annex,brain,musha,gazer,bites,liege,lawed,marms,romeo,shaky,archi,wells,chack,choco,troop,jerky,saver,zombi,borel,rusma,pones,lazzi,blads,roake,blits,haven,gauch,cowed,sorbs,canoe,eughs,hogan,ulyie,verde,duars,liras,faddy,yeeek,norms,ormer,snoep,hours,renay,beigy,hirer,whish,aheap,ramon,pecan,songo,vatje,ponor,boils,tuath,rekes,loups,grece,plouk,mucus,betel,valse,plims,water,cleft,beset,gambs,pyats,pangs,jarta,rajes,voter,scary,yores,yagis,daven,geest,razes,frass,cozie,scion,salix,slier,rotes,lepak,piend,slaty,lummy,peons,kanae,dampy,maser,achar,smell,putin,burst,tains,javas,beefy,dzhos,large,gulfy,teuch,gonks,cives,realm,frogs,beath,basen,tatus,daris,taels,powsy,mazar,nomas,sweel,wifed,caman,silty,blues,flump,gummi,ooped,dinar,skelp,ducks,geare,going,salvo,souce,chape,wince,mudim,aimak,guide,unrid,bobol,phota,octyl,vireo,palar,neper,jurat,praos,magus,blume,deled,hoors,roper,outie,mazes,chaff,story,hexes,memes,pauxi,sessa,yucks,downa,folio,recap,livor,dhuti,fauve,pooja,gigot,laved,wryly,stoep,reard,orgue,notal,equal,swung,nerol,nomen,cruel,skald,masty,lowth,recur,tiger,jaffa,brits,didis,vague,bulla,whirl,mages,licet,irids,poort,seyen,laris,tired,carne,doilt,omrah,bases,skunk,snaps,knits,elint,slope,budis,arret,sedge,algum,zilas,paaho,roshi,flyte,lamer,bajus,purps,ember,ninth,bakra,amnia,patin,oozie,abohm,velds,wetas,acone,justs,choux,sorel,rosso,scene,baric,tratt,areae,cutup,noway,doggy,shivs,chirt,sound,ozena,avows,karst,frock,cruve,blued,smoor,kerns,knule,hoist,karri,swart,osier,boffo,hooky,mashy,rogan,selky,ouche,sally,okays,joker,faith,jaleo,ganof,colds,anime,pervo,pulli,plebe,tacky,demic,moeni,baffs,snook,cello,pures,viner,drops,grill,xenia,endew,jooks,lemed,kores,blurb,comms,jerry,sadza,agasp,almeh,mavin,elide,gaumy,farro,dorky,nefie,gluer,smowt,hunts,quale,makan,rowen,whare,ripes,tohos,pekan,aglow,jobed,berme,finch,hayey,fauns,mavie,rumor,pilea,currs,yeuch,oxide,franc,gelts,shans,sewer,slubs,myals,resew,craic,keefs,paire,bants,krubi,ludos,linen,lards,linns,coxes,debud,awoke,nying,dowfs,trait,ydrad,jutty,woozy,bulgy,flams,snoop,mizes,torso,bears,auloi,preps,manzo,sayst,gleis,comix,drawn,cavel,globi,hauds,moods,jakey,hafiz,devil,emery,clave,cinch,spies,roule,comae,swank,eikon,sizel,nitry,taver,stove,kcals,mince,ruses,beret,zoist,geres,toppy,mucic,drive,godso,flays,numps,powie,kitty,erven,mokes,daric,surah,dummy,broos,todea,koels,maleo,rosps,levee,blabs,sames,skroo,tunic,thigh,maybe,borax,spewy,dewan,meaks,pawed,delta,blude,slily,eruct,duppy,gauje,genae,filth,fusil,reads,burse,duomo,style,wunga,neemb,mekka,thill,venus,grans,bayas,theed,fanks,basto,trips,narcs,fugle,patio,mumms,withe,dsomo,pured,tauts,badge,croak,loave,argol,yohah,lingo,jedis,tetra,sorra,fleys,basso,damna,tiled,aread,mohua,talky,roist,hying,haoma,blist,rapid,feria,duras,ranee,twocs,faint,quare,floes,rooms,props,mirch,scare,bourg,wiser,ethal,pilei,birle,piert,wawas,hygge,alary,bawds,tupik,tills,laggy,hapus,coomb,argon,sexto,meynt,trick,gamic,sarks,neems,rover,mouls,axman,deair,spill,abuzz,nagor,dowps,cusec,soaps,nazir,bushy,jumbo,mamee,tical,sooey,sorbo,lurer,sinsi,frigs,udals,yurta,plums,punch,books,pesta,sleys,moops,saves,taler,chick,mugos,amped,barps,muzak,dotes,klett,preta,yampy,smick,seres,lovee,telco,crost,gofer,quabs,brans,myoma,modus,guild,chams,flaxy,rails,micky,rohus,steme,wormy,doula,frame,loony,fears,eupad,bitou,pippy,tanky,purty,shuln,mitey,milfs,cited,halfa,conks,stoun,monte,solum,ferry,seria,bilgy,vired,sient,hinau,kalam,amirs,maras,stipe,whows,ebbet,zorse,jotty,panda,swear,poons,deids,patus,earnt,bitsy,jetee,thraw,brool,froes,pulik,didst,tawny,beets,ganef,sutta,visna,cafes,kipps,beins,comes,apted,cozes,ichor,glits,onion,dayan,leish,veiny,sloka,douts,steed,flued,ayres,creel,deens,mozos,weepy,apace,sools,wamed,icier,cocci,musos,amble,subak,dykes,pitta,ubacs,mooly,mahua,jarps,ardor,mahoe,bouts,sposa,mucks,gowds,kyats,hunks,shave,knaps,fouth,showd,canal,certs,queso,gryke,indri,sikas,cozed,mamie,pukas,keeps,spoke,azans,taffy,cliff,tames,aulos,ensue,pilaw,stott,laity,labne,colly,ficin,fucus,pousy,podge,right,swies,twirk,tweet,lolas,spelk,blees,yodel,admix,porey,veves,moobs,wuddy,neese,raads,adnex,ivied,stomp,wonky,pulpy,stung,erics,titis,squit,bicky,nirls,holey,chant,pubis,cutie,embog,mined,apaid,wends,umphs,monty,uncle,mumus,stens,roman,breis,niter,novae,rival,jumpy,gamey,ricks,limit,nigre,hairs,unwon,linux,sowar,sapid,ebbed,newly,jnana,burrs,diner,bunje,basic,rouks,louis,mardy,comme,inter,trets,ataps,slate,hetes,bagua,whump,adsum,abled,sided,wryer,ulama,kebar,sport,stary,trows,loric,freer,dipso,shute,briss,bunts,rilly,ursae,perea,kythe,input,rapee,fetta,repen,lammy,veals,actas,cyton,faurd,smaak,sybow,stops,nanas,dooly,ghost,bumbo,micro,broil,leant,acmic,outby,skyrs,yrent,boaty,brown,ajiva,bathe,hakim,refly,mence,mires,mafic,treks,motor,snigs,schmo,pedos,perms,odums,sewin,happy,ghats,roque,dunts,benne,birth,murri,gadis,firks,hoars,quete,retin,slags,shirt,gonef,token,oboes,honed,merds,noggs,thawy,mitre,bahut,hares,joles,kelpy,triad,poche,mocap,swami,tocky,femal,goary,waacs,dunny,decal,fungs,cadgy,jalap" + }; + private static final Set WORDS = load(); + + private BlockleDictionary() { + } + + public static boolean contains(String word) { + return word != null && WORDS.contains(word.toLowerCase(Locale.ROOT)); + } + + public static int size() { + return WORDS.size(); + } + + private static Set load() { + Set words = new HashSet<>(); + for (String chunk : CHUNKS) { + Collections.addAll(words, chunk.split(",")); + } + return Set.copyOf(words); + } +} + diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleGame.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleGame.java new file mode 100644 index 00000000..96d36a96 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/computer/blockle/BlockleGame.java @@ -0,0 +1,30 @@ +package com.craisinlord.antarchy.content.computer.blockle; + +public final class BlockleGame { + private BlockleGame() { + } + + public static String evaluate(String answer, String guess) { + if (answer == null || guess == null || answer.length() != 5 || guess.length() != 5) return "XXXXX"; + char[] result = {'X', 'X', 'X', 'X', 'X'}; + int[] remaining = new int[26]; + for (int index = 0; index < 5; index++) { + if (answer.charAt(index) == guess.charAt(index)) { + result[index] = 'G'; + } else { + remaining[answer.charAt(index) - 'a']++; + } + } + for (int index = 0; index < 5; index++) { + if (result[index] == 'G') { + continue; + } + int letter = guess.charAt(index) - 'a'; + if (letter >= 0 && letter < remaining.length && remaining[letter] > 0) { + result[index] = 'Y'; + remaining[letter]--; + } + } + return new String(result); + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java index 6deea10d..4f833207 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/creative/CreativeTabContents.java @@ -640,7 +640,7 @@ public final class CreativeTabContents { acceptPotionFamily(output, potionPath); } for (String diskId : List.of("antarchy:introduction", "antarchy:chronosphere", "antarchy:toreterror_arena", "antarchy:high_fructose_corn_syrup", - "antarchy:elythia", "antarchy:cavaryn", "antarchy:thoraxis", "antarchy:temporal_fields", "antarchy:bloodglass", "antarchy:vortex")) { + "antarchy:elythia", "antarchy:flying_squirrel", "antarchy:cavaryn", "antarchy:thoraxis", "antarchy:temporal_fields", "antarchy:bloodglass", "antarchy:vortex")) { ItemStack disk = new ItemStack(AntarchyObjects.FLOPPY_DISK.get()); disk.set(AntarchyObjects.FLOPPY_DISK_COMPONENT.get(), ResourceLocation.parse(diskId)); output.accept(disk); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/portal/DimensionalTearEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/portal/DimensionalTearEntity.java index 67ae7bdc..6758adb8 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/portal/DimensionalTearEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/portal/DimensionalTearEntity.java @@ -32,6 +32,7 @@ import net.minecraft.world.Difficulty; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Mob; @@ -117,7 +118,7 @@ public class DimensionalTearEntity extends Entity implements GeoEntity { int lifetimeTicks, UUID queenId, int count) { DimensionalTearEntity tear = create(level, pos, yaw, lifetimeTicks); tear.queenOwnerId = queenId; - tear.queenManticoreCount = Math.max(1, count); + tear.queenManticoreCount = Math.max(0, count); QUEEN_TEAR_IDS.computeIfAbsent(queenId, ignored -> new HashSet<>()).add(tear.getUUID()); return tear; } @@ -472,6 +473,16 @@ public class DimensionalTearEntity extends Entity implements GeoEntity { return true; } + @Override + public boolean hurt(DamageSource source, float amount) { + if (this.queenOwnerId != null && source.getDirectEntity() instanceof Projectile + && !this.level().isClientSide) { + this.removeLinkedPair(); + return true; + } + return false; + } + @Override public boolean fireImmune() { return true; diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/KingEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/KingEntity.java index 850f90c2..8ee3ae4e 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/KingEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/KingEntity.java @@ -55,10 +55,8 @@ import com.craisinlord.antarchy.content.entity.royal.decree.ComeNoCloserDecree; import com.craisinlord.antarchy.content.entity.royal.decree.DoNotRunDecree; import com.craisinlord.antarchy.content.entity.royal.decree.FightMeCowardDecree; import com.craisinlord.antarchy.content.entity.royal.decree.HandsOffTheCrownDecree; -import com.craisinlord.antarchy.content.entity.royal.decree.KeepYourDistanceDecree; import com.craisinlord.antarchy.content.entity.royal.decree.KneelDecree; import com.craisinlord.antarchy.content.entity.royal.decree.NoRespiteDecree; -import com.craisinlord.antarchy.content.entity.royal.decree.NoRetreatDecree; import com.craisinlord.antarchy.content.entity.royal.decree.RoyalDecree; import com.craisinlord.antarchy.content.entity.royal.decree.ShowNoMercyDecree; import com.craisinlord.antarchy.content.entity.royal.decree.SkyIsMineDecree; @@ -89,8 +87,6 @@ public class KingEntity extends RoyalBossEntity { private static final int BEHAVIOR_SCORE_CAP = 12; /** Keep the tree-bound patrol safely inside the authored tree footprint. */ private static final double TREE_ORBIT_RADIUS = 128.0D; - private static final double TREE_RETURN_RADIUS = 192.0D; - private static final double TREE_RETURN_RELEASE_RADIUS = 144.0D; private static final double TREE_ORBIT_ANGLE_STEP = 0.014D; private static final int TREE_ORBIT_PATH_SAMPLES = 16; private static final double KING_FOLLOW_RANGE = 192.0D; @@ -108,7 +104,6 @@ public class KingEntity extends RoyalBossEntity { private double treePatrolMaximumY; private double treePatrolAngle; private boolean treePatrolBound; - private boolean returningToTree; private int patrolCooldownTicks; private int decreeCooldownTicks; private int activeDecreeTicks; @@ -118,6 +113,7 @@ public class KingEntity extends RoyalBossEntity { private int iceballCooldownTicks = 120; private int iceSpikeCooldownTicks = 160; private boolean decreeRetreatPressure; + private int royalBoundaryGraceTicks; @Nullable private ServerPlayer exileTarget; private int exileTicks; @@ -151,7 +147,7 @@ public class KingEntity extends RoyalBossEntity { } public static AttributeSupplier.Builder createAttributes() { - return createBaseAttributes(AntarchySettings.kingHealth(), AntarchySettings.kingAttackDamage()) + return createBaseAttributes(AntarchySettings.kingHealth(), AntarchySettings.kingAttackDamage(), AntarchySettings.kingArmor()) .add(net.minecraft.world.entity.ai.attributes.Attributes.FOLLOW_RANGE, KING_FOLLOW_RANGE); } @@ -373,14 +369,11 @@ public class KingEntity extends RoyalBossEntity { @Override public void tick() { - if (!this.level().isClientSide && this.shouldReturnToTree()) { - this.returningToTree = true; - this.setTarget(null); - } super.tick(); if (this.level().isClientSide) { return; } + this.tickRoyalBoundary((ServerLevel) this.level()); this.tickComeNoCloserIndicator(); this.tickRoyalPunishment(); this.tickPendingExileAnimation(); @@ -390,21 +383,6 @@ public class KingEntity extends RoyalBossEntity { ServerLevel serverLevel = (ServerLevel) this.level(); this.iceBuildup.entrySet().removeIf(entry -> serverLevel.getEntity(entry.getKey()) == null); if (this.iceBuildup.size() > 16) this.iceBuildup.clear(); - if (this.returningToTree) { - this.setTarget(null); - this.decreeRetreatPressure = false; - if (this.treePatrolBound && this.treePatrolCenter != null) { - this.setRoyalFlying(true); - if (this.isWithinTreeReturnReleaseRadius()) { - this.returningToTree = false; - } else { - this.tickTreePatrol(); - return; - } - } else { - this.returningToTree = false; - } - } LivingEntity target = this.getTarget(); if (target != null && !this.isDeadOrDying() && this.level() instanceof ServerLevel level) { this.trackBehavior(target); @@ -474,14 +452,44 @@ public class KingEntity extends RoyalBossEntity { } } - private boolean shouldReturnToTree() { - return this.treePatrolBound && this.treePatrolCenter != null - && this.horizontalDistanceToTreeSqr() > TREE_RETURN_RADIUS * TREE_RETURN_RADIUS; - } - - private boolean isWithinTreeReturnReleaseRadius() { - return this.treePatrolCenter != null - && this.horizontalDistanceToTreeSqr() <= TREE_RETURN_RELEASE_RADIUS * TREE_RETURN_RELEASE_RADIUS; + private void tickRoyalBoundary(ServerLevel level) { + if (!this.treePatrolBound || this.treePatrolCenter == null) { + return; + } + double boundaryRadius = Math.max(32.0D, AntarchySettings.royalBoundaryRadius()); + double distance = Math.sqrt(this.horizontalDistanceToTreeSqr()); + if (distance > boundaryRadius) { + Vec3 towardCenter = this.treePatrolCenter.subtract(this.position()).multiply(1.0D, 0.0D, 1.0D); + if (towardCenter.lengthSqr() > 0.001D) { + towardCenter = towardCenter.normalize(); + this.getMoveControl().setWantedPosition(this.getX() + towardCenter.x * 12.0D, + this.groundYBelow(this.getX() + towardCenter.x * 12.0D, + this.getZ() + towardCenter.z * 12.0D) + FLYING_PREFERRED_HOVER, + this.getZ() + towardCenter.z * 12.0D, 1.4D); + } + } + LivingEntity target = this.getTarget(); + if (target == null || !target.isAlive()) { + this.royalBoundaryGraceTicks = 0; + return; + } + double warningRadius = Math.min(boundaryRadius, Math.max(16.0D, AntarchySettings.royalBoundaryWarningRadius())); + double targetDistance = Math.sqrt(target.position().subtract(this.treePatrolCenter).multiply(1.0D, 0.0D, 1.0D).lengthSqr()); + if (targetDistance > warningRadius) { + if (this.tickCount % 5 == 0) { + level.sendParticles(ParticleTypes.END_ROD, target.getX(), target.getY() + 1.0D, target.getZ(), + 4, 0.3D, 0.5D, 0.3D, 0.02D); + } + if (targetDistance > boundaryRadius) { + this.royalBoundaryGraceTicks++; + if (this.royalBoundaryGraceTicks > Math.max(0, AntarchySettings.royalBoundaryGraceTicks()) + && this.tickCount % 20 == 0) { + this.invokeJudgment(target); + } + } + } else { + this.royalBoundaryGraceTicks = 0; + } } private double horizontalDistanceToTreeSqr() { @@ -824,10 +832,13 @@ public class KingEntity extends RoyalBossEntity { } private void tickKingWholeBody(ServerLevel level, LivingEntity target) { + if (this.isRoyalRecoveryActive()) { + return; + } boolean skyIsMine = this.activeDecree instanceof SkyIsMineDecree; boolean forceFar = this.decreeRetreatPressure || this.activeDecree instanceof ComeNoCloserDecree - || this.activeDecree instanceof KeepYourDistanceDecree; + ; { double distance = target.distanceTo(this); @@ -1013,7 +1024,7 @@ public class KingEntity extends RoyalBossEntity { for (int lane = -1; lane <= 1; lane++) { Vec3 point = start.add(line.scale(distance)).add(side.scale(lane * (i % 2 == 0 ? 2.0D : 0.0D))); double y = this.groundYBelow(point.x, point.z) + 0.1D; - RoyalIceSpikeEntity spike = RoyalIceSpikeEntity.create(level, new Vec3(point.x, y, point.z)); + RoyalIceSpikeEntity spike = RoyalIceSpikeEntity.create(level, new Vec3(point.x, y, point.z), this); level.addFreshEntity(spike); } } @@ -1053,12 +1064,15 @@ public class KingEntity extends RoyalBossEntity { Vec3 push = toTarget.normalize().scale(3.2D); living.setDeltaMovement(living.getDeltaMovement().add(push.x, 0.5D, push.z)); living.hasImpulse = true; - living.hurt(this.damageSources().mobAttack(this), 6.0F); + living.hurt(this.damageSources().mobAttack(this), this.scaleRoyalDamage(6.0D)); } level.sendParticles(ParticleTypes.SWEEP_ATTACK, this.getX() + forward.x * 6.0D, this.getY() + 4.0D, this.getZ() + forward.z * 6.0D, 12, 4.0D, 2.0D, 4.0D, 0.0D); } private void tickDecree(ServerLevel level, LivingEntity target) { + if (this.isRoyalRecoveryActive() && this.activeDecree == null) { + return; + } if (!(target instanceof ServerPlayer player) || !target.isAlive() || target.level() != level) { if (this.activeDecree != null) { this.endDecree(target); @@ -1137,6 +1151,7 @@ public class KingEntity extends RoyalBossEntity { this.activeDecreeTicks = 0; this.decreeRetreatPressure = false; this.decreeCooldownTicks = AntarchySettings.royalDecreeCooldownTicks(); + this.startRoyalRecovery(40); } public void clearActiveDecree() { @@ -1175,7 +1190,7 @@ public class KingEntity extends RoyalBossEntity { if (this.judgmentCooldowns.getOrDefault(target.getUUID(), 0L) <= now) { this.judgmentCooldowns.put(target.getUUID(), now + 20L); this.projectRoyalSound(AntarchySoundEvents.KING_JUDGEMENT.get(), 4.0F, 1.0F, target); - target.hurt(this.damageSources().magic(), 6.0F); + target.hurt(this.damageSources().magic(), this.scaleRoyalDamage(6.0D)); } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java index c10bf976..d620b41d 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/QueenEntity.java @@ -252,6 +252,7 @@ public class QueenEntity extends RoyalBossEntity { } private void tickDreamFireballs() { + if (this.isRoyalRecoveryActive()) return; if (!(this.level() instanceof ServerLevel level)) return; LivingEntity target = this.getTarget(); if (target == null || !target.isAlive() || !this.canAttack(target)) return; @@ -360,6 +361,7 @@ public class QueenEntity extends RoyalBossEntity { } private void tickManticoreSummon() { + if (this.isRoyalRecoveryActive()) return; if (this.manticoreSummonCooldownTicks > 0) { this.manticoreSummonCooldownTicks--; return; @@ -386,6 +388,7 @@ public class QueenEntity extends RoyalBossEntity { ? this.cooldown(Math.max(20, AntarchySettings.queenManticoreSummonCooldownTicks())) : FAILED_SUMMON_RETRY_TICKS; if (spawned > 0) { + this.startRoyalRecovery(45); this.manticoreAnimationPending = true; this.playRoyalSound(AntarchySoundEvents.QUEEN_ROAR.get(), 0.8F + this.random.nextFloat() * 0.12F); serverLevel.sendParticles(ParticleTypes.PORTAL, this.getX(), this.getY() + 2.0D, this.getZ(), @@ -413,6 +416,7 @@ public class QueenEntity extends RoyalBossEntity { private int spawnManticoreTears(ServerLevel level, LivingEntity target, int count) { int pairs = Math.max(1, Math.min(3, (count + 1) / 2)); int created = 0; + int remaining = count; Vec3 towardTarget = target.position().subtract(this.position()).multiply(1.0D, 0.0D, 1.0D); if (towardTarget.lengthSqr() < 1.0E-4D) { towardTarget = this.getViewVector(1.0F).multiply(1.0D, 0.0D, 1.0D); @@ -436,20 +440,24 @@ public class QueenEntity extends RoyalBossEntity { double pairSeparation = 3.5D + this.random.nextDouble() * 3.0D; Vec3 firstPos = pairCenter.add(pairDirection.scale(pairSeparation)); Vec3 secondPos = pairCenter.add(pairDirection.scale(-pairSeparation)); + int firstCount = Math.min(3, (remaining + 1) / 2); + int secondCount = Math.min(3, remaining / 2); DimensionalTearEntity first = DimensionalTearEntity.createQueenManticoreTear(level, firstPos, - tearYaw, 240, this.getUUID(), Math.min(3, count)); + tearYaw, 240, this.getUUID(), firstCount); DimensionalTearEntity second = DimensionalTearEntity.createQueenManticoreTear(level, secondPos, - tearYaw, 240, this.getUUID(), Math.min(3, count)); + tearYaw, 240, this.getUUID(), secondCount); first.linkTo(second); second.linkTo(first); level.addFreshEntity(first); level.addFreshEntity(second); created++; + remaining -= firstCount + secondCount; } return created; } private void tickQueenAbilities() { + if (this.isRoyalRecoveryActive()) return; if (this.gravityStompCooldownTicks > 0) this.gravityStompCooldownTicks--; if (this.momentumLockCooldownTicks > 0) this.momentumLockCooldownTicks--; if (this.crushingGravityCooldownTicks > 0) this.crushingGravityCooldownTicks--; @@ -523,7 +531,7 @@ public class QueenEntity extends RoyalBossEntity { case "crushing_gravity" -> { this.crushingGravityCooldownTicks = cooldown; this.royalEffects.start("crushing_gravity", CRUSHING_GRAVITY_DURATION, - () -> {}, this::tickCrushingGravity, () -> {}); + () -> {}, this::tickCrushingGravity, () -> this.startRoyalRecovery(35)); this.playRoyalSound(AntarchySoundEvents.QUEEN_ROAR.get(), 0.6F); } case "acceleration" -> { this.accelerationCooldownTicks = cooldown; this.startRoyalAcceleration(); } @@ -565,7 +573,7 @@ public class QueenEntity extends RoyalBossEntity { for (LivingEntity living : level.getEntitiesOfClass(LivingEntity.class, this.getBoundingBox().inflate(18.0D), this::canDamageWithRoyalAttack)) { double distance = Math.max(1.0D, living.distanceTo(this)); - living.hurt(source, (float) (12.0D * Math.max(0.25D, 1.0D - distance / 24.0D))); + living.hurt(source, this.scaleRoyalDamage(12.0D * Math.max(0.25D, 1.0D - distance / 24.0D))); Vec3 push = living.position().subtract(this.position()).normalize().scale(1.3D); living.setDeltaMovement(living.getDeltaMovement().add(push.x, 0.65D, push.z)); living.hasImpulse = true; @@ -611,6 +619,7 @@ public class QueenEntity extends RoyalBossEntity { } } this.frozenVelocities.clear(); + this.startRoyalRecovery(35); }); this.playRoyalSound(AntarchySoundEvents.QUEEN_ROAR.get(), 0.5F); } @@ -669,6 +678,7 @@ public class QueenEntity extends RoyalBossEntity { this.setRoyalAccelerated(false); removeAccelModifier(this.getAttribute(Attributes.MOVEMENT_SPEED), ACCEL_SPEED_ID); removeAccelModifier(this.getAttribute(Attributes.FLYING_SPEED), ACCEL_FLY_ID); + this.startRoyalRecovery(30); }); } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBlackHoleEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBlackHoleEntity.java index 91577d9d..b6cf65f5 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBlackHoleEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBlackHoleEntity.java @@ -355,7 +355,9 @@ public class RoyalBlackHoleEntity extends Entity implements GeoEntity { } double distance = Math.max(1.0D, living.position().distanceTo(center)); float falloff = (float) Math.max(0.25D, 1.0D - distance / radius); - living.hurt(source, 26.0F * falloff); + double damage = 26.0D * falloff; + living.hurt(source, this.ownerEntity() instanceof RoyalBossEntity royalBoss + ? royalBoss.scaleRoyalDamage(damage) : (float) damage); Vec3 launch = living.position().subtract(center).normalize().scale(2.6D * falloff); living.setDeltaMovement(launch.x, 1.1D * falloff + 0.4D, launch.z); living.hasImpulse = true; diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBossEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBossEntity.java index f7d2f576..c6f46be2 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBossEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalBossEntity.java @@ -14,7 +14,11 @@ import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; import com.craisinlord.antarchy.content.gravity.AntarchyGravityRotationUtil; import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import java.util.UUID; +import net.minecraft.resources.ResourceLocation; import net.minecraft.network.chat.Component; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; @@ -37,6 +41,8 @@ import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.attributes.AttributeInstance; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.control.FlyingMoveControl; import net.minecraft.world.entity.ai.control.MoveControl; import net.minecraft.world.entity.ai.goal.FloatGoal; @@ -100,6 +106,8 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult private static final int CRUSH_MAX_BLOCKS = 24; private static final double CRUSH_MAX_RESISTANCE = 60.0D; private static final float CRUSH_DROP_CHANCE = 0.1F; + private static final int RECOVERY_AFTER_BEAM_TICKS = 30; + private static final ResourceLocation MULTIPLAYER_DAMAGE_ID = ResourceLocation.fromNamespaceAndPath("antarchy", "royal_multiplayer_damage"); private static final int OBSTRUCTION_CLEAR_INTERVAL_TICKS = 5; private static final double OBSTRUCTION_CLEAR_RADIUS = 3.5D; private static final int OBSTRUCTION_CLEAR_MAX_BLOCKS = 24; @@ -177,6 +185,10 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult @Nullable private Vec3 aerialCombatAnchor; private int aerialCombatAnchorTicks; + private int recoveryWindowTicks; + private boolean multiplayerScalingInitialized; + private final Set encounterParticipants = new HashSet<>(); + private double royalDamageMultiplier = 1.0D; @Nullable private Entity[] multipartParts; @@ -249,10 +261,14 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult } public static AttributeSupplier.Builder createBaseAttributes(double health, double attackDamage) { + return createBaseAttributes(health, attackDamage, AntarchySettings.royalBossArmor()); + } + + protected static AttributeSupplier.Builder createBaseAttributes(double health, double attackDamage, double armor) { return Mob.createMobAttributes() .add(Attributes.MAX_HEALTH, health) .add(Attributes.ATTACK_DAMAGE, attackDamage) - .add(Attributes.ARMOR, AntarchySettings.royalBossArmor()) + .add(Attributes.ARMOR, armor) .add(Attributes.FOLLOW_RANGE, AntarchySettings.royalBossFollowRange()) .add(Attributes.MOVEMENT_SPEED, AntarchySettings.royalBossMovementSpeed()) .add(Attributes.FLYING_SPEED, AntarchySettings.royalBossMovementSpeed()) @@ -447,6 +463,9 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); this.attackScheduler.tick(); + if (this.recoveryWindowTicks > 0) { + this.recoveryWindowTicks--; + } if (this.isRoyalFlying() && this.tickCount % 40 == 0 && this.royalFlyLoopSound() != null) { this.playRoyalSound(this.royalFlyLoopSound(), 0.92F + this.random.nextFloat() * 0.12F); @@ -464,6 +483,8 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult return; } + this.initializeMultiplayerScaling(primaryTarget); + this.tickCombatLocomotionMode(primaryTarget); boolean aeriallyStabilized = this.steerTowardTarget(primaryTarget); if (!aeriallyStabilized) { @@ -475,6 +496,9 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult Phase phase = this.phase(); int activeHeadAttacks = 0; + if (this.recoveryWindowTicks > 0) { + return; + } for (RoyalHead head : this.heads) { if (this.attackScheduler.laneBusy(this.headLane(head))) { activeHeadAttacks++; @@ -503,6 +527,9 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult } private void tickRoyalBeam(LivingEntity primaryTarget) { + if (this.recoveryWindowTicks > 0) { + return; + } Phase phase = this.phase(); int activeBeams = 0; for (RoyalHead head : this.heads) { @@ -588,6 +615,7 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult @Override public void onComplete() { RoyalBossEntity.this.stopRoyalBeam(head); + RoyalBossEntity.this.startRoyalRecovery(RECOVERY_AFTER_BEAM_TICKS); } })) { continue; @@ -601,6 +629,47 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult return phase.maxConcurrentHeadAttacks(); } + protected boolean isRoyalRecoveryActive() { + return this.recoveryWindowTicks > 0; + } + + protected void startRoyalRecovery(int ticks) { + this.recoveryWindowTicks = Math.max(this.recoveryWindowTicks, ticks); + } + + private void initializeMultiplayerScaling(LivingEntity target) { + if (this.multiplayerScalingInitialized || !(this.level() instanceof ServerLevel level)) { + return; + } + this.multiplayerScalingInitialized = true; + if (!AntarchySettings.royalBossMultiplayerScalingEnabled()) { + return; + } + int maxPlayers = Math.max(1, AntarchySettings.royalBossScalingMaxPlayers()); + List players = level.getPlayers(player -> player.isAlive() + && !player.isSpectator() + && player.distanceToSqr(this) <= AntarchySettings.royalBossFollowRange() * AntarchySettings.royalBossFollowRange()); + if (target instanceof ServerPlayer player && player.isAlive() && !players.contains(player)) { + players.add(player); + } + int participantCount = Math.min(maxPlayers, Math.max(1, players.size())); + for (ServerPlayer player : players) { + if (this.encounterParticipants.size() >= participantCount) { + break; + } + this.encounterParticipants.add(player.getUUID()); + } + double healthMultiplier = 1.0D + Math.max(0, participantCount - 1) + * Math.max(0.0D, AntarchySettings.royalBossHealthPerAdditionalPlayer()); + double baseHealth = this.getAttributeBaseValue(Attributes.MAX_HEALTH); + this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(baseHealth * healthMultiplier); + this.setHealth(this.getMaxHealth()); + double damageMultiplier = Math.max(0.0D, participantCount - 1) + * Math.max(0.0D, AntarchySettings.royalBossDamagePerAdditionalPlayer()); + this.royalDamageMultiplier = 1.0D + damageMultiplier; + this.applyRoyalDamageModifier(); + } + private void stopRoyalBeam(RoyalHead head) { int index = head.slot().ordinal(); head.setBeamActive(false); @@ -1211,12 +1280,38 @@ public abstract class RoyalBossEntity extends Monster implements GeoEntity, Mult public void addAdditionalSaveData(CompoundTag tag) { super.addAdditionalSaveData(tag); tag.putBoolean("RoyalFlying", this.isRoyalFlying()); + tag.putBoolean("RoyalScalingInitialized", this.multiplayerScalingInitialized); + tag.putInt("RoyalScalingParticipants", this.encounterParticipants.size()); + tag.putDouble("RoyalDamageMultiplier", this.royalDamageMultiplier); } @Override public void readAdditionalSaveData(CompoundTag tag) { super.readAdditionalSaveData(tag); this.setRoyalFlying(!tag.contains("RoyalFlying") || tag.getBoolean("RoyalFlying")); + this.multiplayerScalingInitialized = tag.getBoolean("RoyalScalingInitialized"); + this.royalDamageMultiplier = Math.max(1.0D, tag.getDouble("RoyalDamageMultiplier")); + if (tag.contains("RoyalScalingParticipants")) { + int count = Math.max(1, tag.getInt("RoyalScalingParticipants")); + for (int i = 0; i < count; i++) { + this.encounterParticipants.add(new UUID(0L, i + 1L)); + } + } + this.applyRoyalDamageModifier(); + } + + public float scaleRoyalDamage(double damage) { + return (float) (damage * this.royalDamageMultiplier); + } + + private void applyRoyalDamageModifier() { + AttributeInstance attackDamage = this.getAttribute(Attributes.ATTACK_DAMAGE); + if (attackDamage == null || this.royalDamageMultiplier <= 1.0D + || attackDamage.getModifier(MULTIPLAYER_DAMAGE_ID) != null) { + return; + } + attackDamage.addPermanentModifier(new AttributeModifier(MULTIPLAYER_DAMAGE_ID, + this.royalDamageMultiplier - 1.0D, AttributeModifier.Operation.ADD_MULTIPLIED_BASE)); } @Override diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalElementalProjectileEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalElementalProjectileEntity.java index fec4280b..efaf689a 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalElementalProjectileEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalElementalProjectileEntity.java @@ -136,7 +136,9 @@ public class RoyalElementalProjectileEntity extends ThrowableProjectile implemen this::canDamageWithImpact)) { double distance = Math.max(0.5D, living.position().distanceTo(center)); float falloff = (float) Math.max(0.25D, 1.0D - distance / 5.0D); - living.hurt(source, (float) (AntarchySettings.kingFireballDamage() * falloff)); + double damage = AntarchySettings.kingFireballDamage() * falloff; + living.hurt(source, this.getOwner() instanceof RoyalBossEntity royalBoss + ? royalBoss.scaleRoyalDamage(damage) : (float) damage); living.setRemainingFireTicks(Math.max(living.getRemainingFireTicks(), 120)); } igniteImpact(level, center, this.isDreamFireball()); @@ -170,7 +172,9 @@ public class RoyalElementalProjectileEntity extends ThrowableProjectile implemen DamageSource source = this.damageSources().mobProjectile(this, this.getOwner() instanceof LivingEntity living ? living : null); for (LivingEntity living : level.getEntitiesOfClass(LivingEntity.class, new AABB(center, center).inflate(5.0D), this::canDamageWithImpact)) { - living.hurt(source, (float) AntarchySettings.kingIceballDamage()); + double damage = AntarchySettings.kingIceballDamage(); + living.hurt(source, this.getOwner() instanceof RoyalBossEntity royalBoss + ? royalBoss.scaleRoyalDamage(damage) : (float) damage); living.setTicksFrozen(Math.min(living.getTicksRequiredToFreeze() + 80, living.getTicksFrozen() + 180)); living.addEffect(new net.minecraft.world.effect.MobEffectInstance(net.minecraft.world.effect.MobEffects.MOVEMENT_SLOWDOWN, 120, 3)); } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalIceSpikeEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalIceSpikeEntity.java index af78aad3..8b0f58ba 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalIceSpikeEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/RoyalIceSpikeEntity.java @@ -12,6 +12,8 @@ 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 java.util.UUID; +import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.animation.AnimatableManager; @@ -26,6 +28,8 @@ public class RoyalIceSpikeEntity extends Entity implements GeoEntity { private static final String ANIMATION_CONTROLLER = "ice_spike"; private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); private boolean impacted; + @Nullable + private UUID ownerId; public RoyalIceSpikeEntity(EntityType type, Level level) { super(type, level); @@ -39,6 +43,12 @@ public class RoyalIceSpikeEntity extends Entity implements GeoEntity { return spike; } + public static RoyalIceSpikeEntity create(ServerLevel level, Vec3 position, LivingEntity owner) { + RoyalIceSpikeEntity spike = create(level, position); + spike.ownerId = owner.getUUID(); + return spike; + } + @Override protected void defineSynchedData(net.minecraft.network.syncher.SynchedEntityData.Builder builder) { } @@ -65,7 +75,10 @@ public class RoyalIceSpikeEntity extends Entity implements GeoEntity { DamageSource source = this.damageSources().magic(); for (LivingEntity living : level.getEntitiesOfClass(LivingEntity.class, new AABB(this.blockPosition()).inflate(2.2D), entity -> entity.isAlive())) { - living.hurt(source, (float) AntarchySettings.kingIceSpikeDamage()); + Entity owner = this.ownerId == null ? null : level.getEntity(this.ownerId); + living.hurt(source, owner instanceof RoyalBossEntity royalBoss + ? royalBoss.scaleRoyalDamage(AntarchySettings.kingIceSpikeDamage()) + : (float) AntarchySettings.kingIceSpikeDamage()); living.setTicksFrozen(Math.min(living.getTicksRequiredToFreeze() + 60, living.getTicksFrozen() + 100)); living.setDeltaMovement(living.getDeltaMovement().add(0.0D, 0.35D, 0.0D)); living.hasImpulse = true; @@ -76,11 +89,17 @@ public class RoyalIceSpikeEntity extends Entity implements GeoEntity { @Override protected void readAdditionalSaveData(CompoundTag tag) { this.impacted = tag.getBoolean("Impacted"); + if (tag.hasUUID("Owner")) { + this.ownerId = tag.getUUID("Owner"); + } } @Override protected void addAdditionalSaveData(CompoundTag tag) { tag.putBoolean("Impacted", this.impacted); + if (this.ownerId != null) { + tag.putUUID("Owner", this.ownerId); + } } @Override diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/beam/RoyalBeamController.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/beam/RoyalBeamController.java index 0b0cb3fc..2825384f 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/beam/RoyalBeamController.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/beam/RoyalBeamController.java @@ -154,13 +154,13 @@ public final class RoyalBeamController { boolean pathMutates = terrainMode == RoyalBeamTerrainMode.DESTROY; for (double walked = settings.pathStep(); walked < Math.min(distance, settings.range()); walked += settings.pathStep()) { Vec3 sample = shootFrom.add(direction.scale(walked)); - hurtEntitiesAround(sample, settings.pathDamageRadius(), settings.damage(), settings.knockback(), damageSource, settings.requireLineOfSightForDamage(), this.damagedThisTick); + hurtEntitiesAround(sample, settings.pathDamageRadius(), this.scaledDamage(settings.damage()), settings.knockback(), damageSource, settings.requireLineOfSightForDamage(), this.damagedThisTick); if (pathMutates && shouldMutateTerrain(settings, walked)) { mutateTerrainAround(sample, settings.pathTerrainRadius(), settings, terrainMode); } } - hurtEntitiesAround(beamEnd, settings.impactDamageRadius(), settings.damage(), settings.knockback(), damageSource, settings.requireLineOfSightForDamage(), this.damagedThisTick); + hurtEntitiesAround(beamEnd, settings.impactDamageRadius(), this.scaledDamage(settings.damage()), settings.knockback(), damageSource, settings.requireLineOfSightForDamage(), this.damagedThisTick); if (!shouldMutateTerrain(settings, distance)) { return; @@ -174,6 +174,10 @@ public final class RoyalBeamController { } } + private float scaledDamage(float damage) { + return this.owner instanceof RoyalBossEntity royalBoss ? royalBoss.scaleRoyalDamage(damage) : damage; + } + private boolean shouldMutateTerrain(RoyalBeamSettings settings, double distanceFromOwner) { return settings.terrainEnabled() && settings.maxTerrainMutationsPerTick() > 0 diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/AdvanceDecree.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/AdvanceDecree.java deleted file mode 100644 index a1aeab5e..00000000 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/AdvanceDecree.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.craisinlord.antarchy.content.entity.royal.decree; -import com.craisinlord.antarchy.content.entity.royal.KingEntity; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.entity.LivingEntity; -public final class AdvanceDecree implements RoyalDecree { - private static final double REQUIRED_RANGE = 14.0D; - public String translationKey() { return "decree.antarchy.advance"; } - public void apply(ServerLevel level, KingEntity king, LivingEntity target) { king.setDecreeRetreatPressure(true); } - @Override public Evaluation evaluate(ServerLevel level, KingEntity king, LivingEntity target) { - return target.distanceToSqr(king) > REQUIRED_RANGE * REQUIRED_RANGE ? Evaluation.VIOLATED : Evaluation.COMPLIANT; - } - @Override - public int contextWeight(KingEntity king, LivingEntity target) { - return 4 + king.behaviorScore(KingEntity.Behavior.KEEPING_FAR); - } -} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/KeepYourDistanceDecree.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/KeepYourDistanceDecree.java deleted file mode 100644 index 780db185..00000000 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/KeepYourDistanceDecree.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.craisinlord.antarchy.content.entity.royal.decree; -import com.craisinlord.antarchy.content.entity.royal.KingEntity; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.entity.LivingEntity; -public final class KeepYourDistanceDecree implements RoyalDecree { - private static final double INNER_RADIUS = 16.0D; - public String translationKey() { return "decree.antarchy.keep_your_distance"; } - public void apply(ServerLevel level, KingEntity king, LivingEntity target) { } - @Override public Evaluation evaluate(ServerLevel level, KingEntity king, LivingEntity target) { - return target.distanceToSqr(king) <= INNER_RADIUS * INNER_RADIUS ? Evaluation.VIOLATED : Evaluation.COMPLIANT; - } - @Override - public int contextWeight(KingEntity king, LivingEntity target) { - return 4 + king.behaviorScore(KingEntity.Behavior.HUGGING); - } -} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/NoRetreatDecree.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/NoRetreatDecree.java deleted file mode 100644 index ce190b32..00000000 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/royal/decree/NoRetreatDecree.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.craisinlord.antarchy.content.entity.royal.decree; -import com.craisinlord.antarchy.content.entity.royal.KingEntity; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.entity.LivingEntity; -public final class NoRetreatDecree implements RoyalDecree { - private static final double ALLOWED_RANGE = 26.0D; - public String translationKey() { return "decree.antarchy.no_retreat"; } - public void apply(ServerLevel level, KingEntity king, LivingEntity target) { - if (target.distanceToSqr(king) > ALLOWED_RANGE * ALLOWED_RANGE) { - king.invokeJudgment(target); - } - } - @Override - public int contextWeight(KingEntity king, LivingEntity target) { - return 4 + king.behaviorScore(KingEntity.Behavior.RETREATING); - } -} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/trades/ComputerScientistTradeManager.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/trades/ComputerScientistTradeManager.java new file mode 100644 index 00000000..406c16df --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/trades/ComputerScientistTradeManager.java @@ -0,0 +1,133 @@ +package com.craisinlord.antarchy.content.entity.trades; + +import com.craisinlord.antarchy.content.AntarchyObjects; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.packs.resources.ResourceManager; +import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; +import net.minecraft.util.profiling.ProfilerFiller; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.entity.npc.VillagerTrades; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.trading.ItemCost; +import net.minecraft.world.item.trading.MerchantOffer; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** Loads Computer Scientist offers from data/computer_scientist_trades/*.json. */ +public final class ComputerScientistTradeManager extends SimpleJsonResourceReloadListener { + private static final Gson GSON = new Gson(); + private static final String DIRECTORY = "computer_scientist_trades"; + private static final List GENERAL_DISKS = List.of( + id("introduction"), id("chronosphere"), id("high_fructose_corn_syrup"), + id("elythia"), id("flying_squirrel"), id("cavaryn"), id("thoraxis"), + id("temporal_fields"), id("bloodglass"), id("vortex")); + private static volatile List loadedTrades = List.of(); + + public ComputerScientistTradeManager() { + super(GSON, DIRECTORY); + } + + public static int[] slotsPerLevel() { + return new int[] {4, 2, 2, 3, 4}; + } + + public static VillagerTrades.ItemListing listing(int level, int index) { + return (trader, random) -> { + TradeEntry trade = loadedTrades.stream() + .filter(entry -> entry.level == level && entry.index == index) + .findFirst() + .orElse(null); + return trade == null ? null : trade.createOffer(random); + }; + } + + @Override + protected void apply(Map object, ResourceManager resourceManager, ProfilerFiller profiler) { + List parsed = new ArrayList<>(); + for (JsonElement file : object.values()) { + if (!file.isJsonObject()) continue; + JsonObject root = file.getAsJsonObject(); + if (root.has("trades") && root.get("trades").isJsonArray()) { + for (JsonElement element : root.getAsJsonArray("trades")) { + if (element.isJsonObject()) parsed.add(parse(element.getAsJsonObject())); + } + } else { + parsed.add(parse(root)); + } + } + loadedTrades = List.copyOf(parsed); + } + + private static TradeEntry parse(JsonObject json) { + return new TradeEntry( + integer(json, "level", 1), integer(json, "index", 0), + stack(json.getAsJsonObject("buy")), + json.has("second_buy") ? stack(json.getAsJsonObject("second_buy")) : null, + stack(json.getAsJsonObject("sell")), + json.has("sell_disk") ? json.get("sell_disk").getAsString() : null, + integer(json, "max_uses", 12), integer(json, "villager_xp", 5), + json.has("price_multiplier") ? json.get("price_multiplier").getAsFloat() : 0.05F, + json.has("chance") ? json.get("chance").getAsFloat() : 1.0F); + } + + private record TradeEntry(int level, int index, StackRange buy, StackRange secondBuy, + StackRange sell, String sellDisk, int maxUses, int villagerXp, + float priceMultiplier, float chance) { + private MerchantOffer createOffer(net.minecraft.util.RandomSource random) { + if (random.nextFloat() > chance) return null; + ItemCost buyCost = buy.toCost(random); + java.util.Optional secondCost = secondBuy == null + ? java.util.Optional.empty() : java.util.Optional.of(secondBuy.toCost(random)); + ItemStack result = sellDisk == null ? sell.toStack(random) : diskStack(sellDisk, random, sell.toStack(random).getCount()); + return new MerchantOffer(buyCost, secondCost, result, maxUses, villagerXp, priceMultiplier); + } + } + + private record StackRange(ResourceLocation item, int min, int max) { + private Item itemValue() { + return BuiltInRegistries.ITEM.get(item); + } + + private int count(net.minecraft.util.RandomSource random) { + return min == max ? min : min + random.nextInt(max - min + 1); + } + + private ItemCost toCost(net.minecraft.util.RandomSource random) { + return new ItemCost(itemValue(), count(random)); + } + + private ItemStack toStack(net.minecraft.util.RandomSource random) { + return new ItemStack(itemValue(), count(random)); + } + } + + private static StackRange stack(JsonObject json) { + int min = integer(json, "min", integer(json, "count", 1)); + int max = integer(json, "max", min); + return new StackRange(ResourceLocation.parse(json.get("item").getAsString()), min, max); + } + + private static ItemStack diskStack(String diskType, net.minecraft.util.RandomSource random, int count) { + ResourceLocation diskId = diskType.equals("random_general") + ? GENERAL_DISKS.get(random.nextInt(GENERAL_DISKS.size())) + : ResourceLocation.parse(diskType); + ItemStack disk = new ItemStack(AntarchyObjects.FLOPPY_DISK.get(), count); + disk.set(AntarchyObjects.FLOPPY_DISK_COMPONENT.get(), diskId); + return disk; + } + + private static int integer(JsonObject json, String key, int fallback) { + return json.has(key) ? json.get(key).getAsInt() : fallback; + } + + private static ResourceLocation id(String path) { + return ResourceLocation.fromNamespaceAndPath("antarchy", path); + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/VortexEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/VortexEntity.java index c350fe92..44e3527c 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/VortexEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/VortexEntity.java @@ -2,6 +2,8 @@ package com.craisinlord.antarchy.content.entity.vortex; import com.craisinlord.antarchy.config.AntarchySettings; import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager; +import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; +import com.craisinlord.antarchy.content.gravity.AntarchyGravityRotationUtil; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; @@ -200,7 +202,10 @@ public class VortexEntity extends Monster implements GeoEntity { private void tickCombatMovement(LivingEntity target) { this.faceTowards(target.position().add(0.0D, target.getBbHeight() * 0.5D, 0.0D), 12.0F, 8.0F); - this.getMoveControl().setWantedPosition(target.getX(), target.getY() + 2.5D, target.getZ(), 0.38D); + Vec3 gravityUp = Vec3.atLowerCornerOf( + AntarchyGravityRotationUtil.getGravityDownDirection(this).getOpposite().getNormal()); + Vec3 hoverPosition = target.position().add(gravityUp.scale(2.5D)); + this.getMoveControl().setWantedPosition(hoverPosition.x, hoverPosition.y, hoverPosition.z, 0.38D); if (this.attackCooldown <= 0 && this.distanceToSqr(target) <= ATTACK_RANGE * ATTACK_RANGE @@ -251,6 +256,7 @@ public class VortexEntity extends Monster implements GeoEntity { double distance = direction.length(); Vec3 drift = distance > 1.0E-6D ? direction.scale(0.24D / distance) : this.getViewVector(1.0F).scale(0.24D); WindVortexEntity vortex = WindVortexEntity.create(serverLevel, windVortexTypeSupplier.get(), origin, Vec3.ZERO, this, true); + vortex.setAxis(AntarchyGravityRotationUtil.getGravityDownDirection(this).getOpposite()); vortex.setTravel(drift); vortex.setTravelDuration(Mth.clamp((int) Math.ceil(distance / drift.length()), 8, 36)); vortex.setHoming(false); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/WindVortexEntity.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/WindVortexEntity.java index 043e6b0e..3ff59d1b 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/WindVortexEntity.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/entity/vortex/WindVortexEntity.java @@ -2,6 +2,8 @@ package com.craisinlord.antarchy.content.entity.vortex; import com.craisinlord.antarchy.config.AntarchySettings; import com.craisinlord.antarchy.content.AntarchyTags; +import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; +import com.craisinlord.antarchy.content.gravity.AntarchyGravityRotationUtil; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; @@ -208,12 +210,10 @@ public class WindVortexEntity extends Entity { } } else if (!lensVortex) { Vec3 current = this.getDeltaMovement(); + Vec3 axis = this.getAxis(); double downwardSpeed = Math.min(MAX_FALL_SPEED, Math.max(MINIMUM_DOWNWARD_DRIFT, - -current.y + FALL_ACCELERATION)); - Vec3 drift = new Vec3( - current.x * DRIFT_FRICTION, - -downwardSpeed, - current.z * DRIFT_FRICTION); + -current.dot(axis) + FALL_ACCELERATION)); + Vec3 drift = current.scale(DRIFT_FRICTION).add(axis.scale(-downwardSpeed)); Vec3 from = this.position(); Vec3 to = from.add(drift); HitResult blockHit = this.level().clip( @@ -323,20 +323,17 @@ public class WindVortexEntity extends Entity { : this.getDeltaMovement(); double speed = Mth.clamp(incoming.length(), 0.2D, 0.9D); Vec3 flow = incoming; - if (normal.y > 0.5D) { - flow = new Vec3(incoming.x, 0.0D, incoming.z); - } else if (normal.y < -0.5D) { - flow = new Vec3(incoming.x, 0.0D, incoming.z).add(0.0D, -0.08D, 0.0D); - } else { - Vec3 tangent = incoming.subtract(normal.scale(incoming.dot(normal))); + Vec3 tangent = incoming.subtract(normal.scale(incoming.dot(normal))); + if (tangent.lengthSqr() < 1.0E-6D) { + tangent = this.getAxis().cross(normal); if (tangent.lengthSqr() < 1.0E-6D) { - tangent = new Vec3(-normal.z, 0.0D, normal.x); - if (tangent.lengthSqr() < 1.0E-6D) { - tangent = new Vec3(0.0D, 0.0D, 1.0D); - } + tangent = new Vec3(0.0D, 1.0D, 0.0D).cross(normal); + } + if (tangent.lengthSqr() < 1.0E-6D) { + tangent = new Vec3(1.0D, 0.0D, 0.0D); } - flow = tangent.normalize().scale(speed); } + flow = tangent.normalize().scale(speed); if (flow.lengthSqr() < 1.0E-6D) { this.travelVelocity = Vec3.ZERO; this.setDeltaMovement(Vec3.ZERO); @@ -511,24 +508,20 @@ public class WindVortexEntity extends Entity { .add(tangent.scale(spin)) .add(basis.axis.scale(axialSpeed)) .scale(ENTITY_FORCE_SPEED_SCALE); - Vec3 current = entity.getDeltaMovement(); - Vec3 updatedMovement = new Vec3( - Mth.lerp(0.72D, current.x, wanted.x), - Mth.lerp(0.58D, current.y, wanted.y), - Mth.lerp(0.72D, current.z, wanted.z) - ); + Vec3 current = AntarchyGravityApi.getWorldVelocity(entity); + Vec3 updatedMovement = current.lerp(wanted, 0.72D); if (this.travelling) { - updatedMovement = updatedMovement.add( - this.travelVelocity.x * 0.8D * ENTITY_FORCE_SPEED_SCALE, - 0.0D, - this.travelVelocity.z * 0.8D * ENTITY_FORCE_SPEED_SCALE); + updatedMovement = updatedMovement.add(this.travelVelocity.scale(0.8D * ENTITY_FORCE_SPEED_SCALE)); } if (mode == VortexMode.UPWARD && entity.onGround()) { double minRise = (entity instanceof Player ? 0.38D : 0.3D) * ENTITY_FORCE_SPEED_SCALE; - updatedMovement = new Vec3(updatedMovement.x, Math.max(updatedMovement.y, minRise), updatedMovement.z); + Vec3 gravityUp = Vec3.atLowerCornerOf( + AntarchyGravityRotationUtil.getGravityDownDirection(entity).getOpposite().getNormal()); + double minimumAxialSpeed = Math.max(updatedMovement.dot(gravityUp), minRise); + updatedMovement = updatedMovement.add(gravityUp.scale(minimumAxialSpeed - updatedMovement.dot(gravityUp))); entity.setOnGround(false); } - entity.setDeltaMovement(updatedMovement); + AntarchyGravityApi.setWorldVelocity(entity, updatedMovement); if (entity instanceof Player) { entity.setOnGround(false); } @@ -542,7 +535,7 @@ public class WindVortexEntity extends Entity { Vec3 radial = radialVector.lengthSqr() < 1.0E-6D ? basis.sideA : radialVector.scale(1.0D / horizontal); Vec3 tangent = basis.axis.cross(radial).normalize(); double scale = this.launchStrength * Mth.clamp(this.getVortexHeight() / 5.0D, 0.5D, 2.5D); - entity.setDeltaMovement(tangent.scale(0.72D * scale * ENTITY_FORCE_SPEED_SCALE) + this.setWorldVelocity(entity, tangent.scale(0.72D * scale * ENTITY_FORCE_SPEED_SCALE) .add(radial.scale(0.34D * scale * ENTITY_FORCE_SPEED_SCALE)) .add(basis.axis.scale((0.78D + progress * 0.28D) * scale * ENTITY_FORCE_SPEED_SCALE))); entity.hasImpulse = true; @@ -578,7 +571,9 @@ public class WindVortexEntity extends Entity { Vec3 direction = distance < 1.0E-4D ? new Vec3(0.0D, 1.0D, 0.0D) : toOwner.scale(1.0D / distance); double arc = Mth.clamp(distance * 0.06D, 0.25D, 1.1D) * ENTITY_FORCE_SPEED_SCALE; double power = this.launchStrength * Mth.clamp(distance / 6.0D, 0.6D, 2.0D) * ENTITY_FORCE_SPEED_SCALE; - entity.setDeltaMovement(direction.scale(power).add(0.0D, arc, 0.0D)); + Vec3 gravityUp = Vec3.atLowerCornerOf( + AntarchyGravityRotationUtil.getGravityDownDirection(entity).getOpposite().getNormal()); + this.setWorldVelocity(entity, direction.scale(power).add(gravityUp.scale(arc))); entity.fallDistance = 0.0F; entity.hasImpulse = true; entity.hurtMarked = true; @@ -596,6 +591,10 @@ public class WindVortexEntity extends Entity { } } + private void setWorldVelocity(Entity entity, Vec3 velocity) { + AntarchyGravityApi.setWorldVelocity(entity, velocity); + } + private DamageSource damageSource() { Entity owner = this.getOwnerEntity(); if (owner instanceof LivingEntity living) { diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/guide/ComputerGuideData.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/guide/ComputerGuideData.java index 0af87166..e3189a8b 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/guide/ComputerGuideData.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/guide/ComputerGuideData.java @@ -41,14 +41,14 @@ public final class ComputerGuideData extends SimplePreparableReloadListener entriesFor(List diskIds) { if (AntarchySettings.unlockAllArchives()) { Map result = new LinkedHashMap<>(); - result.put(INTRODUCTION, new Entry(INTRODUCTION, "article", "general", "guide.antarchy.entry.introduction.title", "guide.antarchy.entry.introduction.subtitle", List.of("guide.antarchy.entry.introduction.description"), "", "", "", "")); + result.put(INTRODUCTION, new Entry(INTRODUCTION, "article", "general", "guide.antarchy.entry.introduction.title", "guide.antarchy.entry.introduction.subtitle", List.of("guide.antarchy.entry.introduction.description"), "", "", "", "", "")); result.putAll(entries); return result.values().stream().sorted(Comparator.comparing(entry -> entry.titleKey().toString())).toList(); } Map result = new LinkedHashMap<>(); for (ResourceLocation diskId : diskIds) { if (INTRODUCTION.equals(diskId)) { - result.put(INTRODUCTION, new Entry(INTRODUCTION, "article", "general", "guide.antarchy.entry.introduction.title", "guide.antarchy.entry.introduction.subtitle", List.of("guide.antarchy.entry.introduction.description"), "", "", "", "")); + result.put(INTRODUCTION, new Entry(INTRODUCTION, "article", "general", "guide.antarchy.entry.introduction.title", "guide.antarchy.entry.introduction.subtitle", List.of("guide.antarchy.entry.introduction.description"), "", "", "", "", "")); continue; } Disk disk = disks.get(diskId); @@ -115,9 +115,10 @@ public final class ComputerGuideData extends SimplePreparableReloadListener description = strings(object.get("description")); String item = string(object, "item", ""); String entity = string(object, "entity", ""); + String recipe = string(object, "recipe", ""); String structure = string(object, "structure", ""); String dimension = string(object, "dimension", ""); - target.put(id, new Entry(id, type, category, title, subtitle, description, item, entity, structure, dimension)); + target.put(id, new Entry(id, type, category, title, subtitle, description, item, entity, recipe, structure, dimension)); } private static void parseDisk(ResourceLocation id, JsonElement element, Map target) { @@ -163,13 +164,21 @@ public final class ComputerGuideData extends SimplePreparableReloadListener descriptionKeys, String itemId, String entityId, String structureId, String dimensionId) { + List descriptionKeys, String itemId, String entityId, String recipeId, String structureId, String dimensionId) { } public record Disk(ResourceLocation id, String category, String titleKey, List entries, String wallpaper) { diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/ComputerItem.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/ComputerItem.java index bbd4d438..78a5c6ee 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/ComputerItem.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/ComputerItem.java @@ -1,54 +1,10 @@ package com.craisinlord.antarchy.content.item; -import com.craisinlord.antarchy.content.client.model.ResourceBackedGeoItemModel; -import com.craisinlord.antarchy.content.client.renderer.AnimatedHeldItemRenderer; import com.craisinlord.antarchy.content.block.ComputerBlock; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.BlockItem; -import software.bernie.geckolib.animatable.GeoItem; -import software.bernie.geckolib.animatable.client.GeoRenderProvider; -import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; -import software.bernie.geckolib.animation.AnimatableManager; -import software.bernie.geckolib.animation.AnimationController; -import software.bernie.geckolib.animation.PlayState; -import software.bernie.geckolib.animation.RawAnimation; -import software.bernie.geckolib.util.GeckoLibUtil; - -import java.util.function.Consumer; - -public final class ComputerItem extends BlockItem implements GeoItem { - private static final ResourceLocation MODEL = ResourceLocation.fromNamespaceAndPath("antarchy", "geo/computer.geo.json"); - private static final ResourceLocation TEXTURE = ResourceLocation.fromNamespaceAndPath("antarchy", "textures/item/computer.png"); - private static final ResourceLocation ANIMATION = ResourceLocation.fromNamespaceAndPath("antarchy", "animations/computer.animation.json"); - private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); +public final class ComputerItem extends BlockItem { public ComputerItem(ComputerBlock block, Properties properties) { super(block, properties); - GeoItem.registerSyncedAnimatable(this); - } - - @Override - public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { - controllers.add(new AnimationController<>(this, "state", state -> state.setAndContinue(RawAnimation.begin().thenLoop("on_state")))); - } - - @Override - public AnimatableInstanceCache getAnimatableInstanceCache() { - return cache; - } - - @Override - public void createGeoRenderer(Consumer consumer) { - consumer.accept(new GeoRenderProvider() { - private AnimatedHeldItemRenderer renderer; - - @Override - public net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer getGeoItemRenderer() { - if (renderer == null) { - renderer = new AnimatedHeldItemRenderer<>(new ResourceBackedGeoItemModel<>(MODEL, TEXTURE, ANIMATION)); - } - return renderer; - } - }); } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/EyeOfTheStormItem.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/EyeOfTheStormItem.java index b48d158f..e32bb10f 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/EyeOfTheStormItem.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/EyeOfTheStormItem.java @@ -5,6 +5,7 @@ import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.client.model.ResourceBackedGeoItemModel; import com.craisinlord.antarchy.content.client.renderer.AnimatedHeldItemRenderer; import com.craisinlord.antarchy.content.entity.vortex.WindVortexEntity; +import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; import java.util.List; import java.util.function.Consumer; import net.minecraft.ChatFormatting; @@ -76,12 +77,15 @@ public class EyeOfTheStormItem extends Item implements GeoItem { false ); vortex.setMode(WindVortexEntity.VortexMode.UPWARD); - vortex.setAxis(Direction.UP); + vortex.setAxis(AntarchyGravityApi.isGravityInverted(player) ? Direction.DOWN : Direction.UP); vortex.setVortexSize((float) AntarchySettings.eyeOfTheStormUpdraftHeight(), (float) AntarchySettings.eyeOfTheStormUpdraftRadius()); vortex.setVortexDurationTicks(AntarchySettings.eyeOfTheStormUpdraftDurationTicks()); serverLevel.addFreshEntity(vortex); - player.setDeltaMovement(player.getDeltaMovement().add(0.0D, AntarchySettings.eyeOfTheStormUpdraftLaunchStrength(), 0.0D)); + Vec3 gravityUp = Vec3.atLowerCornerOf( + (AntarchyGravityApi.isGravityInverted(player) ? Direction.DOWN : Direction.UP).getNormal()); + AntarchyGravityApi.setWorldVelocity(player, + AntarchyGravityApi.getWorldVelocity(player).add(gravityUp.scale(AntarchySettings.eyeOfTheStormUpdraftLaunchStrength()))); player.hasImpulse = true; player.resetFallDistance(); player.getCooldowns().addCooldown(this, AntarchySettings.eyeOfTheStormUpdraftCooldownTicks()); @@ -129,7 +133,7 @@ public class EyeOfTheStormItem extends Item implements GeoItem { true ); vortex.setMode(WindVortexEntity.VortexMode.UPWARD); - vortex.setAxis(Direction.UP); + vortex.setAxis(owner != null && AntarchyGravityApi.isGravityInverted(owner) ? Direction.DOWN : Direction.UP); vortex.setVortexSize((float) AntarchySettings.eyeOfTheStormSurgeHeight(), (float) AntarchySettings.eyeOfTheStormSurgeRadius()); vortex.setVortexDurationTicks(AntarchySettings.eyeOfTheStormSurgeDurationTicks()); vortex.setVortexStrengths(AntarchySettings.eyeOfTheStormSurgePullStrength(), AntarchySettings.eyeOfTheStormSurgeReturnStrength()); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/FloppyDiskItem.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/FloppyDiskItem.java index 6681675c..a8b2d7e2 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/FloppyDiskItem.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/item/FloppyDiskItem.java @@ -14,6 +14,19 @@ public final class FloppyDiskItem extends Item { super(properties.stacksTo(1)); } + public static float categoryModelProperty(ItemStack stack) { + ResourceLocation id = stack.get(AntarchyObjects.FLOPPY_DISK_COMPONENT.get()); + if (id == null) return 0.0F; + var disk = com.craisinlord.antarchy.content.guide.ComputerGuideData.disk(id); + if (disk == null) return 0.0F; + return switch (disk.category()) { + case "elythia" -> 1.0F; + case "cavaryn" -> 2.0F; + case "thoraxis" -> 3.0F; + default -> 0.0F; + }; + } + @Override public Component getName(ItemStack stack) { ResourceLocation id = stack.get(AntarchyObjects.FLOPPY_DISK_COMPONENT.get()); @@ -28,6 +41,7 @@ public final class FloppyDiskItem extends Item { @Override public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + tooltip.add(Component.translatable("item.antarchy.floppy_disk.tooltip")); ResourceLocation id = stack.get(AntarchyObjects.FLOPPY_DISK_COMPONENT.get()); if (id != null) { var disk = com.craisinlord.antarchy.content.guide.ComputerGuideData.disk(id); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDeletePayload.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDeletePayload.java new file mode 100644 index 00000000..a2dceb8d --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDeletePayload.java @@ -0,0 +1,15 @@ +package com.craisinlord.antarchy.content.network; + +import com.craisinlord.antarchy.Antarchy; +import net.minecraft.core.BlockPos; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +public record AntmailDeletePayload(BlockPos pos, String messageId, boolean sent) implements CustomPacketPayload { + public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_delete")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite(BlockPos.STREAM_CODEC, AntmailDeletePayload::pos, ByteBufCodecs.stringUtf8(64), AntmailDeletePayload::messageId, ByteBufCodecs.BOOL, AntmailDeletePayload::sent, AntmailDeletePayload::new); + @Override public Type type() { return TYPE; } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDraftPayload.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDraftPayload.java new file mode 100644 index 00000000..dde362ef --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailDraftPayload.java @@ -0,0 +1,17 @@ +package com.craisinlord.antarchy.content.network; + +import com.craisinlord.antarchy.Antarchy; +import net.minecraft.core.BlockPos; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +public record AntmailDraftPayload(BlockPos pos, int action, String data) implements CustomPacketPayload { + public static final int SAVE = 0; + public static final int DELETE = 1; + public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_draft")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite(BlockPos.STREAM_CODEC, AntmailDraftPayload::pos, ByteBufCodecs.VAR_INT, AntmailDraftPayload::action, ByteBufCodecs.stringUtf8(65536), AntmailDraftPayload::data, AntmailDraftPayload::new); + @Override public Type type() { return TYPE; } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailMessageRequestPayload.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailMessageRequestPayload.java new file mode 100644 index 00000000..366c07c4 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailMessageRequestPayload.java @@ -0,0 +1,23 @@ +package com.craisinlord.antarchy.content.network; + +import com.craisinlord.antarchy.Antarchy; +import net.minecraft.core.BlockPos; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +public record AntmailMessageRequestPayload(BlockPos pos, String messageId) implements CustomPacketPayload { + public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_message_request")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, AntmailMessageRequestPayload::pos, + ByteBufCodecs.stringUtf8(64), AntmailMessageRequestPayload::messageId, + AntmailMessageRequestPayload::new + ); + + @Override + public Type type() { + return TYPE; + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailNetworking.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailNetworking.java index 83e2d6e9..a4d0409d 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailNetworking.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailNetworking.java @@ -1,6 +1,7 @@ package com.craisinlord.antarchy.content.network; import com.craisinlord.antarchy.content.antmail.AntmailAttachment; +import com.craisinlord.antarchy.content.antmail.AntmailDraft; import com.craisinlord.antarchy.content.antmail.AntmailWire; import net.minecraft.core.BlockPos; @@ -23,7 +24,19 @@ public final class AntmailNetworking { } public static void requestState(BlockPos pos) { - sender.accept(new AntmailStateRequestPayload(pos)); + requestState(pos, AntmailStateRequestPayload.INBOX, 0, 0L); + } + + public static void requestState(BlockPos pos, int folder, int page) { + requestState(pos, folder, page, 0L); + } + + public static void requestState(BlockPos pos, int folder, int page, long knownVersion) { + sender.accept(new AntmailStateRequestPayload(pos, folder, page, knownVersion)); + } + + public static void requestMessage(BlockPos pos, UUID messageId) { + sender.accept(new AntmailMessageRequestPayload(pos, messageId.toString())); } public static void send(BlockPos pos, String recipient, String subject, String body, List attachments) { @@ -37,4 +50,20 @@ public final class AntmailNetworking { public static void markUnread(BlockPos pos, UUID messageId) { sender.accept(new AntmailReadPayload(pos, messageId.toString(), false)); } + + public static void delete(BlockPos pos, UUID messageId, boolean sent) { + sender.accept(new AntmailDeletePayload(pos, messageId.toString(), sent)); + } + + public static void saveDraft(BlockPos pos, AntmailDraft draft) { + sender.accept(new AntmailDraftPayload(pos, AntmailDraftPayload.SAVE, AntmailWire.encodeTag(draft.toTag()))); + } + + public static void deleteDraft(BlockPos pos, UUID draftId) { + sender.accept(new AntmailDraftPayload(pos, AntmailDraftPayload.DELETE, draftId.toString())); + } + + public static void retry(BlockPos pos, UUID messageId) { + sender.accept(new AntmailRetryPayload(pos, messageId.toString())); + } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailPayloadTypes.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailPayloadTypes.java index 9ed63a81..db991df6 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailPayloadTypes.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailPayloadTypes.java @@ -12,8 +12,12 @@ public final class AntmailPayloadTypes { return List.of( AntmailSetupPayload.TYPE, AntmailStateRequestPayload.TYPE, + AntmailMessageRequestPayload.TYPE, AntmailSendPayload.TYPE, AntmailReadPayload.TYPE, + AntmailDeletePayload.TYPE, + AntmailDraftPayload.TYPE, + AntmailRetryPayload.TYPE, AntmailResultPayload.TYPE ); } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailResultPayload.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailResultPayload.java index 17c281a1..8a4860cc 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailResultPayload.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailResultPayload.java @@ -8,8 +8,26 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -public record AntmailResultPayload(BlockPos pos, int status, String address, String messageId, String detail, String data) implements CustomPacketPayload { +public record AntmailResultPayload(BlockPos pos, int status, String address, String messageId, String detail, String data, long version) implements CustomPacketPayload { public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_result")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite(BlockPos.STREAM_CODEC, AntmailResultPayload::pos, ByteBufCodecs.VAR_INT, AntmailResultPayload::status, ByteBufCodecs.stringUtf8(64), AntmailResultPayload::address, ByteBufCodecs.stringUtf8(64), AntmailResultPayload::messageId, ByteBufCodecs.stringUtf8(128), AntmailResultPayload::detail, ByteBufCodecs.stringUtf8(65536), AntmailResultPayload::data, AntmailResultPayload::new); + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + (buf, payload) -> { + BlockPos.STREAM_CODEC.encode(buf, payload.pos()); + ByteBufCodecs.VAR_INT.encode(buf, payload.status()); + ByteBufCodecs.stringUtf8(64).encode(buf, payload.address()); + ByteBufCodecs.stringUtf8(64).encode(buf, payload.messageId()); + ByteBufCodecs.stringUtf8(128).encode(buf, payload.detail()); + ByteBufCodecs.stringUtf8(65536).encode(buf, payload.data()); + ByteBufCodecs.VAR_LONG.encode(buf, payload.version()); + }, + buf -> new AntmailResultPayload( + BlockPos.STREAM_CODEC.decode(buf), + ByteBufCodecs.VAR_INT.decode(buf), + ByteBufCodecs.stringUtf8(64).decode(buf), + ByteBufCodecs.stringUtf8(64).decode(buf), + ByteBufCodecs.stringUtf8(128).decode(buf), + ByteBufCodecs.stringUtf8(65536).decode(buf), + ByteBufCodecs.VAR_LONG.decode(buf) + )); @Override public Type type() { return TYPE; } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailRetryPayload.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailRetryPayload.java new file mode 100644 index 00000000..71c9d724 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailRetryPayload.java @@ -0,0 +1,15 @@ +package com.craisinlord.antarchy.content.network; + +import com.craisinlord.antarchy.Antarchy; +import net.minecraft.core.BlockPos; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +public record AntmailRetryPayload(BlockPos pos, String messageId) implements CustomPacketPayload { + public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_retry")); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite(BlockPos.STREAM_CODEC, AntmailRetryPayload::pos, ByteBufCodecs.stringUtf8(64), AntmailRetryPayload::messageId, AntmailRetryPayload::new); + @Override public Type type() { return TYPE; } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailServerHandler.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailServerHandler.java index c2e78a36..9ccc6416 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailServerHandler.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailServerHandler.java @@ -3,6 +3,7 @@ package com.craisinlord.antarchy.content.network; import com.craisinlord.antarchy.content.antmail.AntmailAddress; import com.craisinlord.antarchy.content.antmail.AntmailAttachment; import com.craisinlord.antarchy.content.antmail.AntmailDeliveryResult; +import com.craisinlord.antarchy.content.antmail.AntmailDraft; import com.craisinlord.antarchy.content.antmail.AntmailMessage; import com.craisinlord.antarchy.content.antmail.AntmailMailbox; import com.craisinlord.antarchy.content.antmail.AntmailServerData; @@ -35,7 +36,8 @@ public final class AntmailServerHandler { } AntmailServerData data = AntmailServerData.access(player.server); AntmailServerData.Registration registration = data.register(player.server, player.serverLevel(), payload.pos(), payload.username()); - String mailbox = registration.valid() ? AntmailWire.encodeTag(data.mailboxOrCreate(registration.address()).toTag()) : ""; + if (registration.valid()) data.setLastUsedAddress(player, registration.address()); + String mailbox = registration.valid() ? AntmailWire.encodeTag(data.mailboxOrCreate(registration.address()).toTag(false)) : ""; String detail = registration.valid() ? "registration_success" : "registration_failed:" + registration.reason(); result(player, payload.pos(), registration.valid() ? AntmailDeliveryResult.Status.DELIVERED.ordinal() : AntmailDeliveryResult.Status.FAILED.ordinal(), registration.valid() ? registration.address().fullAddress() : "", "", detail, mailbox); } @@ -47,13 +49,48 @@ public final class AntmailServerHandler { return; } AntmailServerData data = AntmailServerData.access(player.server); + data.drainAddress(player.server, player.serverLevel(), payload.pos()); AntmailAddress address = data.addressAt(player.serverLevel().dimension().location(), payload.pos()); if (address == null) { result(player, payload.pos(), AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND.ordinal(), "", "", "unconfigured", ""); return; } AntmailMailbox mailbox = data.mailboxOrCreate(address); - result(player, payload.pos(), AntmailDeliveryResult.Status.DELIVERED.ordinal(), address.fullAddress(), "", "", AntmailWire.encodeTag(mailbox.toTag())); + if (payload.knownVersion() == data.mailboxVersion(address)) { + result(player, payload.pos(), AntmailDeliveryResult.Status.DELIVERED.ordinal(), address.fullAddress(), "", "unchanged", ""); + return; + } + int folder = payload.folder() < AntmailStateRequestPayload.INBOX || payload.folder() > AntmailStateRequestPayload.DRAFTS + ? AntmailStateRequestPayload.INBOX : payload.folder(); + int page = Math.max(0, Math.min(payload.page(), AntmailValidation.MAX_MAILBOX_MESSAGES / AntmailMailbox.PAGE_SIZE)); + result(player, payload.pos(), AntmailDeliveryResult.Status.DELIVERED.ordinal(), address.fullAddress(), "", "", AntmailWire.encodeTag(mailbox.toPageTag(folder, page))); + } + + public static void handle(ServerPlayer player, AntmailMessageRequestPayload payload) { + ComputerBlockEntity computer = authorizedComputer(player, payload.pos()); + if (computer == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), "", payload.messageId(), "unauthorized", ""); + return; + } + AntmailServerData data = AntmailServerData.access(player.server); + AntmailAddress address = data.addressAt(player.serverLevel().dimension().location(), payload.pos()); + if (address == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND.ordinal(), "", payload.messageId(), "unconfigured", ""); + return; + } + try { + UUID id = UUID.fromString(payload.messageId()); + AntmailMailbox mailbox = data.mailboxOrCreate(address); + AntmailMessage message = mailbox.findInbox(id); + if (message == null) message = mailbox.findSent(id); + if (message == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), address.fullAddress(), payload.messageId(), "not_found", ""); + return; + } + result(player, payload.pos(), AntmailDeliveryResult.Status.DELIVERED.ordinal(), address.fullAddress(), payload.messageId(), "message_detail", AntmailWire.encodeTag(message.toTag())); + } catch (IllegalArgumentException exception) { + result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), address.fullAddress(), payload.messageId(), "invalid_id", ""); + } } public static void handle(ServerPlayer player, AntmailSendPayload payload) { @@ -73,7 +110,7 @@ public final class AntmailServerHandler { List attachments = AntmailWire.decodeAttachments(payload.attachments()); AntmailMessage message = AntmailMessage.create(sender, recipient, payload.subject(), payload.body(), player.serverLevel().getGameTime(), attachments); AntmailDeliveryResult delivery = data.deliver(player.server, message); - result(player, payload.pos(), delivery.status().ordinal(), sender.fullAddress(), message.id().toString(), delivery.detail(), AntmailWire.encodeTag(data.mailboxOrCreate(sender).toTag())); + result(player, payload.pos(), delivery.status().ordinal(), sender.fullAddress(), message.id().toString(), delivery.detail(), AntmailWire.encodeTag(data.mailboxOrCreate(sender).toTag(false))); } catch (RuntimeException exception) { result(player, payload.pos(), AntmailDeliveryResult.Status.MESSAGE_INVALID.ordinal(), "", "", "invalid_message", ""); } @@ -95,13 +132,87 @@ public final class AntmailServerHandler { UUID id = UUID.fromString(payload.messageId()); AntmailMailbox mailbox = data.mailboxOrCreate(address); boolean changed = payload.read() ? mailbox.markRead(id) : markUnread(mailbox, id); - if (changed) data.setDirty(); - result(player, payload.pos(), changed ? AntmailDeliveryResult.Status.DELIVERED.ordinal() : AntmailDeliveryResult.Status.FAILED.ordinal(), address.fullAddress(), payload.messageId(), changed ? "" : "not_found", AntmailWire.encodeTag(mailbox.toTag())); + if (changed) data.touchMailbox(address); + result(player, payload.pos(), changed ? AntmailDeliveryResult.Status.DELIVERED.ordinal() : AntmailDeliveryResult.Status.FAILED.ordinal(), address.fullAddress(), payload.messageId(), changed ? "" : "not_found", AntmailWire.encodeTag(mailbox.toTag(false))); } catch (IllegalArgumentException exception) { result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), address.fullAddress(), payload.messageId(), "invalid_id", ""); } } + public static void handle(ServerPlayer player, AntmailDeletePayload payload) { + ComputerBlockEntity computer = authorizedComputer(player, payload.pos()); + if (computer == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), "", payload.messageId(), "unauthorized", ""); + return; + } + AntmailServerData data = AntmailServerData.access(player.server); + AntmailAddress address = data.addressAt(player.serverLevel().dimension().location(), payload.pos()); + if (address == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND.ordinal(), "", payload.messageId(), "unconfigured", ""); + return; + } + try { + UUID id = UUID.fromString(payload.messageId()); + AntmailMailbox mailbox = data.mailboxOrCreate(address); + boolean changed = payload.sent() ? mailbox.removeSent(id) : mailbox.removeInbox(id); + if (changed) data.touchMailbox(address); + result(player, payload.pos(), changed ? AntmailDeliveryResult.Status.DELIVERED.ordinal() : AntmailDeliveryResult.Status.FAILED.ordinal(), address.fullAddress(), payload.messageId(), changed ? "" : "not_found", AntmailWire.encodeTag(mailbox.toTag(false))); + } catch (IllegalArgumentException exception) { + result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), address.fullAddress(), payload.messageId(), "invalid_id", ""); + } + } + + public static void handle(ServerPlayer player, AntmailDraftPayload payload) { + ComputerBlockEntity computer = authorizedComputer(player, payload.pos()); + if (computer == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), "", "", "unauthorized", ""); + return; + } + AntmailServerData data = AntmailServerData.access(player.server); + AntmailAddress address = data.addressAt(player.serverLevel().dimension().location(), payload.pos()); + if (address == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND.ordinal(), "", "", "unconfigured", ""); + return; + } + AntmailMailbox mailbox = data.mailboxOrCreate(address); + try { + if (payload.action() == AntmailDraftPayload.SAVE) { + AntmailDraft draft = AntmailDraft.fromTag(AntmailWire.decodeTag(payload.data())); + AntmailDraft stored = new AntmailDraft(draft.id(), address, draft.recipient(), draft.subject(), draft.body(), draft.attachments()); + if (!mailbox.saveDraft(stored)) throw new IllegalArgumentException("draft_limit"); + } else if (payload.action() == AntmailDraftPayload.DELETE) { + if (!mailbox.removeDraft(UUID.fromString(payload.data()))) throw new IllegalArgumentException("not_found"); + } else { + throw new IllegalArgumentException("invalid_action"); + } + data.touchMailbox(address); + result(player, payload.pos(), AntmailDeliveryResult.Status.DELIVERED.ordinal(), address.fullAddress(), "", "draft_saved", AntmailWire.encodeTag(mailbox.toTag(false))); + } catch (RuntimeException exception) { + result(player, payload.pos(), AntmailDeliveryResult.Status.MESSAGE_INVALID.ordinal(), address.fullAddress(), "", "draft_failed", AntmailWire.encodeTag(mailbox.toTag(false))); + } + } + + public static void handle(ServerPlayer player, AntmailRetryPayload payload) { + ComputerBlockEntity computer = authorizedComputer(player, payload.pos()); + if (computer == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.FAILED.ordinal(), "", payload.messageId(), "unauthorized", ""); + return; + } + AntmailServerData data = AntmailServerData.access(player.server); + AntmailAddress sender = data.addressAt(player.serverLevel().dimension().location(), payload.pos()); + if (sender == null) { + result(player, payload.pos(), AntmailDeliveryResult.Status.ADDRESS_NOT_FOUND.ordinal(), "", payload.messageId(), "unconfigured", ""); + return; + } + try { + AntmailDeliveryResult delivery = data.retry(player.server, sender, UUID.fromString(payload.messageId())); + AntmailMailbox mailbox = data.mailboxOrCreate(sender); + result(player, payload.pos(), delivery == null ? AntmailDeliveryResult.Status.MESSAGE_INVALID.ordinal() : delivery.status().ordinal(), sender.fullAddress(), payload.messageId(), delivery == null ? "not_found" : delivery.detail(), AntmailWire.encodeTag(mailbox.toTag(false))); + } catch (IllegalArgumentException exception) { + result(player, payload.pos(), AntmailDeliveryResult.Status.MESSAGE_INVALID.ordinal(), sender.fullAddress(), payload.messageId(), "invalid_id", ""); + } + } + private static ComputerBlockEntity authorizedComputer(ServerPlayer player, BlockPos pos) { ComputerBlockEntity computer = computer(player, pos); return computer != null && computer.canUseFileSystem(player) ? computer : null; @@ -124,6 +235,11 @@ public final class AntmailServerHandler { } private static void result(ServerPlayer player, BlockPos pos, int status, String address, String messageId, String detail, String data) { - resultSender.accept(player, new AntmailResultPayload(pos, status, address, messageId, detail, data)); + long version = 0L; + try { + if (!address.isBlank()) version = AntmailServerData.access(player.server).mailboxVersion(AntmailAddress.parse(address)); + } catch (IllegalArgumentException ignored) { + } + resultSender.accept(player, new AntmailResultPayload(pos, status, address, messageId, detail, data, version)); } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailStateRequestPayload.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailStateRequestPayload.java index ae918088..095b54e7 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailStateRequestPayload.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/AntmailStateRequestPayload.java @@ -3,12 +3,21 @@ package com.craisinlord.antarchy.content.network; import com.craisinlord.antarchy.Antarchy; import net.minecraft.core.BlockPos; import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -public record AntmailStateRequestPayload(BlockPos pos) implements CustomPacketPayload { +public record AntmailStateRequestPayload(BlockPos pos, int folder, int page, long knownVersion) implements CustomPacketPayload { + public static final int INBOX = 0; + public static final int SENT = 1; + public static final int DRAFTS = 2; public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_state_request")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite(BlockPos.STREAM_CODEC, AntmailStateRequestPayload::pos, AntmailStateRequestPayload::new); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, AntmailStateRequestPayload::pos, + ByteBufCodecs.VAR_INT, AntmailStateRequestPayload::folder, + ByteBufCodecs.VAR_INT, AntmailStateRequestPayload::page, + ByteBufCodecs.VAR_LONG, AntmailStateRequestPayload::knownVersion, + AntmailStateRequestPayload::new); @Override public Type type() { return TYPE; } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessHandler.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessHandler.java index 5c1bca8d..0f7bdeaf 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessHandler.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessHandler.java @@ -6,7 +6,12 @@ import com.craisinlord.antarchy.content.computer.terminal.TerminalCommandService import com.craisinlord.antarchy.content.computer.terminal.TerminalFileSystem; import com.craisinlord.antarchy.content.computer.terminal.TerminalResult; import com.craisinlord.antarchy.content.antmail.AntmailWire; +import com.craisinlord.antarchy.content.computer.blockle.BlockleAnswers; +import com.craisinlord.antarchy.content.computer.blockle.BlockleDictionary; +import com.craisinlord.antarchy.content.computer.blockle.BlockleGame; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.Level; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.entity.BlockEntity; @@ -59,6 +64,10 @@ public final class ComputerAccessHandler { case ComputerAccessPayload.TERMINAL_COMMAND -> terminalCommand(player, computer, payload); case ComputerAccessPayload.DESKTOP_STATE -> desktopState(player, computer, payload); case ComputerAccessPayload.DESKTOP_WALLPAPER -> desktopWallpaper(player, computer, payload); + case ComputerAccessPayload.BASILISK_STATE -> basiliskState(player, computer, payload); + case ComputerAccessPayload.ANTMAN_STATE -> antmanState(player, computer, payload); + case ComputerAccessPayload.BLOCKLE_STATE -> blockleState(player, computer, payload, false); + case ComputerAccessPayload.BLOCKLE_GUESS -> blockleState(player, computer, payload, true); default -> send(player, payload, ComputerAccessResultPayload.INVALID); } } @@ -91,6 +100,10 @@ public final class ComputerAccessHandler { if (computer.hasActiveUser() && !computer.isAuthenticatedBy(player)) { send(player, payload, ComputerAccessResultPayload.BUSY); } else if (computer.authenticate(player, payload.value())) { + com.craisinlord.antarchy.content.antmail.AntmailServerData data = com.craisinlord.antarchy.content.antmail.AntmailServerData.access(player.server); + net.minecraft.resources.ResourceLocation dimension = player.serverLevel().dimension().location(); + com.craisinlord.antarchy.content.antmail.AntmailAddress address = data.addressAt(dimension, computer.getBlockPos()); + if (address != null) data.setLastUsedAddress(player, address); send(player, payload, ComputerAccessResultPayload.SUCCESS); } else { send(player, payload, ComputerAccessResultPayload.INVALID_PASSWORD); @@ -128,8 +141,8 @@ public final class ComputerAccessHandler { ComputerFileSystem.ComputerFile file = computer.fileSystem().get(payload.value()); if (file == null) { sendFile(player, payload, false, "", "not_found"); - } else if (file.type() != ComputerFileSystem.ComputerFile.Type.TEXT) { - sendFile(player, payload, false, "", "not_text"); + } else if (file.type() != ComputerFileSystem.ComputerFile.Type.TEXT && file.type() != ComputerFileSystem.ComputerFile.Type.IMAGE) { + sendFile(player, payload, false, "", "not_file"); } else { sendFile(player, payload, true, file.path() + "\0" + file.contents(), ""); } @@ -269,6 +282,91 @@ public final class ComputerAccessHandler { } } + private static void basiliskState(ServerPlayer player, ComputerBlockEntity computer, ComputerAccessPayload payload) { + if (!computer.canUseFileSystem(player)) { + sendFile(player, payload, false, "", "unauthorized"); + return; + } + if (!payload.value().isBlank()) { + try { + computer.setBasiliskScore(Integer.parseInt(payload.value())); + } catch (NumberFormatException ignored) { + sendFile(player, payload, false, "", "invalid_score"); + return; + } + } + sendFile(player, payload, true, computer.basiliskScore() + "\0" + computer.basiliskHighScore(), ""); + } + + private static void antmanState(ServerPlayer player, ComputerBlockEntity computer, ComputerAccessPayload payload) { + if (!computer.canUseFileSystem(player)) { + sendFile(player, payload, false, "", "unauthorized"); + return; + } + if (!payload.value().isBlank()) { + try { + computer.setAntmanScore(Integer.parseInt(payload.value())); + } catch (NumberFormatException ignored) { + sendFile(player, payload, false, "", "invalid_score"); + return; + } + } + sendFile(player, payload, true, computer.antmanScore() + "\0" + computer.antmanHighScore(), ""); + } + + private static void blockleState(ServerPlayer player, ComputerBlockEntity computer, ComputerAccessPayload payload, boolean submit) { + if (!computer.canUseFileSystem(player)) { + sendFile(player, payload, false, "", "unauthorized"); + return; + } + ResourceLocation disk = ResourceLocation.fromNamespaceAndPath("antarchy", "blockle_game"); + if (!computer.diskIds().contains(disk)) { + sendFile(player, payload, false, "", "not_installed"); + return; + } + ServerLevel overworld = player.server.getLevel(Level.OVERWORLD); + if (overworld == null) { + sendFile(player, payload, false, "", "overworld_unavailable"); + return; + } + long day = overworld.getDayTime() / 24000L; + computer.resetBlockle(day); + BlockleAnswers.Answer answer = BlockleAnswers.answerForDay(day); + if (submit) { + String guess = payload.value() == null ? "" : payload.value().toLowerCase(java.util.Locale.ROOT); + if (guess.length() != 5 || !guess.chars().allMatch(value -> value >= 'a' && value <= 'z')) { + sendFile(player, payload, false, "", "invalid_word"); + return; + } + if (!BlockleDictionary.contains(guess)) { + sendFile(player, payload, false, "", "invalid_word"); + return; + } + if (computer.blockleGuesses().size() >= 6 || computer.blockleGuesses().stream().anyMatch(value -> value.equals(answer.word()))) { + sendFile(player, payload, false, "", "game_over"); + return; + } + computer.addBlockleGuess(guess); + } + sendFile(player, payload, true, encodeBlockle(day, answer, computer.blockleGuesses()), ""); + } + + private static String encodeBlockle(long day, BlockleAnswers.Answer answer, java.util.List guesses) { + StringBuilder result = new StringBuilder(Long.toString(day)); + boolean solved = false; + for (String guess : guesses) { + String colors = BlockleGame.evaluate(answer.word(), guess); + if (guess.equals(answer.word())) solved = true; + result.append('|').append(guess).append(',').append(colors); + } + if (solved || guesses.size() >= 6) { + result.append('|').append(solved ? "SOLVED" : "FAILED").append('|').append(answer.word()).append('|').append(answer.itemId()); + } else { + result.append('|').append("PLAYING"); + } + return result.toString(); + } + private static void sendDesktop(ServerPlayer player, ComputerAccessPayload payload, boolean success, String data) { BlockEntity blockEntity = player.serverLevel().getBlockEntity(payload.pos()); boolean hasPassword = blockEntity instanceof ComputerBlockEntity computer && computer.hasPassword(); diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessPayload.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessPayload.java index 5cc418e7..8391f52e 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessPayload.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerAccessPayload.java @@ -25,6 +25,10 @@ public record ComputerAccessPayload(BlockPos pos, int action, String value) impl public static final int FILE_DELETE = 13; public static final int FILE_MOVE = 14; public static final int TERMINAL_COMMAND = 15; + public static final int BASILISK_STATE = 16; + public static final int ANTMAN_STATE = 17; + public static final int BLOCKLE_STATE = 18; + public static final int BLOCKLE_GUESS = 19; public static final Type TYPE = new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "computer_access")); public static final StreamCodec STREAM_CODEC = StreamCodec.composite( BlockPos.STREAM_CODEC, ComputerAccessPayload::pos, diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerNetworking.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerNetworking.java index e3bac6f6..3393d055 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerNetworking.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/network/ComputerNetworking.java @@ -79,4 +79,28 @@ public final class ComputerNetworking { public static void selectWallpaper(BlockPos pos, ResourceLocation id) { sender.accept(new ComputerAccessPayload(pos, ComputerAccessPayload.DESKTOP_WALLPAPER, id.toString())); } + + public static void requestBasiliskState(BlockPos pos) { + sender.accept(new ComputerAccessPayload(pos, ComputerAccessPayload.BASILISK_STATE)); + } + + public static void saveBasiliskScore(BlockPos pos, int score) { + sender.accept(new ComputerAccessPayload(pos, ComputerAccessPayload.BASILISK_STATE, Integer.toString(Math.max(0, score)))); + } + + public static void requestAntmanState(BlockPos pos) { + sender.accept(new ComputerAccessPayload(pos, ComputerAccessPayload.ANTMAN_STATE)); + } + + public static void saveAntmanScore(BlockPos pos, int score) { + sender.accept(new ComputerAccessPayload(pos, ComputerAccessPayload.ANTMAN_STATE, Integer.toString(Math.max(0, score)))); + } + + public static void requestBlockleState(BlockPos pos) { + sender.accept(new ComputerAccessPayload(pos, ComputerAccessPayload.BLOCKLE_STATE)); + } + + public static void submitBlockleGuess(BlockPos pos, String guess) { + sender.accept(new ComputerAccessPayload(pos, ComputerAccessPayload.BLOCKLE_GUESS, guess)); + } } diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/worldgen/VillagePoolAdditions.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/worldgen/VillagePoolAdditions.java new file mode 100644 index 00000000..33d00fb9 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/content/worldgen/VillagePoolAdditions.java @@ -0,0 +1,125 @@ +package com.craisinlord.antarchy.content.worldgen; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.AntarchyObjects; +import com.craisinlord.antarchy.mixins.PoiTypesAccessor; +import com.craisinlord.integrated_api.mixins.structures.StructurePoolAccessor; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.mojang.datafixers.util.Pair; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.packs.resources.Resource; +import net.minecraft.world.level.levelgen.structure.pools.StructurePoolElement; +import net.minecraft.world.level.levelgen.structure.pools.StructureTemplatePool; +import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorList; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.core.registries.BuiltInRegistries; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** Applies Antarchy-owned additions to existing vanilla jigsaw pools without replacing them. */ +public final class VillagePoolAdditions { + private static final Gson GSON = new Gson(); + private static final String DIRECTORY = "structure_pool_additions"; + + private VillagePoolAdditions() { + } + + public static void apply(MinecraftServer server) { + registerComputerPoiStates(server); + Registry pools = server.registryAccess().registryOrThrow(Registries.TEMPLATE_POOL); + Registry processors = server.registryAccess().registryOrThrow(Registries.PROCESSOR_LIST); + + for (Map.Entry entry : server.getResourceManager() + .listResources(DIRECTORY, path -> path.getPath().endsWith(".json")).entrySet()) { + try (java.io.Reader reader = entry.getValue().openAsReader()) { + JsonObject definition = GSON.fromJson(reader, JsonObject.class); + addToPool(pools, processors, definition, entry.getKey()); + } catch (IOException | RuntimeException exception) { + Antarchy.LOGGER.error("Failed to apply structure pool additions from {}", entry.getKey(), exception); + } + } + } + + private static void registerComputerPoiStates(MinecraftServer server) { + ResourceLocation poiId = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "computer"); + Registry poiRegistry = + server.registryAccess().registryOrThrow(Registries.POINT_OF_INTEREST_TYPE); + Holder poi = poiRegistry.getHolderOrThrow( + ResourceKey.create(Registries.POINT_OF_INTEREST_TYPE, poiId)); + Map> stateMap = + PoiTypesAccessor.antarchy$getTypeByState(); + for (BlockState state : AntarchyObjects.COMPUTER.get().getStateDefinition().getPossibleStates()) { + stateMap.put(state, poi); + } + } + + private static void addToPool( + Registry pools, + Registry processors, + JsonObject definition, + ResourceLocation source + ) { + ResourceLocation poolId = ResourceLocation.parse(definition.get("pool").getAsString()); + StructureTemplatePool pool = pools.get(poolId); + if (pool == null) { + Antarchy.LOGGER.warn("Skipping structure pool addition {} because pool {} does not exist", source, poolId); + return; + } + + JsonObject elementDefinition = definition.getAsJsonObject("element"); + ResourceLocation location = ResourceLocation.parse(elementDefinition.get("location").getAsString()); + ResourceLocation processorId = ResourceLocation.parse(stringValue( + elementDefinition, "processors", "minecraft:empty")); + Holder processor = processors.getHolderOrThrow( + ResourceKey.create(Registries.PROCESSOR_LIST, processorId)); + StructureTemplatePool.Projection projection = projection(stringValue( + elementDefinition, "projection", "rigid")); + int weight = definition.has("weight") ? definition.get("weight").getAsInt() : 1; + if (weight < 1) { + throw new IllegalArgumentException("weight must be positive"); + } + + StructurePoolElement poolElement = StructurePoolElement + .legacy(location.toString(), processor) + .apply(projection); + StructurePoolAccessor accessor = (StructurePoolAccessor) pool; + List> templates = new ArrayList<>(accessor.integratedapi_getRawTemplates()); + templates.add(Pair.of(poolElement, weight)); + accessor.integratedapi_setRawTemplates(templates); + + // StructureTemplatePool caches its weighted list in addition to the raw entries. + // Keep both views synchronized so the new house is immediately eligible. + ObjectArrayList expandedTemplates = new ObjectArrayList<>(accessor.integratedapi_getTemplates()); + for (int i = 0; i < weight; i++) { + expandedTemplates.add(poolElement); + } + accessor.integratedapi_setTemplates(expandedTemplates); + } + + private static StructureTemplatePool.Projection projection(String value) { + return switch (value) { + case "rigid" -> StructureTemplatePool.Projection.RIGID; + case "terrain_matching" -> StructureTemplatePool.Projection.TERRAIN_MATCHING; + default -> throw new IllegalArgumentException("Unknown structure pool projection: " + value); + }; + } + + private static JsonElement primitive(String value) { + return new com.google.gson.JsonPrimitive(value); + } + + private static String stringValue(JsonObject object, String key, String fallback) { + return object.has(key) ? object.get(key).getAsString() : fallback; + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PlayerAdvancementsMixin.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PlayerAdvancementsMixin.java new file mode 100644 index 00000000..6ec45eaf --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PlayerAdvancementsMixin.java @@ -0,0 +1,22 @@ +package com.craisinlord.antarchy.mixins; + +import com.craisinlord.antarchy.content.antmail.AntmailEventData; +import net.minecraft.advancements.AdvancementHolder; +import net.minecraft.server.PlayerAdvancements; +import net.minecraft.server.level.ServerPlayer; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(PlayerAdvancements.class) +public abstract class PlayerAdvancementsMixin { + @Shadow @Final private ServerPlayer player; + + @Inject(method = "award", at = @At("RETURN")) + private void antarchy$onAward(AdvancementHolder advancement, String criterion, CallbackInfoReturnable callback) { + if (callback.getReturnValueZ() && player.getAdvancements().getOrStartProgress(advancement).isDone()) AntmailEventData.onAdvancement(player, advancement); + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesAccessor.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesAccessor.java new file mode 100644 index 00000000..83cd7050 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesAccessor.java @@ -0,0 +1,17 @@ +package com.craisinlord.antarchy.mixins; + +import net.minecraft.core.Holder; +import net.minecraft.world.entity.ai.village.poi.PoiType; +import net.minecraft.world.level.block.state.BlockState; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +import java.util.Map; + +@Mixin(net.minecraft.world.entity.ai.village.poi.PoiTypes.class) +public interface PoiTypesAccessor { + @Accessor("TYPE_BY_STATE") + static Map> antarchy$getTypeByState() { + throw new AssertionError(); + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesMixin.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesMixin.java new file mode 100644 index 00000000..ef9e77e9 --- /dev/null +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/PoiTypesMixin.java @@ -0,0 +1,38 @@ +package com.craisinlord.antarchy.mixins; + +import com.craisinlord.antarchy.content.AntarchyObjects; +import com.craisinlord.antarchy.Antarchy; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.ai.village.poi.PoiType; +import net.minecraft.world.entity.ai.village.poi.PoiTypes; +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; + +import java.util.Optional; + +@Mixin(PoiTypes.class) +public abstract class PoiTypesMixin { + @Inject(method = "forState", at = @At("HEAD"), cancellable = true) + private static void antarchy$computerPoi(BlockState state, + CallbackInfoReturnable>> callback) { + try { + if (!state.is(AntarchyObjects.COMPUTER.get())) { + return; + } + ResourceKey key = ResourceKey.create( + Registries.POINT_OF_INTEREST_TYPE, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "computer")); + BuiltInRegistries.POINT_OF_INTEREST_TYPE.getHolder(key) + .ifPresent(holder -> callback.setReturnValue(Optional.of(holder))); + } catch (IllegalStateException ignored) { + // Registration can be queried during bootstrap before loader bindings finish. + } + } +} diff --git a/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/EntityMoveMixin.java b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/EntityMoveMixin.java index 6d06cd49..0cd093bc 100644 --- a/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/EntityMoveMixin.java +++ b/common-1.21.1/src/main/java/com/craisinlord/antarchy/mixins/gravity/EntityMoveMixin.java @@ -4,7 +4,7 @@ import com.craisinlord.antarchy.content.fluid.AntarchyFluidChecks; import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; import com.craisinlord.antarchy.content.gravity.AntarchyGravityDirection; import com.craisinlord.antarchy.content.gravity.AntarchyGravityRotationUtil; -import com.craisinlord.antarchy.content.portalgun.PortalGunCollisionHelper; +// import com.craisinlord.antarchy.content.portalgun.PortalGunCollisionHelper; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import java.util.List; @@ -349,12 +349,9 @@ public abstract class EntityMoveMixin { localMovement, cir.getReturnValue(), this.antarchy$collideWorldMovement, worldResult, entity.onGround(), entity.maxUpStep(), entity.getBoundingBox()); } - cir.setReturnValue(PortalGunCollisionHelper.resolveCollision( - entity, - entity.getBoundingBox(), - this.antarchy$collideWorldMovement, - worldResult - )); + // Portal-gun collision restoration is temporarily disabled. It can + // recurse through Sable's collision redirect and hang the server. + cir.setReturnValue(worldResult); } @Unique diff --git a/common-1.21.1/src/main/resources/antarchy-common.mixins.json b/common-1.21.1/src/main/resources/antarchy-common.mixins.json index 933b2e12..0d686526 100644 --- a/common-1.21.1/src/main/resources/antarchy-common.mixins.json +++ b/common-1.21.1/src/main/resources/antarchy-common.mixins.json @@ -42,13 +42,14 @@ "NightmareSwordDamageMixin", "NightmareArmorEffectImmunityMixin", "PotionBrewingMixin", - "PortalGunEntityCollisionMixin", - "PortalGunEntityInWallMixin", + "PoiTypesAccessor", + "PoiTypesMixin", "RedStoneWireBlockMixin", "StinkyCrouchMixin", "VillagerTradesMixin", "WaterlilyLumenMixin", "ServerPlayerGameModeMixin", + "PlayerAdvancementsMixin", "SpongeAntiwaterMixin", "SquidzookaEnchantMixin", "SquidzookaMultishotMixin", diff --git a/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json b/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json index 74801f35..ed813aee 100644 --- a/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common-1.21.1/src/main/resources/assets/antarchy/lang/en_us.json @@ -1425,26 +1425,22 @@ ,"decree.antarchy.fight_me_coward.subtitle": "Approach the King." ,"decree.antarchy.no_respite": "NO RESPITE" ,"decree.antarchy.no_respite.subtitle": "Healing is sealed." - ,"decree.antarchy.no_retreat": "NO RETREAT" - ,"decree.antarchy.no_retreat.subtitle": "Do not flee the King's presence." - ,"decree.antarchy.keep_your_distance": "KEEP YOUR DISTANCE" - ,"decree.antarchy.keep_your_distance.subtitle": "Stay out of the King's reach." ,"decree.antarchy.stand_tall": "STAND TALL" ,"decree.antarchy.stand_tall.subtitle": "Do not crouch before the King." ,"decree.antarchy.stand_your_ground": "STAND YOUR GROUND" ,"decree.antarchy.stand_your_ground.subtitle": "Do not stray from where you stand." ,"decree.antarchy.hands_off_the_crown": "HANDS OFF THE CROWN" ,"decree.antarchy.hands_off_the_crown.subtitle": "Strike the King and be judged." - ,"decree.antarchy.advance": "ADVANCE" - ,"decree.antarchy.advance.subtitle": "Close on the King or be judged." ,"decree.antarchy.show_no_mercy": "SHOW NO MERCY" ,"decree.antarchy.show_no_mercy.subtitle": "Keep dealing damage." ,"menu.antarchy.royal_judgment": "Royal Judgment" ,"enchantment.antarchy.feather_rising": "Feather Rising" ,"enchantment.antarchy.chronosphere": "Chronosphere" ,"block.antarchy.computer": "Computer" + ,"entity.minecraft.villager.antarchy.computer_scientist": "Game Developer" ,"item.antarchy.computer": "Computer" ,"item.antarchy.floppy_disk": "Floppy Disk" + ,"item.antarchy.floppy_disk.tooltip": "Put in a computer to find out more" ,"screen.antarchy.computer": "ANTINTOSH OS" ,"guide.antarchy.category.general": "GENERAL" ,"guide.antarchy.category.elythia": "ELYTHIA" @@ -1457,6 +1453,10 @@ ,"guide.antarchy.disk.toreterror_arena.title": "TORETERROR ARENA DATA" ,"guide.antarchy.disk.high_fructose_corn_syrup.title": "CORN SYRUP DATA" ,"guide.antarchy.disk.elythia.title": "ELYTHIA ACCESS RECORD" + ,"guide.antarchy.disk.flying_squirrel.title": "FLYING SQUIRREL FIELD NOTES" + ,"guide.antarchy.disk.basilisk_game.title": "BASILISK.EXE" + ,"guide.antarchy.disk.antman_game.title": "ANTMAN.EXE" + ,"guide.antarchy.disk.blockle_game.title": "BLOCKLE" ,"guide.antarchy.disk.cavaryn.title": "CAVARYN ACCESS RECORD" ,"guide.antarchy.disk.thoraxis.title": "THORAXIS ACCESS RECORD" ,"guide.antarchy.disk.temporal_fields.title": "TEMPORAL FIELDS MANUAL" @@ -1474,6 +1474,9 @@ ,"guide.antarchy.entry.elythia.title": "Elythia" ,"guide.antarchy.entry.elythia.subtitle": "Dimension and portal access record" ,"guide.antarchy.entry.elythia.description": "Elythia is reached through an Elythia portal made with a valid frame. A sacrificed Brown Ant activates the portal. The dimension contains oceans, meadows, forests, coral spikes, and other surface biomes." + ,"guide.antarchy.entry.flying_squirrel.title": "Flying Squirrel" + ,"guide.antarchy.entry.flying_squirrel.subtitle": "Elythia companion record" + ,"guide.antarchy.entry.flying_squirrel.description": "You wanna get nuts? Let’s get nuts. Flying squirrels like nuts, trees, and making a dramatic exit. Feed one to befriend it, then give it plenty of canopy to climb through. If you tell it to, it will perch on top of your head. If it falls, do not panic. It may be gliding. If you fall, you have my permission to panic." ,"guide.antarchy.entry.cavaryn.title": "Cavaryn" ,"guide.antarchy.entry.cavaryn.subtitle": "Dimension and portal access record" ,"guide.antarchy.entry.cavaryn.description": "Cavaryn is reached through a Cavaryn portal made with a valid frame. A sacrificed Termite activates the portal. The dimension is a deep network of caves, including Glowcap, Biowart, Moleworm, Wormy, and Brooding Tunnel regions." diff --git a/common-1.21.1/src/main/resources/assets/antarchy/models/block/verdant_nyxium.json b/common-1.21.1/src/main/resources/assets/antarchy/models/block/verdant_nyxium.json index da4f5fb3..6afbf9dc 100644 --- a/common-1.21.1/src/main/resources/assets/antarchy/models/block/verdant_nyxium.json +++ b/common-1.21.1/src/main/resources/assets/antarchy/models/block/verdant_nyxium.json @@ -1,7 +1,7 @@ { "parent": "minecraft:block/cube_bottom_top", "textures": { - "bottom": "antarchy:block/nyxite", + "bottom": "antarchy:block/typhonite", "side": "antarchy:block/verdant_nyxium", "top": "antarchy:block/verdant_nyxium_top" } diff --git a/common-1.21.1/src/main/resources/assets/antarchy/models/item/computer.json b/common-1.21.1/src/main/resources/assets/antarchy/models/item/computer.json index ab467129..b119ecb7 100644 --- a/common-1.21.1/src/main/resources/assets/antarchy/models/item/computer.json +++ b/common-1.21.1/src/main/resources/assets/antarchy/models/item/computer.json @@ -1,3 +1,232 @@ { - "parent": "builtin/entity" + "format_version": "1.21.11", + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "antarchy/item/computer", + "particle": "antarchy/item/computer" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 9]}, + "faces": { + "north": {"uv": [1.75, 1.75, 3.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 1.75, 1.75, 2.25], "texture": "#0"}, + "south": {"uv": [5.25, 1.75, 7, 2.25], "texture": "#0"}, + "west": {"uv": [3.5, 1.75, 5.25, 2.25], "texture": "#0"}, + "up": {"uv": [3.5, 1.75, 1.75, 0], "texture": "#0"}, + "down": {"uv": [5.25, 0, 3.5, 1.75], "texture": "#0"} + } + }, + { + "from": [11, 2, 0.95], + "to": [14, 3, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8.95]}, + "faces": { + "north": {"uv": [12.125, 1.75, 12.5, 1.875], "texture": "#0"}, + "east": {"uv": [10.375, 1.75, 10.375, 1.875], "texture": "#0"}, + "south": {"uv": [15.625, 1.75, 16, 1.875], "texture": "#0"}, + "west": {"uv": [13.875, 1.75, 13.875, 1.875], "texture": "#0"}, + "up": {"uv": [12.5, 0, 12.125, 0], "texture": "#0"}, + "down": {"uv": [14.25, 0, 13.875, 0], "texture": "#0"} + } + }, + { + "from": [10, 1, 13], + "to": [10, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 3, 9]}, + "faces": { + "north": {"uv": [1.625, 8.25, 1.625, 9.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 0.375, 9.25], "texture": "#0"}, + "south": {"uv": [3.25, 8.25, 3.25, 9.25], "texture": "#0"}, + "west": {"uv": [1.625, 8.25, 3.25, 9.25], "texture": "#0"}, + "up": {"uv": [1.625, 8.25, 1.625, 6.625], "texture": "#0"}, + "down": {"uv": [1.625, 6.625, 1.625, 8.25], "texture": "#0"} + } + }, + { + "from": [6, 1, 13], + "to": [6, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 3, 9]}, + "faces": { + "north": {"uv": [5.625, 6.375, 5.625, 7.375], "texture": "#0"}, + "east": {"uv": [4, 6.375, 4.375, 7.375], "texture": "#0"}, + "south": {"uv": [7.25, 6.375, 7.25, 7.375], "texture": "#0"}, + "west": {"uv": [5.625, 6.375, 7.25, 7.375], "texture": "#0"}, + "up": {"uv": [5.625, 6.375, 5.625, 4.75], "texture": "#0"}, + "down": {"uv": [5.625, 4.75, 5.625, 6.375], "texture": "#0"} + } + }, + { + "from": [2, 4, 2], + "to": [14, 15, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]}, + "faces": { + "north": {"uv": [0.5, 5.25, 2, 6.625], "texture": "#0"}, + "east": {"uv": [0, 5.25, 0.5, 6.625], "texture": "#0"}, + "south": {"uv": [2.5, 5.25, 4, 6.625], "texture": "#0"}, + "west": {"uv": [2, 5.25, 2.5, 6.625], "texture": "#0"}, + "up": {"uv": [2, 5.25, 0.5, 4.75], "texture": "#0"} + } + }, + { + "from": [3, 4, 3], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 9]}, + "faces": { + "north": {"uv": [1.25, 3.5, 2.5, 4.75], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.25, 4.75], "texture": "#0"}, + "south": {"uv": [3.75, 3.5, 5, 4.75], "texture": "#0"}, + "west": {"uv": [2.5, 3.5, 3.75, 4.75], "texture": "#0"}, + "up": {"uv": [2.5, 3.5, 1.25, 2.25], "texture": "#0"}, + "down": {"uv": [3.75, 2.25, 2.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2.5, 3.9, 2.4], + "to": [13.5, 14.9, 2.4], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 2.9, 8.4]}, + "faces": { + "north": {"uv": [9.625, 4.125, 11.75, 6.25], "texture": "#0"}, + "east": {"uv": [5, 2.25, 5, 3.625], "texture": "#0"}, + "south": {"uv": [6.375, 2.25, 7.75, 3.625], "texture": "#0"}, + "west": {"uv": [6.375, 2.25, 6.375, 3.625], "texture": "#0"}, + "up": {"uv": [6.375, 2.25, 5, 2.25], "texture": "#0"}, + "down": {"uv": [7.75, 2.25, 6.375, 2.25], "texture": "#0"} + } + }, + { + "from": [2.5, 3.9, 2.35], + "to": [13.5, 14.9, 2.35], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 2.9, 8.35]}, + "faces": { + "north": {"uv": [12.25, 3.9375, 14.375, 6.0625], "texture": "#0"}, + "east": {"uv": [5, 2.25, 5, 3.625], "texture": "#0"}, + "south": {"uv": [6.375, 2.25, 7.75, 3.625], "texture": "#0"}, + "west": {"uv": [6.375, 2.25, 6.375, 3.625], "texture": "#0"}, + "up": {"uv": [6.375, 2.25, 5, 2.25], "texture": "#0"}, + "down": {"uv": [7.75, 2.25, 6.375, 2.25], "texture": "#0"} + } + }, + { + "from": [2.5, 3.9, 2.6], + "to": [13.5, 14.9, 2.6], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 2.9, 8.6]}, + "faces": { + "north": {"uv": [9.625, 6.25, 11.75, 8.375], "texture": "#0"}, + "east": {"uv": [7.25, 3.625, 7.25, 5], "texture": "#0"}, + "south": {"uv": [7.75, 5.75, 9.125, 7.125], "texture": "#0"}, + "west": {"uv": [8.625, 3.625, 8.625, 5], "texture": "#0"}, + "up": {"uv": [8.625, 3.625, 7.25, 3.625], "texture": "#0"}, + "down": {"uv": [10, 3.625, 8.625, 3.625], "texture": "#0"} + } + }, + { + "from": [2.5, 3.9, 2.45], + "to": [13.5, 14.9, 2.45], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 2.9, 8.45]}, + "faces": { + "north": {"uv": [7, 0, 8.375, 1.375], "texture": "#0"}, + "east": {"uv": [7, 0, 7, 1.375], "texture": "#0"}, + "south": {"uv": [8.375, 0, 9.75, 1.375], "texture": "#0"}, + "west": {"uv": [8.375, 0, 8.375, 1.375], "texture": "#0"}, + "up": {"uv": [8.375, 0, 7, 0], "texture": "#0"}, + "down": {"uv": [9.75, 0, 8.375, 0], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "computer", + "origin": [13, 3, 9], + "scope": 0, + "color": 0, + "children": [ + 0, + { + "name": "computer_on", + "origin": [8, -1, 8.95], + "scope": 0, + "color": 0, + "children": [1] + }, + { + "name": "cables", + "origin": [13, 3, 9], + "scope": 0, + "color": 0, + "children": [2, 3] + }, + { + "name": "monitor", + "origin": [8, 3, 8], + "scope": 0, + "color": 0, + "children": [ + 4, + 5, + { + "name": "screens", + "origin": [7.5, 2.9, 8.5], + "scope": 0, + "color": 0, + "children": [ + { + "name": "on", + "origin": [8, 9.4, 2.375], + "scope": 0, + "color": 0, + "children": [6, 7] + }, + { + "name": "off", + "origin": [8, 9.4, 2.6], + "scope": 0, + "color": 0, + "children": [8] + }, + { + "name": "white_flash", + "origin": [8, 9.4, 2.45], + "scope": 0, + "color": 0, + "children": [9] + } + ] + } + ] + } + ] + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 180, 0], + "scale": [0.5, 0.5, 0.5] + } + } } diff --git a/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk.json b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk.json index c2f12045..20b0be13 100644 --- a/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk.json +++ b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk.json @@ -2,5 +2,19 @@ "parent": "minecraft:item/generated", "textures": { "layer0": "antarchy:item/floppy_disk/floppy_disk" - } + }, + "overrides": [ + { + "predicate": {"antarchy:disk_category": 1.0}, + "model": "antarchy:item/floppy_disk/elythia_floppy_disk" + }, + { + "predicate": {"antarchy:disk_category": 2.0}, + "model": "antarchy:item/floppy_disk/cavaryn_floppy_disk" + }, + { + "predicate": {"antarchy:disk_category": 3.0}, + "model": "antarchy:item/floppy_disk/thoraxis_floppy_disk" + } + ] } diff --git a/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/cavaryn_floppy_disk.json b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/cavaryn_floppy_disk.json new file mode 100644 index 00000000..3360a214 --- /dev/null +++ b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/cavaryn_floppy_disk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/floppy_disk/cavaryn_floppy_disk" + } +} diff --git a/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/elythia_floppy_disk.json b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/elythia_floppy_disk.json new file mode 100644 index 00000000..fbe4e65b --- /dev/null +++ b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/elythia_floppy_disk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/floppy_disk/elythia_floppy_disk" + } +} diff --git a/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/thoraxis_floppy_disk.json b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/thoraxis_floppy_disk.json new file mode 100644 index 00000000..8bf4e26e --- /dev/null +++ b/common-1.21.1/src/main/resources/assets/antarchy/models/item/floppy_disk/thoraxis_floppy_disk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:item/floppy_disk/thoraxis_floppy_disk" + } +} diff --git a/common-1.21.1/src/main/resources/assets/antarchy/textures/entity/villager/profession/computer_scientist.png b/common-1.21.1/src/main/resources/assets/antarchy/textures/entity/villager/profession/computer_scientist.png new file mode 100644 index 0000000000000000000000000000000000000000..420cfcfe7f186a7efde46fe8316fa7862ef66e8a GIT binary patch literal 861 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0#2l#}zs;Q|N8ynl$*j#w^^1+|qD=yqTeR%hwT^o0-TeNz?iK_Iddc+8X=7ML>4nJ@ErtU#vK#0-vR|CN?apKg7ec#$`gxH z83GbB^GfvmTtgI0^$hjQyRUt>WME)&@^o#2p_?5mZJJ{`A=T05&SCya5&m7D{%dl~&1TwEBAo~+|q@J-9%qY}e~$+4^q z-!HLWHuei-4=`qZ;iB4J9Lf+HF~@;(#=1auh9A!g9u=!Im^;1ocn~Anz*(}VvFON7 zt%js3HF|h3W=^R~TE)-S%nFy%9R$j_=vpDA6`a z?`gTur4(|t)oz;|lU6fPnYnV6G6&!C#qXJJZ95vZi}OOKqe7=#YOVJ7Vu`n1?SDCU zEEf?E>huaty!<#cn;}o`-pkFa4&0I1bo(s(irwy&-y=f=mYw*}&;L$S(zc$_!2I`} z_bz<%+g~5uK4s2!wT0({51Vejn`h3`ez;)ok7+?W=30t11n<9dI_~@P_xF`mpOu#E zVz`j-S~lfEqMSmNO|=Ol!mIM1RHzf6n8#gs`$ zW6Dm3@YG+=gNlwgEMBfKeSIZE`PX}<(+hPXb&r>6|KwJU*Wb4^2 fH(c+|f2nVHqIOa0`*m}GDUQL@)z4*}Q$iB}sttk$ literal 0 HcmV?d00001 diff --git a/common-1.21.1/src/main/resources/assets/antarchy/textures/entity/villager/profession/computer_scientist.png.mcmeta b/common-1.21.1/src/main/resources/assets/antarchy/textures/entity/villager/profession/computer_scientist.png.mcmeta new file mode 100644 index 00000000..4525a63b --- /dev/null +++ b/common-1.21.1/src/main/resources/assets/antarchy/textures/entity/villager/profession/computer_scientist.png.mcmeta @@ -0,0 +1,5 @@ +{ + "villager": { + "hat": "full" + } +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_queen_clean.json b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_queen_clean.json new file mode 100644 index 00000000..4fb9213f --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_queen_clean.json @@ -0,0 +1,9 @@ +{ + "sender": "bloxiclean@antmail.com", + "subject": "IS YOUR HIVE QUEEN DUSTY?", + "body": "Bloxiclean now offers premium royal-area cleaning. We remove ash, ichor, bloodglass dust, and other difficult stains. Queen not included. Prices may vary by dimension.", + "trigger": { + "type": "random", + "value": 0.01 + } +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_sparkle.json b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_sparkle.json new file mode 100644 index 00000000..054dcbd8 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/bloxiclean_sparkle.json @@ -0,0 +1,9 @@ +{ + "sender": "bloxiclean@antmail.com", + "subject": "BLOXICLEAN: WE MAKE BLOCKS SPARKLE", + "body": "Cobwebs? Sculk? Suspicious residue? Bloxiclean removes nearly anything from nearly anywhere. Book your complimentary pressure-wash before the stains become lore.", + "trigger": { + "type": "random", + "value": 0.01 + } +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/antmail/message/coldcraft_city_tourism.json b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/coldcraft_city_tourism.json new file mode 100644 index 00000000..fac3bde7 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/coldcraft_city_tourism.json @@ -0,0 +1,9 @@ +{ + "sender": "coldcraft@antmail.com", + "subject": "COLDCRAFT CITY: YOUR NEXT DESTINATION", + "body": "Visit ColdCraft City! See Big Ben, go shopping, and ride the Ferris wheel. Bring a coat, some spending money, and a plan for getting home.", + "trigger": { + "type": "random", + "value": 0.01 + } +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/antmail/message/dicaprios_dinner.json b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/dicaprios_dinner.json new file mode 100644 index 00000000..b6f1f85a --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/dicaprios_dinner.json @@ -0,0 +1,9 @@ +{ + "sender": "dicaprios@antmail.com", + "subject": "A TASTE OF ITALY AWAITS", + "body": "DiCaprio's is now serving handmade pasta, suspiciously expensive bread, and a tiramisu that may know your secrets. Reserve a table today. Formal armor encouraged.", + "trigger": { + "type": "random", + "value": 0.01 + } +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/antmail/message/welcome_day.json b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/welcome_day.json new file mode 100644 index 00000000..19ad2161 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/antmail/message/welcome_day.json @@ -0,0 +1,9 @@ +{ + "sender": "dr_traeoris@antmail.com", + "subject": "WELCOME TO ANTMAIL", + "body": "Your address has been registered. If this message arrived late, the network probably had ants in it.", + "trigger": { + "type": "advancement", + "value": "minecraft:story/root" + } +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/disk/antman_game.json b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/antman_game.json new file mode 100644 index 00000000..75f1e29d --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/antman_game.json @@ -0,0 +1,4 @@ +{ + "title": "guide.antarchy.disk.antman_game.title", + "entries": [] +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/disk/basilisk_game.json b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/basilisk_game.json new file mode 100644 index 00000000..b9a5dbcb --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/basilisk_game.json @@ -0,0 +1,5 @@ +{ + "category": "elythia", + "title": "guide.antarchy.disk.basilisk_game.title", + "entries": [] +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/disk/blockle_game.json b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/blockle_game.json new file mode 100644 index 00000000..3d826c18 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/blockle_game.json @@ -0,0 +1,4 @@ +{ + "title": "guide.antarchy.disk.blockle_game.title", + "entries": [] +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/disk/flying_squirrel.json b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/flying_squirrel.json new file mode 100644 index 00000000..ac77c8ca --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/disk/flying_squirrel.json @@ -0,0 +1,5 @@ +{ + "category": "elythia", + "title": "guide.antarchy.disk.flying_squirrel.title", + "entries": ["antarchy:flying_squirrel"] +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json new file mode 100644 index 00000000..34a61e11 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer/entry/flying_squirrel.json @@ -0,0 +1,8 @@ +{ + "type": "mob", + "category": "elythia", + "title": "guide.antarchy.entry.flying_squirrel.title", + "subtitle": "guide.antarchy.entry.flying_squirrel.subtitle", + "description": ["guide.antarchy.entry.flying_squirrel.description"], + "entity": "antarchy:flying_squirrel" +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/computer_scientist_trades/trades.json b/common-1.21.1/src/main/resources/data/antarchy/computer_scientist_trades/trades.json new file mode 100644 index 00000000..27bf53b1 --- /dev/null +++ b/common-1.21.1/src/main/resources/data/antarchy/computer_scientist_trades/trades.json @@ -0,0 +1,20 @@ +{ + "trades": [ + {"level": 1, "index": 0, "buy": {"item": "minecraft:redstone", "min": 12, "max": 16}, "sell": {"item": "minecraft:emerald", "min": 1, "max": 2}}, + {"level": 1, "index": 1, "buy": {"item": "antarchy:bluestone", "min": 6, "max": 10}, "sell": {"item": "minecraft:emerald", "min": 1, "max": 2}}, + {"level": 1, "index": 2, "buy": {"item": "minecraft:emerald", "min": 2, "max": 4}, "sell": {"item": "antarchy:duct_tape", "min": 1, "max": 2}}, + {"level": 1, "index": 3, "buy": {"item": "antarchy:floppy_disk", "min": 1, "max": 1}, "sell": {"item": "minecraft:emerald", "min": 4, "max": 8}}, + {"level": 2, "index": 0, "buy": {"item": "minecraft:emerald", "min": 4, "max": 8}, "sell": {"item": "antarchy:floppy_disk", "min": 1, "max": 1}, "sell_disk": "random_general"}, + {"level": 2, "index": 1, "buy": {"item": "antarchy:floppy_disk", "min": 12, "max": 20}, "sell": {"item": "antarchy:floppy_disk", "min": 1, "max": 1}, "sell_disk": "antarchy:toreterror_arena"}, + {"level": 3, "index": 0, "buy": {"item": "antarchy:vortex_charge", "min": 1, "max": 1}, "sell": {"item": "minecraft:emerald", "min": 10, "max": 10}}, + {"level": 3, "index": 1, "buy": {"item": "antarchy:flytrap_goo", "min": 1, "max": 1}, "sell": {"item": "minecraft:emerald", "min": 10, "max": 10}}, + {"level": 4, "index": 0, "buy": {"item": "minecraft:emerald", "min": 8, "max": 16}, "sell": {"item": "minecraft:comparator", "min": 1, "max": 2}}, + {"level": 4, "index": 1, "buy": {"item": "minecraft:emerald", "min": 12, "max": 20}, "sell": {"item": "antarchy:bluestone_comparator", "min": 1, "max": 2}}, + {"level": 4, "index": 2, "buy": {"item": "antarchy:antimetal", "min": 1, "max": 2}, "sell": {"item": "minecraft:emerald", "min": 8, "max": 16}}, + {"level": 5, "index": 0, "buy": {"item": "minecraft:emerald", "min": 32, "max": 64}, "sell": {"item": "antarchy:uranium_nugget", "min": 1, "max": 1}}, + {"level": 5, "index": 1, "buy": {"item": "minecraft:emerald", "min": 32, "max": 64}, "sell": {"item": "antarchy:titanium_nugget", "min": 1, "max": 1}}, + {"level": 5, "index": 2, "buy": {"item": "minecraft:emerald", "min": 16, "max": 32}, "sell": {"item": "antarchy:rainbow_sugar", "min": 1, "max": 2}}, + {"level": 5, "index": 3, "buy": {"item": "minecraft:emerald", "min": 24, "max": 40}, "sell": {"item": "antarchy:floppy_disk", "min": 1, "max": 1}, "sell_disk": "antarchy:antman_game", "max_uses": 1, "chance": 0.35}, + {"level": 5, "index": 4, "buy": {"item": "minecraft:emerald", "min": 24, "max": 40}, "sell": {"item": "antarchy:floppy_disk", "min": 1, "max": 1}, "sell_disk": "antarchy:blockle_game", "max_uses": 1, "chance": 0.35} + ] +} diff --git a/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/basilisk_lair/treasure.json b/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/basilisk_lair/treasure.json index 3c2530ea..69ebd4dc 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/basilisk_lair/treasure.json +++ b/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/basilisk_lair/treasure.json @@ -34,6 +34,19 @@ } ] }, + { + "type": "minecraft:item", + "name": "antarchy:floppy_disk", + "weight": 2, + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "antarchy:floppy_disk": "antarchy:basilisk_game" + } + } + ] + }, { "type": "minecraft:item", "name": "minecraft:diamond", diff --git a/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/computer_prototype.json b/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/computer_prototype.json index 7e2bfce1..0d25df8b 100644 --- a/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/computer_prototype.json +++ b/common-1.21.1/src/main/resources/data/antarchy/loot_table/chests/computer_prototype.json @@ -30,6 +30,19 @@ } ] }, + { + "type": "minecraft:item", + "name": "antarchy:floppy_disk", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "antarchy:floppy_disk": "antarchy:flying_squirrel" + } + } + ] + }, { "type": "minecraft:item", "name": "antarchy:floppy_disk", @@ -42,6 +55,19 @@ } } ] + }, + { + "type": "minecraft:item", + "name": "antarchy:floppy_disk", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "antarchy:floppy_disk": "antarchy:basilisk_game" + } + } + ] } ] } diff --git a/common-1.21.1/src/main/resources/data/antarchy/structure/village/computer_scientist_house.nbt b/common-1.21.1/src/main/resources/data/antarchy/structure/village/computer_scientist_house.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7a2a9f4133c4a5b1ee76ac8e527f498ba911d5ca GIT binary patch literal 1807 zcmYLI4Oo&_8_sHekd~$<`dRs@?ah^+Vx>0!_>`%`@X}RgHqjUvWrnF}YKk*ao0_bN z`IrB?2`pTiT9VMPwEW@4}&v;YC6kWMU@Cb`p z6gU0G=_<(sqzf*?{T;Zehcl)&fR%GGtO4F@To|N&zPUPM55Bj$Z6h&ECE|})yGQ~| zDTb0hV+s{BREPWwTlJKfh->_<}<1 zUU$aNy+Y_rEwUjyID`D!i8AB%tTDd6XWp2XU5wqv>`|FAw@2;2ANggUvHR^ZYrL?c ze&wDXs;*u5B<Sa!^oyE({aitr4! zNYq=smKahtQhpFC9oz*Z&2A%@V*OJDusuPqH?~lVkc@U?pxvC`IL0@rZnMjKd*2)? zdeUb2^v7a7t$tfFdwqxNUs!}Rz5W~qiSudM#p}1gAV!3#?|wV-A>RPge;TVJz^gv1 zv%@kWc}8i-inGUE04%eYiize8Y;85jUM|WsqB%3<{Mxlw(>(;ki70yxk^lnyTCW?u zCV)#`_~YP0%n;r`WsFJ;QV&zDgVfGcYqZ)~59P|Q)nxy5+Lsvk8kYURh-r-v(fY_f zHI$<4IqqY&Qj~_+YjIfMeG}QNRo5IOxHoIh{fCoI30Uh>rSH^{32&GHzr)PEd>(b1URaByiT6`Ec!+S1TgUSLhKfbqn)9&{DK2M1pFfL==PK%=VoF( z*9OY{`y4`FiQNwMl=h>(D96X^M7DfUL1-r0Ruu|&>MPMlQ2biT4bMybHsBwy@wDQ% z!BdvOXmpAzm3SY_~lfpB~hi2@Xu{+fCEW$h+dPy zqpP8{TD6FG14*bNW>tSnruumG*VI^Kry+;3}-NvvhAUsF$6=ckeJj$=^WTrVVT9boO z67jtvbT=Zpbh@Om)!;Bj-s14b{*j(rkVTMBI)xxnMaI?JA<%sh6H4r3Z~#^;CGZ^htOp@R0qf!UJCmpxDyAxmU)Z)vEJo^{)zapVwD@IV`JZ#!su1>&x0bf0HVNhb zbL4>r#Zn2x=H-7R8+;^>M4AKbr8$`SXx&9VbBKONLw8_UH9TRcma6xs2XR(>c{^PHgoTisUcBa|@)VM;Lc*!W>im*c1raTct1 zSh{(w^Wai_%(QaL(ed`f(Wnu>QAWWd2iKCXhfbdQd8A+|(Kd zx*os6dOV|vOW@5~yJhw9-jo;MBD>g$OB!WoqKmePag}YU3C5tlUWxK!0hugKiz3f* z?X9P86znN!?o~6yvXc38h;u2L`L$N8b&-NO4kd!bg?aK1L1Lrt55f57`lV zw>TpP5QA2p=9*uc*7SmDQ(X%UovGoDU0va%hwurN>^lP5J%w)6`Y*(g2g> z?_~73qS~lwlAbDdOiqnL|C;3oxGWC;9{RbwxK4CeR29%mm!)Fel?>>#+(NOx#^m%cmZYVv*w@t#S_ z*Sw`)^}{g=Br8uTSAR&k;)n6}7AwqE;|TA# AntarchyFabricEntities.TIME_DILATION_FIELD.get()); + AntarchyEnchantments.bind(() -> AntarchyFabricMisc.FEATHER_RISING.get(), () -> AntarchyFabricMisc.CHRONOSPHERE.get()); AntarchyObjects.setRoyalAssailantBlackHole(() -> AntarchyFabricEntities.ROYAL_ASSAILANT_BLACK_HOLE.get()); AntarchyObjects.setDilatedEffect(() -> AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.DILATED)); AntarchyObjects.setContractedEffect(() -> AntarchyFabricMisc.mobEffectHolder(AntarchyFabricMisc.CONTRACTED)); diff --git a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java index d2759984..356796b5 100644 --- a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java +++ b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java @@ -20,6 +20,7 @@ import com.craisinlord.antarchy.content.portal.PermanentPortalManager; import com.craisinlord.antarchy.content.command.CavarynCommand; import com.craisinlord.antarchy.content.command.CaterpillarCommand; import com.craisinlord.antarchy.content.command.GravityCommand; +import com.craisinlord.antarchy.content.command.QueenLocateCommand; import com.craisinlord.antarchy.content.time.TimeDilationCommand; import com.craisinlord.antarchy.content.time.TimeDilationManager; import com.craisinlord.antarchy.content.item.MinersDreamExcavationManager; @@ -72,6 +73,7 @@ public final class AntarchyFabricEvents { CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> { CavarynCommand.register(dispatcher); GravityCommand.register(dispatcher); + QueenLocateCommand.register(dispatcher); CaterpillarCommand.register(dispatcher); TimeDilationCommand.register(dispatcher); }); diff --git a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index f10d5dd6..3e6b34ba 100644 --- a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -87,6 +87,14 @@ public final class AntarchyFabricClientBootstrap { (net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.CRITTER_CAGE_BLOCK_ENTITY.get(), (BlockEntityRendererProvider) CritterCageRenderer::new ); + BlockEntityRendererRegistry.register( + (net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.UNDERTRIAL_SPAWNER_BLOCK_ENTITY.get(), + (BlockEntityRendererProvider) UndertrialSpawnerRenderer::new + ); + BlockEntityRendererRegistry.register( + (net.minecraft.world.level.block.entity.BlockEntityType) AntarchyFabricBlocks.UNDERVAULT_BLOCK_ENTITY.get(), + (BlockEntityRendererProvider) UnderVaultRenderer::new + ); EntityRendererRegistry.register(AntarchyFabricEntities.EASTER_BUNNY.get(), EasterBunnyRenderer::new); EntityRendererRegistry.register(AntarchyFabricEntities.FLYING_SQUIRREL.get(), FlyingSquirrelRenderer::new); @@ -296,6 +304,9 @@ public final class AntarchyFabricClientBootstrap { registry.register(AntarchyFabricMisc.ORANGE_ASH.get(), OrangeAshParticle.Provider::new); registry.register(AntarchyFabricMisc.LUCID_BOLT_IMPACT_SMALL.get(), LucidBoltImpactParticle.SmallProvider::new); registry.register(AntarchyFabricMisc.LUCID_BOLT_IMPACT_LARGE.get(), LucidBoltImpactParticle.LargeProvider::new); + registry.register(AntarchyFabricMisc.UNDERTRIAL_SPAWNER_DETECTION.get(), UndertrialParticle.DetectionProvider::new); + registry.register(AntarchyFabricMisc.UNDERTRIAL_OMEN.get(), UndertrialParticle.OmenProvider::new); + registry.register(AntarchyFabricMisc.UNDERVAULT_CONNECTION.get(), UndertrialParticle.OmenProvider::new); } private static void registerRenderLayers() { diff --git a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricBlocks.java b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricBlocks.java index ed66d071..d144ed9a 100644 --- a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricBlocks.java +++ b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricBlocks.java @@ -12,6 +12,9 @@ import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity; import com.craisinlord.antarchy.content.block.entity.SeashellBlockEntity; import com.craisinlord.antarchy.content.block.entity.UpperBlockEntity; import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity; +import com.craisinlord.antarchy.content.block.entity.UndertrialSpawnerBlockEntity; +import com.craisinlord.antarchy.content.block.entity.UnderVaultBlockEntity; +import com.craisinlord.antarchy.content.block.entity.QueenTrailSpawnMarkerBlockEntity; import com.craisinlord.antarchy.content.fluid.BileLiquidBlock; import com.craisinlord.antarchy.content.fluid.LumenLiquidBlock; import com.craisinlord.antarchy.fabric.content.fluid.AntiwaterLiquidBlock; @@ -488,7 +491,7 @@ public final class AntarchyFabricBlocks { () -> new RotatedPillarBlock(AntarchyObjects.shellstoneProperties())); - public static final DeferredBlock TRIFFID_GOO_BLOCK = BLOCKS.register("triffid_goo_block", + public static final DeferredBlock TRIFFID_GOO_BLOCK = BLOCKS.register("flytrap_goo_block", () -> new com.craisinlord.antarchy.content.block.TriffidGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false))); @@ -694,11 +697,11 @@ public final class AntarchyFabricBlocks { .replaceable())); - public static final DeferredBlock CREEPING_HORROR_EGG = BLOCKS.register("creeping_horror_egg", + public static final DeferredBlock CREEPING_HORROR_EGG = BLOCKS.register("crawling_blight_egg", () -> new CreepingHorrorEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG))); - public static final DeferredBlock JUMPY_BUG_EGG = BLOCKS.register("jumpy_bug_egg", + public static final DeferredBlock JUMPY_BUG_EGG = BLOCKS.register("springbug_egg", () -> new JumpyBugEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG))); @@ -710,7 +713,7 @@ public final class AntarchyFabricBlocks { () -> new JerryEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG).randomTicks())); - public static final DeferredBlock LURKING_TERROR_EGG = BLOCKS.register("lurking_terror_egg", + public static final DeferredBlock LURKING_TERROR_EGG = BLOCKS.register("skulking_fright_egg", () -> new LurkingTerrorEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG))); @@ -1086,6 +1089,16 @@ public final class AntarchyFabricBlocks { public static final DeferredBlock STAR_CORAL_WALL_FAN = BLOCKS.register("star_coral_wall_fan", () -> new StarCoralWallFanBlock(DEAD_STAR_CORAL_WALL_FAN.get(), BlockBehaviour.Properties.copy(Blocks.TUBE_CORAL_WALL_FAN).lightLevel(state -> 8))); + public static final DeferredBlock UNDERTRIAL_SPAWNER = BLOCKS.register("undertrial_spawner", + () -> new UndertrialSpawnerBlock(AntarchyFabricBlocks::undertrialSpawnerBlockEntityType, + BlockBehaviour.Properties.copy(Blocks.OBSIDIAN).noOcclusion())); + public static final DeferredBlock UNDERVAULT = BLOCKS.register("undervault", + () -> new UnderVaultBlock(AntarchyFabricBlocks::underVaultBlockEntityType, + BlockBehaviour.Properties.copy(Blocks.OBSIDIAN).noOcclusion())); + public static final DeferredBlock QUEEN_TRAIL_SPAWN_MARKER = BLOCKS.register("queen_trail_spawn_marker", + () -> new QueenTrailSpawnMarkerBlock(AntarchyFabricBlocks::queenTrailSpawnMarkerBlockEntityType, + BlockBehaviour.Properties.of().noCollission().noOcclusion().noLootTable().strength(-1.0F))); + public static final DeferredHolder, BlockEntityType> ANT_NEST_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("ant_nest", () -> BlockEntityType.Builder.of( @@ -1148,6 +1161,27 @@ public final class AntarchyFabricBlocks { (pos, state) -> new UpperBlockEntity(pos, state, AntarchyFabricBlocks::upperBlockEntityType), UPPER.get() ).build(null)); + public static final DeferredHolder, BlockEntityType> UNDERTRIAL_SPAWNER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undertrial_spawner", + () -> BlockEntityType.Builder.of((pos, state) -> new UndertrialSpawnerBlockEntity(pos, state, AntarchyFabricBlocks::undertrialSpawnerBlockEntityType), + UNDERTRIAL_SPAWNER.get()).build(null)); + public static final DeferredHolder, BlockEntityType> UNDERVAULT_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undervault", + () -> BlockEntityType.Builder.of((pos, state) -> new UnderVaultBlockEntity(pos, state, AntarchyFabricBlocks::underVaultBlockEntityType), + UNDERVAULT.get()).build(null)); + public static final DeferredHolder, BlockEntityType> QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("queen_trail_spawn_marker", + () -> BlockEntityType.Builder.of((pos, state) -> new QueenTrailSpawnMarkerBlockEntity(pos, state, AntarchyFabricBlocks::queenTrailSpawnMarkerBlockEntityType), + QUEEN_TRAIL_SPAWN_MARKER.get()).build(null)); + + private static BlockEntityType undertrialSpawnerBlockEntityType() { + return UNDERTRIAL_SPAWNER_BLOCK_ENTITY.get(); + } + + private static BlockEntityType underVaultBlockEntityType() { + return UNDERVAULT_BLOCK_ENTITY.get(); + } + + private static BlockEntityType queenTrailSpawnMarkerBlockEntityType() { + return QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY.get(); + } diff --git a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricEntities.java b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricEntities.java index 39ccff3e..965075da 100644 --- a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricEntities.java +++ b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricEntities.java @@ -163,11 +163,11 @@ public final class AntarchyFabricEntities { .build("molevore")); - public static final DeferredHolder, EntityType> TRIFFID = ENTITY_TYPES.register("triffid", + public static final DeferredHolder, EntityType> TRIFFID = ENTITY_TYPES.register("flytrap", () -> EntityType.Builder.of(TriffidEntity::new, MobCategory.MONSTER) .sized(2.0F, 5.0F) .clientTrackingRange(10) - .build("triffid")); + .build("flytrap")); public static final DeferredHolder, EntityType> BED_BUG = ENTITY_TYPES.register("bed_bug", @@ -198,11 +198,11 @@ public final class AntarchyFabricEntities { .build("bomber")); - public static final DeferredHolder, EntityType> JUMPY_BUG = ENTITY_TYPES.register("jumpy_bug", + public static final DeferredHolder, EntityType> JUMPY_BUG = ENTITY_TYPES.register("springbug", () -> EntityType.Builder.of(JumpyBugEntity::new, MobCategory.MONSTER) .sized(3.0F, 6.0F) .clientTrackingRange(8) - .build("jumpy_bug")); + .build("springbug")); public static final DeferredHolder, EntityType> SPIT_BUG = ENTITY_TYPES.register("spit_bug", @@ -305,11 +305,11 @@ public final class AntarchyFabricEntities { .build("dr_trayaurus")); - public static final DeferredHolder, EntityType> CLOUD_SHARK = ENTITY_TYPES.register("cloud_shark", + public static final DeferredHolder, EntityType> CLOUD_SHARK = ENTITY_TYPES.register("stratoshark", () -> EntityType.Builder.of(CloudSharkEntity::new, MobCategory.MONSTER) .sized(2.4F, 0.9F) .clientTrackingRange(10) - .build("cloud_shark")); + .build("stratoshark")); public static final DeferredHolder, EntityType> KRAKEN = ENTITY_TYPES.register("kraken", @@ -493,18 +493,18 @@ public final class AntarchyFabricEntities { - public static final DeferredHolder, EntityType> CREEPING_HORROR = ENTITY_TYPES.register("creeping_horror", + public static final DeferredHolder, EntityType> CREEPING_HORROR = ENTITY_TYPES.register("crawling_blight", () -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.CreepingHorrorEntity::new, MobCategory.MONSTER) .sized(1.3F, 1.5F) .clientTrackingRange(10) - .build("creeping_horror")); + .build("crawling_blight")); - public static final DeferredHolder, EntityType> LURKING_TERROR = ENTITY_TYPES.register("lurking_terror", + public static final DeferredHolder, EntityType> LURKING_TERROR = ENTITY_TYPES.register("skulking_fright", () -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.LurkingTerrorEntity::new, MobCategory.MONSTER) .sized(1.3F, 1.5F) .clientTrackingRange(10) - .build("lurking_terror")); + .build("skulking_fright")); public static final DeferredHolder, EntityType> JERRY = ENTITY_TYPES.register("jerry", diff --git a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricItems.java b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricItems.java index 16e1f94e..8e926f20 100644 --- a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricItems.java +++ b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricItems.java @@ -659,7 +659,7 @@ public final class AntarchyFabricItems { public static final DeferredItem SHELLSTONE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.SHELLSTONE_BRICK_WALL); - public static final DeferredItem TRIFFID_GOO_BLOCK_ITEM = ITEMS.register("triffid_goo_block", + public static final DeferredItem TRIFFID_GOO_BLOCK_ITEM = ITEMS.register("flytrap_goo_block", () -> new com.craisinlord.antarchy.content.item.TriffidGooBlockItem(AntarchyFabricBlocks.TRIFFID_GOO_BLOCK.get(), new Item.Properties())); @@ -715,6 +715,9 @@ public final class AntarchyFabricItems { public static final DeferredItem HANGING_CREEPROOTS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.HANGING_CREEPROOTS); public static final DeferredItem GLOWCAP_MUSHROOM_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.GLOWCAP_MUSHROOM); public static final DeferredItem GLOWCAP_MUSHROOM_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.GLOWCAP_MUSHROOM_BLOCK); + public static final DeferredItem UNDERTRIAL_SPAWNER_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.UNDERTRIAL_SPAWNER); + public static final DeferredItem UNDERVAULT_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.UNDERVAULT); + public static final DeferredItem UNDERTRIAL_KEY = ITEMS.registerSimpleItem("undertrial_key", new Item.Properties()); public static final DeferredItem MOLTING_VINES_ITEM = ITEMS.registerSimpleBlockItem(AntarchyFabricBlocks.MOLTING_VINES); @@ -830,10 +833,10 @@ public final class AntarchyFabricItems { 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 JUMPY_BUG_LEG = ITEMS.registerSimpleItem("springbug_leg", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem JUMPY_BOOTS = ITEMS.register("jumpy_boots", + public static final DeferredItem JUMPY_BOOTS = ITEMS.register("springy_boots", () -> new com.craisinlord.antarchy.content.item.JumpyBootsItem( AntarchyFabricMisc.JUMPY_BOOTS_ARMOR_MATERIAL, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().durability(AntarchyFabricMisc.JUMPY_BOOTS_ARMOR_MATERIAL.getDurabilityForType(ArmorItem.Type.BOOTS)) @@ -974,7 +977,7 @@ public final class AntarchyFabricItems { .build()))); - public static final DeferredItem TRIFFID_GOO = ITEMS.registerSimpleItem("triffid_goo", + public static final DeferredItem TRIFFID_GOO = ITEMS.registerSimpleItem("flytrap_goo", new Item.Properties().rarity(Rarity.UNCOMMON)); @@ -1033,10 +1036,10 @@ public final class AntarchyFabricItems { .build()))); - public static final DeferredItem CLOUD_SHARK_FIN = ITEMS.registerSimpleItem("cloud_shark_fin", new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem CLOUD_SHARK_FIN = ITEMS.registerSimpleItem("stratoshark_fin", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem CLOUD_SHARK_FIN_SOUP = ITEMS.register("cloud_shark_fin_soup", + public static final DeferredItem CLOUD_SHARK_FIN_SOUP = ITEMS.register("stratoshark_fin_soup", () -> new CloudSharkFinSoupItem(new Item.Properties() .stacksTo(1) .craftRemainder(Items.BOWL) @@ -1400,7 +1403,7 @@ public final class AntarchyFabricItems { () -> new DeferredSpawnEggItem(AntarchyFabricEntities.MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", + public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("flytrap_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyFabricEntities.TRIFFID, 0x4C8F3A, 0xFF2FB3, new Item.Properties().rarity(Rarity.UNCOMMON))); @@ -1428,7 +1431,7 @@ public final class AntarchyFabricItems { () -> new DeferredSpawnEggItem(AntarchyFabricEntities.BOMBER, 0x7A7A7A, 0xB32020, new Item.Properties())); - public static final DeferredItem JUMPY_BUG_SPAWN_EGG = ITEMS.register("jumpy_bug_spawn_egg", + public static final DeferredItem JUMPY_BUG_SPAWN_EGG = ITEMS.register("springbug_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyFabricEntities.JUMPY_BUG, 0x0A1636, 0x8A3E00, new Item.Properties())); @@ -1440,7 +1443,7 @@ public final class AntarchyFabricItems { () -> new DeferredSpawnEggItem(AntarchyFabricEntities.STINK_BUG, 0x111111, 0xFF7A00, new Item.Properties())); - public static final DeferredItem CLOUD_SHARK_SPAWN_EGG = ITEMS.register("cloud_shark_spawn_egg", + public static final DeferredItem CLOUD_SHARK_SPAWN_EGG = ITEMS.register("stratoshark_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyFabricEntities.CLOUD_SHARK, 0xDDEAF4, 0x7F96A8, new Item.Properties())); @@ -1515,11 +1518,11 @@ public final class AntarchyFabricItems { new Item.Properties().stacksTo(1).rarity(Rarity.RARE).fireResistant().durability(AntarchyFabricMisc.PRIMORDIAL_ARMOR_MATERIAL.getDurabilityForType(ArmorItem.Type.BOOTS)))); - public static final DeferredItem CREEPING_HORROR_SPAWN_EGG = ITEMS.register("creeping_horror_spawn_egg", + public static final DeferredItem CREEPING_HORROR_SPAWN_EGG = ITEMS.register("crawling_blight_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyFabricEntities.CREEPING_HORROR, 0x6B3A1F, 0x6B0000, new Item.Properties())); - public static final DeferredItem LURKING_TERROR_SPAWN_EGG = ITEMS.register("lurking_terror_spawn_egg", + public static final DeferredItem LURKING_TERROR_SPAWN_EGG = ITEMS.register("skulking_fright_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyFabricEntities.LURKING_TERROR, 0x2D5A1B, 0x8B0000, new Item.Properties())); diff --git a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java index 9310f860..3e773d1b 100644 --- a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java +++ b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java @@ -3,6 +3,8 @@ package com.craisinlord.antarchy.fabric.registry; import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.config.AntarchySettings; import com.craisinlord.antarchy.content.recipe.AmericanizeRecipe; +import com.craisinlord.antarchy.content.enchantment.ChronosphereEnchantment; +import com.craisinlord.antarchy.content.enchantment.FeatherRisingEnchantment; import com.craisinlord.antarchy.content.worldgen.ants.BrownAntNestFeature; import com.craisinlord.antarchy.content.worldgen.ants.RainbowAntNestFeature; import com.craisinlord.antarchy.content.worldgen.ants.RedAntNestFeature; @@ -21,6 +23,8 @@ import com.craisinlord.antarchy.content.worldgen.thoraxis.AntiwaterSpringsFeatur import com.craisinlord.antarchy.content.worldgen.thoraxis.DimensionalTearFeature; import com.craisinlord.antarchy.content.worldgen.thoraxis.NyxiteSpikeFeature; import com.craisinlord.antarchy.content.worldgen.thoraxis.PotentNyxiteFeature; +import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisTransitionThroatFeature; +import com.craisinlord.antarchy.content.worldgen.thoraxis.QueenHavocTrailFeature; import com.craisinlord.antarchy.fabric.content.fluid.AntiwaterFluid; import com.craisinlord.antarchy.content.effect.DreadMobEffect; import com.craisinlord.antarchy.content.effect.GoopedMobEffect; @@ -92,6 +96,8 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.item.alchemy.Potion; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; @@ -217,6 +223,11 @@ public final class AntarchyFabricMisc { public static final DeferredRegister> MENUS = DeferredRegister.create(Registries.MENU, Antarchy.MODID); + public static final DeferredRegister ENCHANTMENTS = DeferredRegister.create(Registries.ENCHANTMENT, Antarchy.MODID); + public static final DeferredHolder FEATHER_RISING = ENCHANTMENTS.register("feather_rising", + () -> new FeatherRisingEnchantment(Enchantment.Rarity.RARE, EquipmentSlot.FEET)); + public static final DeferredHolder CHRONOSPHERE = ENCHANTMENTS.register("chronosphere", + () -> new ChronosphereEnchantment(Enchantment.Rarity.RARE, EquipmentSlot.CHEST)); public static final DeferredRegister FROG_VARIANTS = DeferredRegister.create(Registries.FROG_VARIANT, Antarchy.MODID); @@ -325,6 +336,12 @@ public final class AntarchyFabricMisc { public static final DeferredHolder, SimpleParticleType> LUCID_BOLT_IMPACT_LARGE = PARTICLE_TYPES.register("lucid_bolt_impact_large", () -> simpleParticleType()); + public static final DeferredHolder, SimpleParticleType> UNDERTRIAL_SPAWNER_DETECTION = PARTICLE_TYPES.register("undertrial_spawner_detection", + () -> simpleParticleType()); + public static final DeferredHolder, SimpleParticleType> UNDERTRIAL_OMEN = PARTICLE_TYPES.register("undertrial_omen", + () -> simpleParticleType()); + public static final DeferredHolder, SimpleParticleType> UNDERVAULT_CONNECTION = PARTICLE_TYPES.register("undervault_connection", + () -> simpleParticleType()); public static final DeferredHolder, ParticleType> INVERTED_GEYSER_BASE = PARTICLE_TYPES.register("inverted_geyser_base", @@ -630,7 +647,7 @@ public final class AntarchyFabricMisc { () -> new MolewormSurfaceMoundsFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, TriffidPatchFeature> TRIFFID_PATCH = FEATURES.register("triffid_patch", + public static final DeferredHolder, TriffidPatchFeature> TRIFFID_PATCH = FEATURES.register("flytrap_patch", () -> new TriffidPatchFeature(NoneFeatureConfiguration.CODEC)); @@ -684,6 +701,10 @@ public final class AntarchyFabricMisc { public static final DeferredHolder, ThoraxisFissureFeature> THORAXIS_FISSURE = FEATURES.register("thoraxis_fissure", () -> new ThoraxisFissureFeature(ThoraxisFissureConfiguration.CODEC)); + public static final DeferredHolder, QueenHavocTrailFeature> QUEEN_HAVOC_TRAIL = FEATURES.register("queen_havoc_trail", + QueenHavocTrailFeature::new); + public static final DeferredHolder, ThoraxisTransitionThroatFeature> THORAXIS_TRANSITION_THROAT = FEATURES.register("thoraxis_transition_throat", + ThoraxisTransitionThroatFeature::new); public static final DeferredHolder, ThoraxisRibColumnsFeature> THORAXIS_RIB_COLUMNS = FEATURES.register("thoraxis_rib_columns", @@ -723,7 +744,7 @@ public final class AntarchyFabricMisc { public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.cavaryn.GroundMoltingVinesFeature> GROUND_MOLTING_VINES = FEATURES.register("ground_molting_vines", () -> new com.craisinlord.antarchy.content.worldgen.cavaryn.GroundMoltingVinesFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.cavaryn.JumpyBugEggCeilingFeature> JUMPY_BUG_EGG_CEILING = FEATURES.register("jumpy_bug_egg_ceiling", + public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.cavaryn.JumpyBugEggCeilingFeature> JUMPY_BUG_EGG_CEILING = FEATURES.register("springbug_egg_ceiling", () -> new com.craisinlord.antarchy.content.worldgen.cavaryn.JumpyBugEggCeilingFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.cavaryn.SpitBugEggPatchFeature> SPIT_BUG_EGG_PATCH = FEATURES.register("spit_bug_egg_patch", () -> new com.craisinlord.antarchy.content.worldgen.cavaryn.SpitBugEggPatchFeature(NoneFeatureConfiguration.CODEC)); @@ -803,7 +824,7 @@ public final class AntarchyFabricMisc { public static final ArmorMaterial JUMPY_BOOTS_ARMOR_MATERIAL = armorMaterial( 37, createJumpyBootsDefense(), 15, net.minecraft.sounds.SoundEvents.ARMOR_EQUIP_NETHERITE, - () -> Ingredient.of(net.minecraft.world.item.Items.NETHERITE_BOOTS), 3.0F, 0.1F, "jumpy_boots"); + () -> Ingredient.of(net.minecraft.world.item.Items.NETHERITE_BOOTS), 3.0F, 0.1F, "springy_boots"); diff --git a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricSounds.java b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricSounds.java index e38e31ca..bee09de1 100644 --- a/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricSounds.java +++ b/fabric-1.20.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricSounds.java @@ -40,19 +40,19 @@ public final class AntarchyFabricSounds { public static final DeferredHolder ANT_NEST = registerSoundEvent("ant_nest"); - public static final DeferredHolder CLOUD_SHARK_BITE = registerSoundEvent("cloud_shark_bite"); + public static final DeferredHolder CLOUD_SHARK_BITE = registerSoundEvent("stratoshark_bite"); - public static final DeferredHolder CLOUD_SHARK_IDLE = registerSoundEvent("cloud_shark_idle"); + public static final DeferredHolder CLOUD_SHARK_IDLE = registerSoundEvent("stratoshark_idle"); - public static final DeferredHolder CLOUD_SHARK_HURT = registerSoundEvent("cloud_shark_hurt"); + public static final DeferredHolder CLOUD_SHARK_HURT = registerSoundEvent("stratoshark_hurt"); - public static final DeferredHolder CLOUD_SHARK_DEATH = registerSoundEvent("cloud_shark_death"); + public static final DeferredHolder CLOUD_SHARK_DEATH = registerSoundEvent("stratoshark_death"); - public static final DeferredHolder CLOUD_SHARK_FLY = registerSoundEvent("cloud_shark_fly"); + public static final DeferredHolder CLOUD_SHARK_FLY = registerSoundEvent("stratoshark_fly"); public static final DeferredHolder CATERPILLAR_IDLE = registerSoundEvent("caterpillar_idle"); @@ -241,22 +241,22 @@ public final class AntarchyFabricSounds { public static final DeferredHolder NIGHTMARE_FLAP = registerSoundEvent("nightmare_flap"); - public static final DeferredHolder TRIFFID_ATTACK = registerSoundEvent("triffid_attack"); + public static final DeferredHolder TRIFFID_ATTACK = registerSoundEvent("flytrap_attack"); - public static final DeferredHolder TRIFFID_GRAB = registerSoundEvent("triffid_grab"); + public static final DeferredHolder TRIFFID_GRAB = registerSoundEvent("flytrap_grab"); - public static final DeferredHolder TRIFFID_HURT = registerSoundEvent("triffid_hurt"); + public static final DeferredHolder TRIFFID_HURT = registerSoundEvent("flytrap_hurt"); - public static final DeferredHolder TRIFFID_DEATH = registerSoundEvent("triffid_death"); + public static final DeferredHolder TRIFFID_DEATH = registerSoundEvent("flytrap_death"); - public static final DeferredHolder TRIFFID_HISS = registerSoundEvent("triffid_hiss"); + public static final DeferredHolder TRIFFID_HISS = registerSoundEvent("flytrap_hiss"); - public static final DeferredHolder TRIFFID_GROWL = registerSoundEvent("triffid_growl"); + public static final DeferredHolder TRIFFID_GROWL = registerSoundEvent("flytrap_growl"); public static final DeferredHolder MANTIS_AMBIENT = registerSoundEvent("mantis_ambient"); @@ -414,35 +414,35 @@ public final class AntarchyFabricSounds { public static final DeferredHolder JERRY_ADULT_ATTACK = registerSoundEvent("jerry_adult_attack"); - public static final DeferredHolder CREEPING_HORROR_GROWL = registerSoundEvent("creeping_horror_growl"); + public static final DeferredHolder CREEPING_HORROR_GROWL = registerSoundEvent("crawling_blight_growl"); - public static final DeferredHolder CREEPING_HORROR_HURT = registerSoundEvent("creeping_horror_hurt"); + public static final DeferredHolder CREEPING_HORROR_HURT = registerSoundEvent("crawling_blight_hurt"); - public static final DeferredHolder CREEPING_HORROR_BITE = registerSoundEvent("creeping_horror_bite"); + public static final DeferredHolder CREEPING_HORROR_BITE = registerSoundEvent("crawling_blight_bite"); - public static final DeferredHolder LURKING_TERROR_SNARL = registerSoundEvent("lurking_terror_snarl"); + public static final DeferredHolder LURKING_TERROR_SNARL = registerSoundEvent("skulking_fright_snarl"); - public static final DeferredHolder LURKING_TERROR_HURT = registerSoundEvent("lurking_terror_hurt"); + public static final DeferredHolder LURKING_TERROR_HURT = registerSoundEvent("skulking_fright_hurt"); - public static final DeferredHolder LURKING_TERROR_BITE = registerSoundEvent("lurking_terror_bite"); + public static final DeferredHolder LURKING_TERROR_BITE = registerSoundEvent("skulking_fright_bite"); - public static final DeferredHolder LURKING_TERROR_FLY_LOOP = registerSoundEvent("lurking_terror_fly_loop"); + public static final DeferredHolder LURKING_TERROR_FLY_LOOP = registerSoundEvent("skulking_fright_fly_loop"); public static final DeferredHolder HERCULES_BEETLE_IDLE = registerSoundEvent("hercules_beetle_idle"); public static final DeferredHolder HERCULES_BEETLE_HURT = registerSoundEvent("hercules_beetle_hurt"); public static final DeferredHolder HERCULES_BEETLE_ATTACK = registerSoundEvent("hercules_beetle_attack"); public static final DeferredHolder HERCULES_BEETLE_CRY = registerSoundEvent("hercules_beetle_cry"); public static final DeferredHolder HERCULES_BEETLE_CHARGE_START = registerSoundEvent("hercules_beetle_charge_start"); public static final DeferredHolder HERCULES_BEETLE_KNOCKED_DOWN = registerSoundEvent("hercules_beetle_knocked_down"); - public static final DeferredHolder JUMPY_BUG_IDLE = registerSoundEvent("jumpy_bug_idle"); + public static final DeferredHolder JUMPY_BUG_IDLE = registerSoundEvent("springbug_idle"); public static final DeferredHolder SPIT_BUG_IDLE = registerSoundEvent("spit_bug_idle"); - public static final DeferredHolder JUMPY_BUG_HURT = registerSoundEvent("jumpy_bug_hurt"); - public static final DeferredHolder JUMPY_BUG_JUMP = registerSoundEvent("jumpy_bug_jump"); + public static final DeferredHolder JUMPY_BUG_HURT = registerSoundEvent("springbug_hurt"); + public static final DeferredHolder JUMPY_BUG_JUMP = registerSoundEvent("springbug_jump"); public static final DeferredHolder SPIT_BUG_HURT = registerSoundEvent("spit_bug_hurt"); public static final DeferredHolder SPIT_BUG_SPIT = registerSoundEvent("spit_bug_spit"); public static final DeferredHolder BRUTALFLY_SPIT = registerSoundEvent("brutalfly_spit"); diff --git a/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/eye_of_the_storm.json b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/eye_of_the_storm.json new file mode 100644 index 00000000..b504f30f --- /dev/null +++ b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/eye_of_the_storm.json @@ -0,0 +1,3 @@ +{ + "parent": "antarchy:item/eye_of_the_storm_held_geo" +} diff --git a/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/portal_gun.json b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/portal_gun.json new file mode 100644 index 00000000..a3b81466 --- /dev/null +++ b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/portal_gun.json @@ -0,0 +1,3 @@ +{ + "parent": "antarchy:item/portal_gun_held_geo" +} diff --git a/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_assailant_battleaxe.json b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_assailant_battleaxe.json new file mode 100644 index 00000000..c6ede5e2 --- /dev/null +++ b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_assailant_battleaxe.json @@ -0,0 +1,3 @@ +{ + "parent": "antarchy:item/royal_assailant_battleaxe_held" +} diff --git a/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_guardian_sword.json b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_guardian_sword.json new file mode 100644 index 00000000..52bdad62 --- /dev/null +++ b/fabric-1.20.1/src/main/resources/assets/antarchy/models/item/royal_guardian_sword.json @@ -0,0 +1,3 @@ +{ + "parent": "antarchy:item/royal_guardian_sword_held" +} diff --git a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java index ef907a01..9e2356c6 100644 --- a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java +++ b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java @@ -4,6 +4,7 @@ import com.craisinlord.antarchy.fabric.registry.AntarchyFabricEntities; import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.AntarchyGameRules; import com.craisinlord.antarchy.content.entity.trades.DrTrayaurusTradeManager; +import com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager; import com.craisinlord.antarchy.content.item.BloodCrystalShardItem; import com.craisinlord.antarchy.fabric.network.AntarchyFabricNetworking; import net.fabricmc.fabric.api.biome.v1.BiomeModifications; @@ -154,7 +155,6 @@ public final class AntarchyFabric implements ModInitializer { AntarchyConfigModuleFabric.init(); AntarchyFabricContent.register(); registerWorldgenFeatures(); - AntarchyFabricEvents.register(); BloodglassManager.register(); TigerEyeFabricManager.register(); Antarchy.init(); @@ -174,6 +174,20 @@ public final class AntarchyFabric implements ModInitializer { barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor); } }); + ResourceManagerHelper.get(PackType.SERVER_DATA).registerReloadListener(new IdentifiableResourceReloadListener() { + @Override + public ResourceLocation getFabricId() { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "antmail_events"); + } + + @Override + public CompletableFuture reload(PreparableReloadListener.PreparationBarrier barrier, ResourceManager manager, + ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler, + Executor prepareExecutor, Executor applyExecutor) { + return com.craisinlord.antarchy.content.antmail.AntmailEventData.instance().reload( + barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor); + } + }); } private static void registerTradeReloadListener() { @@ -191,6 +205,20 @@ public final class AntarchyFabric implements ModInitializer { return delegate.reload(barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor); } }); + ComputerScientistTradeManager computerScientistDelegate = new ComputerScientistTradeManager(); + ResourceManagerHelper.get(PackType.SERVER_DATA).registerReloadListener(new IdentifiableResourceReloadListener() { + @Override + public ResourceLocation getFabricId() { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "computer_scientist_trades"); + } + + @Override + public CompletableFuture reload(PreparableReloadListener.PreparationBarrier barrier, ResourceManager manager, + ProfilerFiller prepareProfiler, ProfilerFiller applyProfiler, + Executor prepareExecutor, Executor applyExecutor) { + return computerScientistDelegate.reload(barrier, manager, prepareProfiler, applyProfiler, prepareExecutor, applyExecutor); + } + }); } private static final TagKey CAVARYN_BIOMES = TagKey.create( diff --git a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java index f676c83d..ae9fa330 100644 --- a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java +++ b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java @@ -1,6 +1,7 @@ package com.craisinlord.antarchy.fabric; import com.craisinlord.antarchy.fabric.registry.AntarchyFabricBlocks; import com.craisinlord.antarchy.fabric.registry.AntarchyFabricItems; +import com.craisinlord.antarchy.fabric.registry.AntarchyFabricMisc; import com.craisinlord.antarchy.content.entity.ReverieEntity; import com.craisinlord.antarchy.content.entity.ant.RainbowAntEntity; @@ -28,6 +29,7 @@ import com.craisinlord.antarchy.content.time.TimeDilationManager; import com.craisinlord.antarchy.content.time.ChronosphereManager; import com.craisinlord.antarchy.content.item.MinersDreamExcavationManager; import com.craisinlord.antarchy.content.item.WormHookTetherManager; +import com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager; import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager; import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; import net.fabricmc.fabric.api.entity.event.v1.ServerLivingEntityEvents; @@ -187,6 +189,8 @@ public final class AntarchyFabricEvents { }); ServerTickEvents.END_SERVER_TICK.register(server -> { + com.craisinlord.antarchy.content.antmail.AntmailServerData.access(server).drainAvailable(server); + com.craisinlord.antarchy.content.antmail.AntmailEventData.onTick(server); Set activeThisTick = new HashSet<>(); for (ServerLevel level : server.getAllLevels()) { CavarynHordeManager.tick(level); @@ -208,6 +212,15 @@ public final class AntarchyFabricEvents { } private static void registerTrades() { + int[] computerScientistSlots = ComputerScientistTradeManager.slotsPerLevel(); + for (int level = 1; level <= computerScientistSlots.length; level++) { + final int tradeLevel = level; + for (int index = 0; index < computerScientistSlots[level - 1]; index++) { + final int tradeIndex = index; + TradeOfferHelper.registerVillagerOffers(AntarchyFabricMisc.COMPUTER_SCIENTIST.get(), tradeLevel, + factories -> factories.add(ComputerScientistTradeManager.listing(tradeLevel, tradeIndex))); + } + } TradeOfferHelper.registerVillagerOffers(VillagerProfession.FARMER, 1, factories -> factories.add((trader, random) -> new MerchantOffer( new ItemCost(AntarchyFabricItems.CORN.get(), 20), diff --git a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index e9b87fc9..b57c5c5e 100644 --- a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -515,6 +515,11 @@ public final class AntarchyFabricClientBootstrap { return cage.getItemState(stack); } ); + ItemProperties.register( + AntarchyFabricItems.FLOPPY_DISK.get(), + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "disk_category"), + (stack, level, entity, seed) -> com.craisinlord.antarchy.content.item.FloppyDiskItem.categoryModelProperty(stack) + ); } @SuppressWarnings({"unchecked", "rawtypes"}) diff --git a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java index 97a3cf2f..a0327818 100644 --- a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java +++ b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java @@ -112,8 +112,12 @@ public final class AntarchyFabricNetworking { PayloadTypeRegistry.playC2S().register(ComputerAccessPayload.TYPE, ComputerAccessPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(AntmailSetupPayload.TYPE, AntmailSetupPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(AntmailStateRequestPayload.TYPE, AntmailStateRequestPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(AntmailMessageRequestPayload.TYPE, AntmailMessageRequestPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(AntmailSendPayload.TYPE, AntmailSendPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(AntmailReadPayload.TYPE, AntmailReadPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(AntmailDeletePayload.TYPE, AntmailDeletePayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(AntmailDraftPayload.TYPE, AntmailDraftPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(AntmailRetryPayload.TYPE, AntmailRetryPayload.STREAM_CODEC); } private static void registerServerReceivers() { @@ -123,10 +127,18 @@ public final class AntarchyFabricNetworking { context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(AntmailStateRequestPayload.TYPE, (payload, context) -> context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); + ServerPlayNetworking.registerGlobalReceiver(AntmailMessageRequestPayload.TYPE, (payload, context) -> + context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(AntmailSendPayload.TYPE, (payload, context) -> context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(AntmailReadPayload.TYPE, (payload, context) -> context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); + ServerPlayNetworking.registerGlobalReceiver(AntmailDeletePayload.TYPE, (payload, context) -> + context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); + ServerPlayNetworking.registerGlobalReceiver(AntmailDraftPayload.TYPE, (payload, context) -> + context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); + ServerPlayNetworking.registerGlobalReceiver(AntmailRetryPayload.TYPE, (payload, context) -> + context.server().execute(() -> AntmailServerHandler.handle(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(GravityGunPrimaryPayload.TYPE, (payload, context) -> context.server().execute(() -> handleGravityGunPrimary(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(PortalGunPrimaryPayload.TYPE, (payload, context) -> diff --git a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java index e1b107ae..13d73c90 100644 --- a/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java +++ b/fabric-1.21.1/src/main/java/com/craisinlord/antarchy/fabric/registry/AntarchyFabricMisc.java @@ -110,6 +110,8 @@ import net.minecraft.world.effect.MobEffects; import net.minecraft.tags.TagKey; import net.minecraft.world.damagesource.DamageType; import net.minecraft.world.entity.ai.attributes.Attribute; +import net.minecraft.world.entity.ai.village.poi.PoiType; +import net.minecraft.world.entity.npc.VillagerProfession; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.Items; @@ -127,6 +129,25 @@ import com.craisinlord.antarchy.fabric.AntarchyFabricContent; public final class AntarchyFabricMisc { + public static final DeferredRegister POI_TYPES = DeferredRegister.create(Registries.POINT_OF_INTEREST_TYPE, Antarchy.MODID); + + public static final DeferredRegister VILLAGER_PROFESSIONS = DeferredRegister.create(Registries.VILLAGER_PROFESSION, Antarchy.MODID); + + public static final DeferredHolder COMPUTER_POI = POI_TYPES.register("computer", + () -> new PoiType( + java.util.Set.copyOf(AntarchyFabricBlocks.COMPUTER.get().getStateDefinition().getPossibleStates()), + 1, + 1)); + + public static final DeferredHolder COMPUTER_SCIENTIST = VILLAGER_PROFESSIONS.register("computer_scientist", + () -> new VillagerProfession( + "computer_scientist", + holder -> holder.value() == COMPUTER_POI.get(), + holder -> holder.value() == COMPUTER_POI.get(), + com.google.common.collect.ImmutableSet.of(), + com.google.common.collect.ImmutableSet.of(), + SoundEvents.VILLAGER_WORK_LIBRARIAN)); + public static final DeferredRegister ARMOR_MATERIALS = DeferredRegister.create(Registries.ARMOR_MATERIAL, Antarchy.MODID); @@ -1049,6 +1070,8 @@ public final class AntarchyFabricMisc { public static void register() { + POI_TYPES.register(); + VILLAGER_PROFESSIONS.register(); ARMOR_MATERIALS.register(); FLUIDS.register(); ATTRIBUTES.register(); diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForge.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForge.java index 66afd8ec..c16b899a 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForge.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForge.java @@ -6,6 +6,7 @@ import com.craisinlord.antarchy.compat.infinity.InfinityCompatVersion; import com.craisinlord.antarchy.content.AntarchyGameRules; import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.AntarchySoundEvents; +import com.craisinlord.antarchy.content.enchantment.AntarchyEnchantments; import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem; import com.craisinlord.antarchy.content.item.ScorpionWhipTetherSync; import com.craisinlord.antarchy.content.network.BloodCrystalKatanaTrailPayload; @@ -367,6 +368,7 @@ public class AntarchyForge { AntarchyObjects.setSpiritApple(() -> AntarchyForgeItems.SPIRIT_APPLE.get()); AntarchyObjects.setGlimmeringEffect(() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.GLIMMERING)); AntarchyObjects.setTimeDilationField(() -> AntarchyForgeEntites.TIME_DILATION_FIELD.get()); + AntarchyEnchantments.bind(() -> AntarchyForgeMisc.FEATHER_RISING.get(), () -> AntarchyForgeMisc.CHRONOSPHERE.get()); AntarchyObjects.setRoyalAssailantBlackHole(() -> AntarchyForgeEntites.ROYAL_ASSAILANT_BLACK_HOLE.get()); AntarchyObjects.setDilatedEffect(() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.DILATED)); AntarchyObjects.setContractedEffect(() -> AntarchyForgeMisc.mobEffectHolder(AntarchyForgeMisc.CONTRACTED)); diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForgeEvents.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForgeEvents.java index 06a9ab4d..38ff369c 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForgeEvents.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/AntarchyForgeEvents.java @@ -4,6 +4,7 @@ import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.command.CavarynCommand; import com.craisinlord.antarchy.content.command.CaterpillarCommand; import com.craisinlord.antarchy.content.command.GravityCommand; +import com.craisinlord.antarchy.content.command.QueenLocateCommand; import com.craisinlord.antarchy.content.time.TimeDilationCommand; import net.minecraftforge.event.RegisterCommandsEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -18,6 +19,7 @@ final class AntarchyForgeCommandEvents { public static void onRegisterCommands(RegisterCommandsEvent event) { CavarynCommand.register(event.getDispatcher()); GravityCommand.register(event.getDispatcher()); + QueenLocateCommand.register(event.getDispatcher()); CaterpillarCommand.register(event.getDispatcher()); TimeDilationCommand.register(event.getDispatcher()); } diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/client/AntarchyForgeClient.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/client/AntarchyForgeClient.java index dc7ba2ae..80367415 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/client/AntarchyForgeClient.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/client/AntarchyForgeClient.java @@ -91,6 +91,8 @@ public final class AntarchyForgeClient { event.registerBlockEntityRenderer(AntarchyForgeBlocks.SEASHELL_BLOCK_ENTITY.get(), SeashellRenderer::new); event.registerBlockEntityRenderer(AntarchyForgeBlocks.LUCID_ANCHOR_BLOCK_ENTITY.get(), LucidAnchorBlockEntityRenderer::new); event.registerBlockEntityRenderer(AntarchyForgeBlocks.CRITTER_CAGE_BLOCK_ENTITY.get(), CritterCageRenderer::new); + event.registerBlockEntityRenderer(AntarchyForgeBlocks.UNDERTRIAL_SPAWNER_BLOCK_ENTITY.get(), UndertrialSpawnerRenderer::new); + event.registerBlockEntityRenderer(AntarchyForgeBlocks.UNDERVAULT_BLOCK_ENTITY.get(), UnderVaultRenderer::new); event.registerEntityRenderer(AntarchyForgeEntites.EASTER_BUNNY.get(), context -> withParalyzedGeoLayer(new EasterBunnyRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.FLYING_SQUIRREL.get(), context -> withParalyzedGeoLayer(new FlyingSquirrelRenderer(context))); event.registerEntityRenderer(AntarchyForgeEntites.CATERPILLAR.get(), context -> withParalyzedGeoLayer(new CaterpillarRenderer(context))); @@ -307,6 +309,9 @@ public final class AntarchyForgeClient { event.registerSpriteSet(AntarchyForgeMisc.ORANGE_ASH.get(), OrangeAshParticle.Provider::new); event.registerSpriteSet(AntarchyForgeMisc.LUCID_BOLT_IMPACT_SMALL.get(), LucidBoltImpactParticle.SmallProvider::new); event.registerSpriteSet(AntarchyForgeMisc.LUCID_BOLT_IMPACT_LARGE.get(), LucidBoltImpactParticle.LargeProvider::new); + event.registerSpriteSet(AntarchyForgeMisc.UNDERTRIAL_SPAWNER_DETECTION.get(), UndertrialParticle.DetectionProvider::new); + event.registerSpriteSet(AntarchyForgeMisc.UNDERTRIAL_OMEN.get(), UndertrialParticle.OmenProvider::new); + event.registerSpriteSet(AntarchyForgeMisc.UNDERVAULT_CONNECTION.get(), UndertrialParticle.OmenProvider::new); } @SubscribeEvent @@ -337,7 +342,7 @@ public final class AntarchyForgeClient { event.registerAboveAll("triffid_goo", (gui, guiGraphics, partialTick, width, height) -> TriffidGooHudRenderer.render(guiGraphics) ); - event.registerAboveAll("jumpy_boots", + event.registerAboveAll("springy_boots", (gui, guiGraphics, partialTick, width, height) -> JumpyBootsHudRenderer.render(guiGraphics) ); event.registerAboveAll("dorrie_jump", diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeBlocks.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeBlocks.java index eebc33cb..7caad1e8 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeBlocks.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeBlocks.java @@ -12,6 +12,9 @@ import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity; import com.craisinlord.antarchy.content.block.entity.SeashellBlockEntity; import com.craisinlord.antarchy.content.block.entity.UpperBlockEntity; import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity; +import com.craisinlord.antarchy.content.block.entity.UndertrialSpawnerBlockEntity; +import com.craisinlord.antarchy.content.block.entity.UnderVaultBlockEntity; +import com.craisinlord.antarchy.content.block.entity.QueenTrailSpawnMarkerBlockEntity; import com.craisinlord.antarchy.content.fluid.BileLiquidBlock; import com.craisinlord.antarchy.content.fluid.LumenLiquidBlock; import com.craisinlord.antarchy.content.portal.PermanentPortalType; @@ -272,7 +275,7 @@ public final class AntarchyForgeBlocks { () -> new WallBlock(AntarchyObjects.shellstoneProperties())); public static final RegistryObject SHELLSTONE_PILLAR = BLOCKS.register("shellstone_pillar", () -> new RotatedPillarBlock(AntarchyObjects.shellstoneProperties())); - public static final RegistryObject TRIFFID_GOO_BLOCK = BLOCKS.register("triffid_goo_block", + public static final RegistryObject TRIFFID_GOO_BLOCK = BLOCKS.register("flytrap_goo_block", () -> new com.craisinlord.antarchy.content.block.TriffidGooBlock(BlockBehaviour.Properties.copy(Blocks.SLIME_BLOCK).noOcclusion().isViewBlocking((s, l, p) -> false).isSuffocating((s, l, p) -> false))); public static final RegistryObject CLOUD_BLOCK = BLOCKS.register("cloud_block", () -> new com.craisinlord.antarchy.content.block.CloudBlock( @@ -382,15 +385,15 @@ public final class AntarchyForgeBlocks { .noOcclusion() .noCollission() .replaceable())); - public static final RegistryObject CREEPING_HORROR_EGG = BLOCKS.register("creeping_horror_egg", + public static final RegistryObject CREEPING_HORROR_EGG = BLOCKS.register("crawling_blight_egg", () -> new CreepingHorrorEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG))); - public static final RegistryObject JUMPY_BUG_EGG = BLOCKS.register("jumpy_bug_egg", + public static final RegistryObject JUMPY_BUG_EGG = BLOCKS.register("springbug_egg", () -> new JumpyBugEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG))); public static final RegistryObject SPIT_BUG_EGG = BLOCKS.register("spit_bug_egg", () -> new SpitBugEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG))); public static final RegistryObject JERRY_EGG = BLOCKS.register("jerry_egg", () -> new JerryEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG).randomTicks())); - public static final RegistryObject LURKING_TERROR_EGG = BLOCKS.register("lurking_terror_egg", + public static final RegistryObject LURKING_TERROR_EGG = BLOCKS.register("skulking_fright_egg", () -> new LurkingTerrorEggBlock(BlockBehaviour.Properties.copy(Blocks.TURTLE_EGG))); static { @@ -603,6 +606,16 @@ public final class AntarchyForgeBlocks { public static final RegistryObject STAR_CORAL_WALL_FAN = BLOCKS.register("star_coral_wall_fan", () -> new com.craisinlord.antarchy.content.block.StarCoralWallFanBlock(DEAD_STAR_CORAL_WALL_FAN.get(), BlockBehaviour.Properties.copy(Blocks.TUBE_CORAL_WALL_FAN).lightLevel(state -> 8))); + public static final RegistryObject UNDERTRIAL_SPAWNER = BLOCKS.register("undertrial_spawner", + () -> new UndertrialSpawnerBlock(AntarchyForgeBlocks::undertrialSpawnerBlockEntityType, + BlockBehaviour.Properties.copy(Blocks.OBSIDIAN).noOcclusion())); + public static final RegistryObject UNDERVAULT = BLOCKS.register("undervault", + () -> new UnderVaultBlock(AntarchyForgeBlocks::underVaultBlockEntityType, + BlockBehaviour.Properties.copy(Blocks.OBSIDIAN).noOcclusion())); + public static final RegistryObject QUEEN_TRAIL_SPAWN_MARKER = BLOCKS.register("queen_trail_spawn_marker", + () -> new QueenTrailSpawnMarkerBlock(AntarchyForgeBlocks::queenTrailSpawnMarkerBlockEntityType, + BlockBehaviour.Properties.of().noCollission().noOcclusion().noLootTable().strength(-1.0F))); + // Block entity types public static final RegistryObject> ANT_NEST_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("ant_nest", () -> BlockEntityType.Builder.of( @@ -657,6 +670,27 @@ public final class AntarchyForgeBlocks { (pos, state) -> new UpperBlockEntity(pos, state, AntarchyForgeBlocks::upperBlockEntityType), UPPER.get() ).build(null)); + public static final RegistryObject> UNDERTRIAL_SPAWNER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undertrial_spawner", + () -> BlockEntityType.Builder.of((pos, state) -> new UndertrialSpawnerBlockEntity(pos, state, AntarchyForgeBlocks::undertrialSpawnerBlockEntityType), + UNDERTRIAL_SPAWNER.get()).build(null)); + public static final RegistryObject> UNDERVAULT_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("undervault", + () -> BlockEntityType.Builder.of((pos, state) -> new UnderVaultBlockEntity(pos, state, AntarchyForgeBlocks::underVaultBlockEntityType), + UNDERVAULT.get()).build(null)); + public static final RegistryObject> QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("queen_trail_spawn_marker", + () -> BlockEntityType.Builder.of((pos, state) -> new QueenTrailSpawnMarkerBlockEntity(pos, state, AntarchyForgeBlocks::queenTrailSpawnMarkerBlockEntityType), + QUEEN_TRAIL_SPAWN_MARKER.get()).build(null)); + + private static BlockEntityType undertrialSpawnerBlockEntityType() { + return UNDERTRIAL_SPAWNER_BLOCK_ENTITY.get(); + } + + private static BlockEntityType underVaultBlockEntityType() { + return UNDERVAULT_BLOCK_ENTITY.get(); + } + + private static BlockEntityType queenTrailSpawnMarkerBlockEntityType() { + return QUEEN_TRAIL_SPAWN_MARKER_BLOCK_ENTITY.get(); + } private AntarchyForgeBlocks() {} diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeEntites.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeEntites.java index 066610d4..ed54ed7b 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeEntites.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeEntites.java @@ -159,11 +159,11 @@ public final class AntarchyForgeEntites { .sized(1.95F, 1.1F) .clientTrackingRange(10) .build("molevore")); - public static final RegistryObject> TRIFFID = ENTITY_TYPES.register("triffid", + public static final RegistryObject> TRIFFID = ENTITY_TYPES.register("flytrap", () -> EntityType.Builder.of(TriffidEntity::new, MobCategory.MONSTER) .sized(2.0F, 5.0F) .clientTrackingRange(10) - .build("triffid")); + .build("flytrap")); public static final RegistryObject> BED_BUG = ENTITY_TYPES.register("bed_bug", () -> EntityType.Builder.of(BedBugEntity::new, MobCategory.CREATURE) .sized(1.15F, 0.8F) @@ -184,11 +184,11 @@ public final class AntarchyForgeEntites { .sized(0.55F, 0.75F) .clientTrackingRange(8) .build("bomber")); - public static final RegistryObject> JUMPY_BUG = ENTITY_TYPES.register("jumpy_bug", + public static final RegistryObject> JUMPY_BUG = ENTITY_TYPES.register("springbug", () -> EntityType.Builder.of(JumpyBugEntity::new, MobCategory.MONSTER) .sized(3.0F, 6.0F) .clientTrackingRange(8) - .build("jumpy_bug")); + .build("springbug")); public static final RegistryObject> SPIT_BUG = ENTITY_TYPES.register("spit_bug", () -> EntityType.Builder.of(SpitBugEntity::new, MobCategory.MONSTER) .sized(2.5F, 3.0F) @@ -258,11 +258,11 @@ public final class AntarchyForgeEntites { .sized(0.6F, 1.95F) .clientTrackingRange(10) .build("dr_trayaurus")); - public static final RegistryObject> CLOUD_SHARK = ENTITY_TYPES.register("cloud_shark", + public static final RegistryObject> CLOUD_SHARK = ENTITY_TYPES.register("stratoshark", () -> EntityType.Builder.of(CloudSharkEntity::new, MobCategory.MONSTER) .sized(2.4F, 0.9F) .clientTrackingRange(10) - .build("cloud_shark")); + .build("stratoshark")); public static final RegistryObject> KRAKEN = ENTITY_TYPES.register("kraken", () -> EntityType.Builder.of(KrakenEntity::new, MobCategory.MONSTER) .sized(11.4F, 39.0F) @@ -371,16 +371,16 @@ public final class AntarchyForgeEntites { .clientTrackingRange(8) .updateInterval(1) .build("water_bomb")); - public static final RegistryObject> CREEPING_HORROR = ENTITY_TYPES.register("creeping_horror", + public static final RegistryObject> CREEPING_HORROR = ENTITY_TYPES.register("crawling_blight", () -> EntityType.Builder.of(CreepingHorrorEntity::new, MobCategory.MONSTER) .sized(1.3F, 1.5F) .clientTrackingRange(10) - .build("creeping_horror")); - public static final RegistryObject> LURKING_TERROR = ENTITY_TYPES.register("lurking_terror", + .build("crawling_blight")); + public static final RegistryObject> LURKING_TERROR = ENTITY_TYPES.register("skulking_fright", () -> EntityType.Builder.of(LurkingTerrorEntity::new, MobCategory.MONSTER) .sized(1.3F, 1.5F) .clientTrackingRange(10) - .build("lurking_terror")); + .build("skulking_fright")); public static final RegistryObject> JERRY = ENTITY_TYPES.register("jerry", () -> EntityType.Builder.of(JerryEntity::new, MobCategory.MONSTER) .sized(1.4F, 1.4F) diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeItems.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeItems.java index 11bac2c0..2ca9f565 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeItems.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeItems.java @@ -157,7 +157,7 @@ public final class AntarchyForgeItems { () -> Ingredient.of(PRIMORDIAL_SCUTE.get()), 3.0F, 0.1F, "primordial"); private static final ArmorMaterial JUMPY_BOOTS_ARMOR_MATERIAL = armorMaterial( 37, createJumpyBootsDefense(), 15, SoundEvents.ARMOR_EQUIP_NETHERITE, - () -> Ingredient.of(Items.NETHERITE_BOOTS), 3.0F, 0.1F, "jumpy_boots"); + () -> Ingredient.of(Items.NETHERITE_BOOTS), 3.0F, 0.1F, "springy_boots"); private static final ArmorMaterial FALLEN_KING_CROWN_ARMOR_MATERIAL = armorMaterial( 25, createFallenKingCrownDefense(), 25, SoundEvents.ARMOR_EQUIP_GOLD, () -> Ingredient.of(Items.GOLD_INGOT), 0.0F, 0.0F, "fallen_king_crown"); @@ -431,7 +431,7 @@ public final class AntarchyForgeItems { public static final RegistryObject SHELLSTONE_BRICK_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.SHELLSTONE_BRICK_STAIRS); public static final RegistryObject SHELLSTONE_BRICK_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.SHELLSTONE_BRICK_SLAB); public static final RegistryObject SHELLSTONE_BRICK_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.SHELLSTONE_BRICK_WALL); - public static final RegistryObject TRIFFID_GOO_BLOCK_ITEM = ITEMS.register("triffid_goo_block", + public static final RegistryObject TRIFFID_GOO_BLOCK_ITEM = ITEMS.register("flytrap_goo_block", () -> new com.craisinlord.antarchy.content.item.TriffidGooBlockItem(AntarchyForgeBlocks.TRIFFID_GOO_BLOCK.get(), new Item.Properties())); public static final RegistryObject PALE_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.PALE_NYXITE); public static final RegistryObject NYXITE_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.NYXITE_SPIKE); @@ -463,6 +463,9 @@ public final class AntarchyForgeItems { public static final RegistryObject HANGING_CREEPROOTS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.HANGING_CREEPROOTS); public static final RegistryObject GLOWCAP_MUSHROOM_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.GLOWCAP_MUSHROOM); public static final RegistryObject GLOWCAP_MUSHROOM_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.GLOWCAP_MUSHROOM_BLOCK); + public static final RegistryObject UNDERTRIAL_SPAWNER_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.UNDERTRIAL_SPAWNER); + public static final RegistryObject UNDERVAULT_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.UNDERVAULT); + public static final RegistryObject UNDERTRIAL_KEY = ITEMS.registerSimpleItem("undertrial_key", new Item.Properties()); public static final RegistryObject MOLTING_VINES_ITEM = ITEMS.registerSimpleBlockItem(AntarchyForgeBlocks.MOLTING_VINES); public static final RegistryObject BILE_BUCKET = ITEMS.register("bile_bucket", () -> new BucketItem(AntarchyForgeMisc.BILE.get(), new Item.Properties().craftRemainder(Items.BUCKET).stacksTo(1))); @@ -524,8 +527,8 @@ public final class AntarchyForgeItems { .saturationMod(0.1F) .build()))); public static final RegistryObject STINK_BUG = ITEMS.registerSimpleItem("stink_bug", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final RegistryObject JUMPY_BUG_LEG = ITEMS.registerSimpleItem("jumpy_bug_leg", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final RegistryObject JUMPY_BOOTS = ITEMS.register("jumpy_boots", + public static final RegistryObject JUMPY_BUG_LEG = ITEMS.registerSimpleItem("springbug_leg", new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final RegistryObject JUMPY_BOOTS = ITEMS.register("springy_boots", () -> new JumpyBootsItem(JUMPY_BOOTS_ARMOR_MATERIAL, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().durability(armorDurability(ArmorItem.Type.BOOTS, 37)))); public static final RegistryObject BRUTALFLY_WING = ITEMS.registerSimpleItem("brutalfly_wing", new Item.Properties().rarity(Rarity.UNCOMMON)); public static final RegistryObject BRUTALFLY_ELYTRA = ITEMS.register("brutalfly_elytra", @@ -631,7 +634,7 @@ public final class AntarchyForgeItems { .effect(() -> new MobEffectInstance(MobEffects.REGENERATION, 100, 0), 1.0F) .alwaysEat() .build()))); - public static final RegistryObject TRIFFID_GOO = ITEMS.registerSimpleItem("triffid_goo", + public static final RegistryObject TRIFFID_GOO = ITEMS.registerSimpleItem("flytrap_goo", new Item.Properties().rarity(Rarity.UNCOMMON)); public static final RegistryObject VORTEX_EYE = ITEMS.register("vortex_eye", () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); @@ -662,8 +665,8 @@ public final class AntarchyForgeItems { .saturationMod(0.0F) .effect(() -> new MobEffectInstance(MobEffects.HUNGER, 600), 0.8F) .build()))); - public static final RegistryObject CLOUD_SHARK_FIN = ITEMS.registerSimpleItem("cloud_shark_fin", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final RegistryObject CLOUD_SHARK_FIN_SOUP = ITEMS.register("cloud_shark_fin_soup", + public static final RegistryObject CLOUD_SHARK_FIN = ITEMS.registerSimpleItem("stratoshark_fin", new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final RegistryObject CLOUD_SHARK_FIN_SOUP = ITEMS.register("stratoshark_fin_soup", () -> new CloudSharkFinSoupItem(new Item.Properties() .stacksTo(1) .craftRemainder(Items.BOWL) @@ -886,7 +889,7 @@ public final class AntarchyForgeItems { () -> new ForgeSpawnEggItem(AntarchyForgeEntites.ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties())); public static final RegistryObject MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final RegistryObject TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", + public static final RegistryObject TRIFFID_SPAWN_EGG = ITEMS.register("flytrap_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.TRIFFID, 0x4C8F3A, 0xFF2FB3, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final RegistryObject APPLE_COW_SPAWN_EGG = ITEMS.register("apple_cow_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.APPLE_COW, 0xFF1A1A, 0x32FF32, new Item.Properties())); @@ -900,13 +903,13 @@ public final class AntarchyForgeItems { () -> new ForgeSpawnEggItem(AntarchyForgeEntites.WASP, 0x111111, 0xF1D800, new Item.Properties())); public static final RegistryObject BOMBER_SPAWN_EGG = ITEMS.register("bomber_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.BOMBER, 0x7A7A7A, 0xB32020, new Item.Properties())); - public static final RegistryObject JUMPY_BUG_SPAWN_EGG = ITEMS.register("jumpy_bug_spawn_egg", + public static final RegistryObject JUMPY_BUG_SPAWN_EGG = ITEMS.register("springbug_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.JUMPY_BUG, 0x0A1636, 0x8A3E00, new Item.Properties())); public static final RegistryObject SPIT_BUG_SPAWN_EGG = ITEMS.register("spit_bug_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.SPIT_BUG, 0x6B4A2B, 0x7ED957, new Item.Properties())); public static final RegistryObject STINK_BUG_SPAWN_EGG = ITEMS.register("stink_bug_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.STINK_BUG, 0x111111, 0xFF7A00, new Item.Properties())); - public static final RegistryObject CLOUD_SHARK_SPAWN_EGG = ITEMS.register("cloud_shark_spawn_egg", + public static final RegistryObject CLOUD_SHARK_SPAWN_EGG = ITEMS.register("stratoshark_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.CLOUD_SHARK, 0xDDEAF4, 0x7F96A8, new Item.Properties())); public static final RegistryObject KRAKEN_SPAWN_EGG = ITEMS.register("kraken_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.KRAKEN, 0x163C53, 0x4F8E99, new Item.Properties().rarity(Rarity.EPIC))); @@ -948,9 +951,9 @@ public final class AntarchyForgeItems { () -> new PrimordialArmorItem(PRIMORDIAL_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).fireResistant())); public static final RegistryObject PRIMORDIAL_BOOTS = ITEMS.register("primordial_boots", () -> new PrimordialArmorItem(PRIMORDIAL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).fireResistant())); - public static final RegistryObject CREEPING_HORROR_SPAWN_EGG = ITEMS.register("creeping_horror_spawn_egg", + public static final RegistryObject CREEPING_HORROR_SPAWN_EGG = ITEMS.register("crawling_blight_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.CREEPING_HORROR, 0x6B3A1F, 0x6B0000, new Item.Properties())); - public static final RegistryObject LURKING_TERROR_SPAWN_EGG = ITEMS.register("lurking_terror_spawn_egg", + public static final RegistryObject LURKING_TERROR_SPAWN_EGG = ITEMS.register("skulking_fright_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.LURKING_TERROR, 0x2D5A1B, 0x8B0000, new Item.Properties())); public static final RegistryObject HERCULES_BEETLE_SPAWN_EGG = ITEMS.register("hercules_beetle_spawn_egg", () -> new ForgeSpawnEggItem(AntarchyForgeEntites.HERCULES_BEETLE, 0x6B1F2A, 0xD4AF37, new Item.Properties().rarity(Rarity.RARE))); diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeMisc.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeMisc.java index 668b0b81..d95f7080 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeMisc.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeMisc.java @@ -12,6 +12,8 @@ import com.craisinlord.antarchy.content.effect.ShrinkMobEffect; import com.craisinlord.antarchy.content.effect.StinkyMobEffect; import com.craisinlord.antarchy.content.effect.DilatedMobEffect; import com.craisinlord.antarchy.content.effect.ContractedMobEffect; +import com.craisinlord.antarchy.content.enchantment.ChronosphereEnchantment; +import com.craisinlord.antarchy.content.enchantment.FeatherRisingEnchantment; import com.craisinlord.antarchy.content.recipe.AmericanizeRecipe; import com.craisinlord.antarchy.content.worldgen.ants.BrownAntNestFeature; import com.craisinlord.antarchy.content.worldgen.ants.RainbowAntNestFeature; @@ -42,8 +44,10 @@ import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.ai.attributes.Attribute; +import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.alchemy.Potion; +import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.level.biome.BiomeSource; import net.minecraft.world.level.levelgen.DensityFunction; import net.minecraft.world.level.levelgen.feature.Feature; @@ -67,6 +71,11 @@ public final class AntarchyForgeMisc { private static final DeferredRegister> DENSITY_FUNCTION_TYPES = DeferredRegister.create(Registries.DENSITY_FUNCTION_TYPE, Antarchy.MODID); private static final DeferredRegister ATTRIBUTES = DeferredRegister.create(Registries.ATTRIBUTE, Antarchy.MODID); private static final DeferredRegister> MENU_TYPES = DeferredRegister.create(Registries.MENU, Antarchy.MODID); + private static final DeferredRegister ENCHANTMENTS = DeferredRegister.create(Registries.ENCHANTMENT, Antarchy.MODID); + public static final RegistryObject FEATHER_RISING = ENCHANTMENTS.register("feather_rising", + () -> new FeatherRisingEnchantment(Enchantment.Rarity.RARE, EquipmentSlot.FEET)); + public static final RegistryObject CHRONOSPHERE = ENCHANTMENTS.register("chronosphere", + () -> new ChronosphereEnchantment(Enchantment.Rarity.RARE, EquipmentSlot.CHEST)); private static final DeferredRegister FROG_VARIANTS = DeferredRegister.create(Registries.FROG_VARIANT, Antarchy.MODID); public static final RegistryObject ELYTHIA_FROG_VARIANT = FROG_VARIANTS.register( @@ -190,6 +199,12 @@ public final class AntarchyForgeMisc { AntarchyForgeMisc::simpleParticleType); public static final RegistryObject LUCID_BOLT_IMPACT_LARGE = PARTICLE_TYPES.register("lucid_bolt_impact_large", AntarchyForgeMisc::simpleParticleType); + public static final RegistryObject UNDERTRIAL_SPAWNER_DETECTION = PARTICLE_TYPES.register("undertrial_spawner_detection", + AntarchyForgeMisc::simpleParticleType); + public static final RegistryObject UNDERTRIAL_OMEN = PARTICLE_TYPES.register("undertrial_omen", + AntarchyForgeMisc::simpleParticleType); + public static final RegistryObject UNDERVAULT_CONNECTION = PARTICLE_TYPES.register("undervault_connection", + AntarchyForgeMisc::simpleParticleType); public static final RegistryObject> INVERTED_GEYSER_BASE = PARTICLE_TYPES.register("inverted_geyser_base", () -> particleType(InvertedGeyserBaseParticleOptions.deserializer())); public static final RegistryObject> INVERTED_GEYSER_PLUME = PARTICLE_TYPES.register("inverted_geyser_plume", @@ -253,7 +268,7 @@ public final class AntarchyForgeMisc { () -> new MolewormWarrensFeature(NoneFeatureConfiguration.CODEC)); public static final RegistryObject ELYTHIA_MOLEWORM_SURFACE_MOUNDS = FEATURES.register("elythia_moleworm_surface_mounds", () -> new MolewormSurfaceMoundsFeature(NoneFeatureConfiguration.CODEC)); - public static final RegistryObject TRIFFID_PATCH = FEATURES.register("triffid_patch", + public static final RegistryObject TRIFFID_PATCH = FEATURES.register("flytrap_patch", () -> new TriffidPatchFeature(NoneFeatureConfiguration.CODEC)); public static final RegistryObject ELYTHIA_POND = FEATURES.register("elythia_pond", () -> new ElythiaPondFeature(NoneFeatureConfiguration.CODEC)); @@ -287,6 +302,10 @@ public final class AntarchyForgeMisc { () -> new com.craisinlord.antarchy.content.worldgen.elythia.FungalMushroomFeature(NoneFeatureConfiguration.CODEC)); public static final RegistryObject THORAXIS_FISSURE = FEATURES.register("thoraxis_fissure", () -> new ThoraxisFissureFeature(ThoraxisFissureConfiguration.CODEC)); + public static final RegistryObject QUEEN_HAVOC_TRAIL = FEATURES.register("queen_havoc_trail", + QueenHavocTrailFeature::new); + public static final RegistryObject THORAXIS_TRANSITION_THROAT = FEATURES.register("thoraxis_transition_throat", + ThoraxisTransitionThroatFeature::new); public static final RegistryObject THORAXIS_RIB_COLUMNS = FEATURES.register("thoraxis_rib_columns", () -> new ThoraxisRibColumnsFeature(ThoraxisRibColumnsConfiguration.CODEC)); public static final RegistryObject THORAXIS_SPIKE = FEATURES.register("thoraxis_spike", @@ -307,7 +326,7 @@ public final class AntarchyForgeMisc { () -> new MoltingVinesFeature(NoneFeatureConfiguration.CODEC)); public static final RegistryObject GROUND_MOLTING_VINES = FEATURES.register("ground_molting_vines", () -> new com.craisinlord.antarchy.content.worldgen.cavaryn.GroundMoltingVinesFeature(NoneFeatureConfiguration.CODEC)); - public static final RegistryObject JUMPY_BUG_EGG_CEILING = FEATURES.register("jumpy_bug_egg_ceiling", + public static final RegistryObject JUMPY_BUG_EGG_CEILING = FEATURES.register("springbug_egg_ceiling", () -> new com.craisinlord.antarchy.content.worldgen.cavaryn.JumpyBugEggCeilingFeature(NoneFeatureConfiguration.CODEC)); public static final RegistryObject SPIT_BUG_EGG_PATCH = FEATURES.register("spit_bug_egg_patch", () -> new com.craisinlord.antarchy.content.worldgen.cavaryn.SpitBugEggPatchFeature(NoneFeatureConfiguration.CODEC)); @@ -371,6 +390,7 @@ public final class AntarchyForgeMisc { DENSITY_FUNCTION_TYPES.register(modEventBus); ATTRIBUTES.register(modEventBus); MENU_TYPES.register(modEventBus); + ENCHANTMENTS.register(modEventBus); FROG_VARIANTS.register(modEventBus); RECIPE_SERIALIZERS.register(modEventBus); } diff --git a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeSounds.java b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeSounds.java index b66118be..1f365dd0 100644 --- a/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeSounds.java +++ b/forge-1.20.1/src/main/java/com/craisinlord/antarchy/forge/registry/AntarchyForgeSounds.java @@ -20,11 +20,11 @@ public final class AntarchyForgeSounds { public static final RegistryObject ANT_BITE = registerSoundEvent("ant_bite"); public static final RegistryObject ANT_GATHER = registerSoundEvent("ant_gather"); public static final RegistryObject ANT_NEST = registerSoundEvent("ant_nest"); - public static final RegistryObject CLOUD_SHARK_BITE = registerSoundEvent("cloud_shark_bite"); - public static final RegistryObject CLOUD_SHARK_IDLE = registerSoundEvent("cloud_shark_idle"); - public static final RegistryObject CLOUD_SHARK_HURT = registerSoundEvent("cloud_shark_hurt"); - public static final RegistryObject CLOUD_SHARK_DEATH = registerSoundEvent("cloud_shark_death"); - public static final RegistryObject CLOUD_SHARK_FLY = registerSoundEvent("cloud_shark_fly"); + public static final RegistryObject CLOUD_SHARK_BITE = registerSoundEvent("stratoshark_bite"); + public static final RegistryObject CLOUD_SHARK_IDLE = registerSoundEvent("stratoshark_idle"); + public static final RegistryObject CLOUD_SHARK_HURT = registerSoundEvent("stratoshark_hurt"); + public static final RegistryObject CLOUD_SHARK_DEATH = registerSoundEvent("stratoshark_death"); + public static final RegistryObject CLOUD_SHARK_FLY = registerSoundEvent("stratoshark_fly"); public static final RegistryObject CATERPILLAR_IDLE = registerSoundEvent("caterpillar_idle"); public static final RegistryObject CATERPILLAR_HURT = registerSoundEvent("caterpillar_hurt"); public static final RegistryObject CATERPILLAR_CRAWL = registerSoundEvent("caterpillar_crawl"); @@ -87,12 +87,12 @@ public final class AntarchyForgeSounds { public static final RegistryObject NIGHTMARE_DEATH = registerSoundEvent("nightmare_death"); public static final RegistryObject NIGHTMARE_BITE = registerSoundEvent("nightmare_bite"); public static final RegistryObject NIGHTMARE_FLAP = registerSoundEvent("nightmare_flap"); - public static final RegistryObject TRIFFID_ATTACK = registerSoundEvent("triffid_attack"); - public static final RegistryObject TRIFFID_GRAB = registerSoundEvent("triffid_grab"); - public static final RegistryObject TRIFFID_HURT = registerSoundEvent("triffid_hurt"); - public static final RegistryObject TRIFFID_DEATH = registerSoundEvent("triffid_death"); - public static final RegistryObject TRIFFID_HISS = registerSoundEvent("triffid_hiss"); - public static final RegistryObject TRIFFID_GROWL = registerSoundEvent("triffid_growl"); + public static final RegistryObject TRIFFID_ATTACK = registerSoundEvent("flytrap_attack"); + public static final RegistryObject TRIFFID_GRAB = registerSoundEvent("flytrap_grab"); + public static final RegistryObject TRIFFID_HURT = registerSoundEvent("flytrap_hurt"); + public static final RegistryObject TRIFFID_DEATH = registerSoundEvent("flytrap_death"); + public static final RegistryObject TRIFFID_HISS = registerSoundEvent("flytrap_hiss"); + public static final RegistryObject TRIFFID_GROWL = registerSoundEvent("flytrap_growl"); public static final RegistryObject MANTIS_AMBIENT = registerSoundEvent("mantis_ambient"); public static final RegistryObject MANTIS_HURT = registerSoundEvent("mantis_hurt"); public static final RegistryObject MANTIS_ATTACK = registerSoundEvent("mantis_attack"); @@ -144,23 +144,23 @@ public final class AntarchyForgeSounds { public static final RegistryObject ROLLY_POLLY_WHEEL_MODE = registerSoundEvent("rolly_polly_wheel_mode"); public static final RegistryObject ROLLY_POLLY_NORMAL_MODE = registerSoundEvent("rolly_polly_normal_mode"); public static final RegistryObject ROLLY_POLLY_ROLL = registerSoundEvent("rolly_polly_roll"); - public static final RegistryObject CREEPING_HORROR_GROWL = registerSoundEvent("creeping_horror_growl"); - public static final RegistryObject CREEPING_HORROR_HURT = registerSoundEvent("creeping_horror_hurt"); - public static final RegistryObject CREEPING_HORROR_BITE = registerSoundEvent("creeping_horror_bite"); - public static final RegistryObject LURKING_TERROR_SNARL = registerSoundEvent("lurking_terror_snarl"); - public static final RegistryObject LURKING_TERROR_HURT = registerSoundEvent("lurking_terror_hurt"); - public static final RegistryObject LURKING_TERROR_BITE = registerSoundEvent("lurking_terror_bite"); - public static final RegistryObject LURKING_TERROR_FLY_LOOP = registerSoundEvent("lurking_terror_fly_loop"); + public static final RegistryObject CREEPING_HORROR_GROWL = registerSoundEvent("crawling_blight_growl"); + public static final RegistryObject CREEPING_HORROR_HURT = registerSoundEvent("crawling_blight_hurt"); + public static final RegistryObject CREEPING_HORROR_BITE = registerSoundEvent("crawling_blight_bite"); + public static final RegistryObject LURKING_TERROR_SNARL = registerSoundEvent("skulking_fright_snarl"); + public static final RegistryObject LURKING_TERROR_HURT = registerSoundEvent("skulking_fright_hurt"); + public static final RegistryObject LURKING_TERROR_BITE = registerSoundEvent("skulking_fright_bite"); + public static final RegistryObject LURKING_TERROR_FLY_LOOP = registerSoundEvent("skulking_fright_fly_loop"); public static final RegistryObject HERCULES_BEETLE_IDLE = registerSoundEvent("hercules_beetle_idle"); public static final RegistryObject HERCULES_BEETLE_HURT = registerSoundEvent("hercules_beetle_hurt"); public static final RegistryObject HERCULES_BEETLE_ATTACK = registerSoundEvent("hercules_beetle_attack"); public static final RegistryObject HERCULES_BEETLE_CRY = registerSoundEvent("hercules_beetle_cry"); public static final RegistryObject HERCULES_BEETLE_CHARGE_START = registerSoundEvent("hercules_beetle_charge_start"); public static final RegistryObject HERCULES_BEETLE_KNOCKED_DOWN = registerSoundEvent("hercules_beetle_knocked_down"); - public static final RegistryObject JUMPY_BUG_IDLE = registerSoundEvent("jumpy_bug_idle"); + public static final RegistryObject JUMPY_BUG_IDLE = registerSoundEvent("springbug_idle"); public static final RegistryObject SPIT_BUG_IDLE = registerSoundEvent("spit_bug_idle"); - public static final RegistryObject JUMPY_BUG_HURT = registerSoundEvent("jumpy_bug_hurt"); - public static final RegistryObject JUMPY_BUG_JUMP = registerSoundEvent("jumpy_bug_jump"); + public static final RegistryObject JUMPY_BUG_HURT = registerSoundEvent("springbug_hurt"); + public static final RegistryObject JUMPY_BUG_JUMP = registerSoundEvent("springbug_jump"); public static final RegistryObject SPIT_BUG_HURT = registerSoundEvent("spit_bug_hurt"); public static final RegistryObject SPIT_BUG_SPIT = registerSoundEvent("spit_bug_spit"); public static final RegistryObject BRUTALFLY_SPIT = registerSoundEvent("brutalfly_spit"); diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index 34c75072..1fa32aef 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -147,6 +147,7 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setKingAttackDamage(AntarchyMobsConfig.kingAttackDamage()); AntarchySettings.setQueenAttackDamage(AntarchyMobsConfig.queenAttackDamage()); AntarchySettings.setRoyalBossArmor(AntarchyMobsConfig.royalBossArmor()); + AntarchySettings.setKingArmor(AntarchyMobsConfig.kingArmor()); AntarchySettings.setRoyalBossFollowRange(AntarchyMobsConfig.royalBossFollowRange()); AntarchySettings.setRoyalBossMovementSpeed(AntarchyMobsConfig.royalBossMovementSpeed()); AntarchySettings.setRoyalBossKnockbackResistance(AntarchyMobsConfig.royalBossKnockbackResistance()); @@ -155,6 +156,13 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setRoyalBossBiteReach(AntarchyMobsConfig.royalBossBiteReach()); AntarchySettings.setRoyalBossBiteDamageMultiplier(AntarchyMobsConfig.royalBossBiteDamageMultiplier()); AntarchySettings.setRoyalBossBiteCooldownTicks(AntarchyMobsConfig.royalBossBiteCooldownTicks()); + AntarchySettings.setRoyalBossMultiplayerScalingEnabled(AntarchyMobsConfig.royalBossMultiplayerScalingEnabled()); + AntarchySettings.setRoyalBossScalingMaxPlayers(AntarchyMobsConfig.royalBossScalingMaxPlayers()); + AntarchySettings.setRoyalBossHealthPerAdditionalPlayer(AntarchyMobsConfig.royalBossHealthPerAdditionalPlayer()); + AntarchySettings.setRoyalBossDamagePerAdditionalPlayer(AntarchyMobsConfig.royalBossDamagePerAdditionalPlayer()); + AntarchySettings.setRoyalBoundaryRadius(AntarchyMobsConfig.royalBoundaryRadius()); + AntarchySettings.setRoyalBoundaryWarningRadius(AntarchyMobsConfig.royalBoundaryWarningRadius()); + AntarchySettings.setRoyalBoundaryGraceTicks(AntarchyMobsConfig.royalBoundaryGraceTicks()); AntarchySettings.setQueenBeamDamage(AntarchyMobsConfig.queenBeamDamage()); AntarchySettings.setQueenBeamRange(AntarchyMobsConfig.queenBeamRange()); AntarchySettings.setQueenBeamMinimumRange(AntarchyMobsConfig.queenBeamMinimumRange()); @@ -189,10 +197,6 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setQueenBlackHoleActiveTicks(AntarchyMobsConfig.queenBlackHoleActiveTicks()); AntarchySettings.setQueenBlackHolePullStrength(AntarchyMobsConfig.queenBlackHolePullStrength()); AntarchySettings.setQueenBlackHoleBlockSuctionCap(AntarchyMobsConfig.queenBlackHoleBlockSuctionCap()); - AntarchySettings.setQueenFinalTimeFieldRadius(AntarchyMobsConfig.queenFinalTimeFieldRadius()); - AntarchySettings.setQueenFinalTimeFieldRate(AntarchyMobsConfig.queenFinalTimeFieldRate()); - AntarchySettings.setQueenFinalTimeFieldDurationTicks(AntarchyMobsConfig.queenFinalTimeFieldDurationTicks()); - AntarchySettings.setQueenFinalTimeFieldCooldownTicks(AntarchyMobsConfig.queenFinalTimeFieldCooldownTicks()); AntarchySettings.setKingFireballDamage(AntarchyMobsConfig.kingFireballDamage()); AntarchySettings.setKingFireballRadius(AntarchyMobsConfig.kingFireballRadius()); AntarchySettings.setKingFireballCooldownTicks(AntarchyMobsConfig.kingFireballCooldownTicks()); diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java index 33e6cce3..ce216847 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java @@ -122,6 +122,7 @@ public final class AntarchyMobsConfig { private static final ModConfigSpec.DoubleValue KING_ATTACK_DAMAGE; private static final ModConfigSpec.DoubleValue QUEEN_ATTACK_DAMAGE; private static final ModConfigSpec.DoubleValue ROYAL_BOSS_ARMOR; + private static final ModConfigSpec.DoubleValue KING_ARMOR; private static final ModConfigSpec.DoubleValue ROYAL_BOSS_FOLLOW_RANGE; private static final ModConfigSpec.DoubleValue ROYAL_BOSS_MOVEMENT_SPEED; private static final ModConfigSpec.DoubleValue ROYAL_BOSS_KNOCKBACK_RESISTANCE; @@ -130,6 +131,11 @@ public final class AntarchyMobsConfig { private static final ModConfigSpec.DoubleValue ROYAL_BOSS_BITE_REACH; private static final ModConfigSpec.DoubleValue ROYAL_BOSS_BITE_DAMAGE_MULTIPLIER; private static final ModConfigSpec.IntValue ROYAL_BOSS_BITE_COOLDOWN_TICKS; + private static final ModConfigSpec.BooleanValue ROYAL_BOSS_MULTIPLAYER_SCALING_ENABLED; + private static final ModConfigSpec.IntValue ROYAL_BOSS_SCALING_MAX_PLAYERS; + private static final ModConfigSpec.DoubleValue ROYAL_BOSS_HEALTH_PER_ADDITIONAL_PLAYER, ROYAL_BOSS_DAMAGE_PER_ADDITIONAL_PLAYER; + private static final ModConfigSpec.DoubleValue ROYAL_BOUNDARY_RADIUS, ROYAL_BOUNDARY_WARNING_RADIUS; + private static final ModConfigSpec.IntValue ROYAL_BOUNDARY_GRACE_TICKS; private static final ModConfigSpec.DoubleValue QUEEN_BEAM_DAMAGE, QUEEN_BEAM_RANGE, QUEEN_BEAM_MINIMUM_RANGE, QUEEN_BEAM_TRACKING, QUEEN_BEAM_TERRAIN_RADIUS; private static final ModConfigSpec.IntValue QUEEN_BEAM_DURATION_TICKS, QUEEN_BEAM_WINDUP_TICKS, QUEEN_BEAM_TRAVEL_TICKS, QUEEN_BEAM_COOLDOWN_TICKS, QUEEN_BEAM_TERRAIN_CAP, QUEEN_BEAM_PHASE_ONE_CAP, QUEEN_BEAM_PHASE_TWO_CAP, QUEEN_BEAM_PHASE_THREE_CAP; @@ -140,10 +146,8 @@ public final class AntarchyMobsConfig { private static final ModConfigSpec.DoubleValue KING_ROYAL_MUSTER_RADIUS; private static final ModConfigSpec.IntValue KING_ROYAL_MUSTER_COOLDOWN_TICKS, KING_ROYAL_MUSTER_WINDUP_TICKS, KING_ROYAL_MUSTER_DURATION_TICKS, KING_ROYAL_MUSTER_CAP; - private static final ModConfigSpec.DoubleValue QUEEN_BLACK_HOLE_RADIUS, QUEEN_BLACK_HOLE_PULL_STRENGTH, - QUEEN_FINAL_TIME_FIELD_RADIUS, QUEEN_FINAL_TIME_FIELD_RATE; - private static final ModConfigSpec.IntValue QUEEN_BLACK_HOLE_ACTIVE_TICKS, QUEEN_BLACK_HOLE_BLOCK_SUCTION_CAP, - QUEEN_FINAL_TIME_FIELD_DURATION_TICKS, QUEEN_FINAL_TIME_FIELD_COOLDOWN_TICKS; + private static final ModConfigSpec.DoubleValue QUEEN_BLACK_HOLE_RADIUS, QUEEN_BLACK_HOLE_PULL_STRENGTH; + private static final ModConfigSpec.IntValue QUEEN_BLACK_HOLE_ACTIVE_TICKS, QUEEN_BLACK_HOLE_BLOCK_SUCTION_CAP; private static final ModConfigSpec.DoubleValue ROYAL_BOSS_SOUND_VOLUME; private static final ModConfigSpec.DoubleValue KING_FIREBALL_DAMAGE, KING_FIREBALL_RADIUS, KING_ICEBALL_DAMAGE, KING_ICEBALL_RADIUS, KING_ICE_SPIKE_DAMAGE; private static final ModConfigSpec.IntValue KING_FIREBALL_COOLDOWN_TICKS, KING_ICEBALL_COOLDOWN_TICKS, KING_ICE_SPIKE_COOLDOWN_TICKS, KING_ELEMENTAL_TERRAIN_CAP; @@ -627,11 +631,12 @@ public final class AntarchyMobsConfig { b.pop(); b.push("royalBosses"); - KING_HEALTH = b.comment("Base max health for the King.").defineInRange("kingHealth", 6000.0D, 1.0D, 32768.0D); - QUEEN_HEALTH = b.comment("Base max health for the Queen.").defineInRange("queenHealth", 6000.0D, 1.0D, 32768.0D); + KING_HEALTH = b.comment("Base max health for the King.").defineInRange("kingHealth", 3400.0D, 1.0D, 32768.0D); + QUEEN_HEALTH = b.comment("Base max health for the Queen.").defineInRange("queenHealth", 4300.0D, 1.0D, 32768.0D); KING_ATTACK_DAMAGE = b.comment("Base attack damage for the King.").defineInRange("kingAttackDamage", 50.0D, 0.0D, 1024.0D); QUEEN_ATTACK_DAMAGE = b.comment("Base attack damage for the Queen.").defineInRange("queenAttackDamage", 45.0D, 0.0D, 1024.0D); ROYAL_BOSS_ARMOR = b.comment("Base armor value shared by King and Queen.").defineInRange("armor", 20.0D, 0.0D, 1024.0D); + KING_ARMOR = b.defineInRange("kingArmor", 30.0D, 0.0D, 1024.0D); ROYAL_BOSS_FOLLOW_RANGE = b.comment("Target acquisition range shared by King and Queen.").defineInRange("followRange", 128.0D, 1.0D, 256.0D); ROYAL_BOSS_MOVEMENT_SPEED = b.comment("Base grounded movement speed shared by King and Queen.").defineInRange("movementSpeed", 0.22D, 0.0D, 10.0D); ROYAL_BOSS_KNOCKBACK_RESISTANCE = b.comment("Base knockback resistance shared by King and Queen.").defineInRange("knockbackResistance", 1.0D, 0.0D, 1.0D); @@ -640,6 +645,13 @@ public final class AntarchyMobsConfig { ROYAL_BOSS_BITE_REACH = b.comment("Radius around each head anchor that a King or Queen bite can hit.").defineInRange("biteReach", 12.0D, 1.0D, 64.0D); ROYAL_BOSS_BITE_DAMAGE_MULTIPLIER = b.comment("Multiplier applied to base attack damage for King and Queen head bites.").defineInRange("biteDamageMultiplier", 1.6D, 0.0D, 32.0D); ROYAL_BOSS_BITE_COOLDOWN_TICKS = b.comment("Base cooldown in ticks between bites for a single King or Queen head (scaled down at later phases).").defineInRange("biteCooldownTicks", 45, 1, 1200); + ROYAL_BOSS_MULTIPLAYER_SCALING_ENABLED = b.define("multiplayerScalingEnabled", true); + ROYAL_BOSS_SCALING_MAX_PLAYERS = b.defineInRange("scalingMaxPlayers", 4, 1, 32); + ROYAL_BOSS_HEALTH_PER_ADDITIONAL_PLAYER = b.defineInRange("healthPerAdditionalPlayer", 0.35D, 0.0D, 4.0D); + ROYAL_BOSS_DAMAGE_PER_ADDITIONAL_PLAYER = b.defineInRange("damagePerAdditionalPlayer", 0.10D, 0.0D, 2.0D); + ROYAL_BOUNDARY_RADIUS = b.defineInRange("royalBoundaryRadius", 192.0D, 32.0D, 1024.0D); + ROYAL_BOUNDARY_WARNING_RADIUS = b.defineInRange("royalBoundaryWarningRadius", 160.0D, 16.0D, 1024.0D); + ROYAL_BOUNDARY_GRACE_TICKS = b.defineInRange("royalBoundaryGraceTicks", 60, 0, 2400); QUEEN_BEAM_DAMAGE = b.defineInRange("queenBeamDamage", 45.0D, 0.0D, 1024.0D); QUEEN_BEAM_RANGE = b.defineInRange("queenBeamRange", 100.0D, 1.0D, 256.0D); QUEEN_BEAM_MINIMUM_RANGE = b.comment("Minimum distance from the Queen before she may begin or maintain a beam.").defineInRange("queenBeamMinimumRange", 22.0D, 0.0D, 256.0D); @@ -674,10 +686,6 @@ public final class AntarchyMobsConfig { QUEEN_BLACK_HOLE_ACTIVE_TICKS = b.comment("Active duration for Royal Assailant axe black holes. Queen black holes always follow their 20.125-second animation.").defineInRange("queenBlackHoleActiveTicks", 120, 20, 1200); QUEEN_BLACK_HOLE_PULL_STRENGTH = b.defineInRange("queenBlackHolePullStrength", 0.16D, 0.0D, 2.0D); QUEEN_BLACK_HOLE_BLOCK_SUCTION_CAP = b.comment("Maximum terrain blocks a single Queen black hole may pull into itself.").defineInRange("queenBlackHoleBlockSuctionCap", 160, 0, 4096); - QUEEN_FINAL_TIME_FIELD_RADIUS = b.defineInRange("queenFinalTimeFieldRadius", 20.0D, 1.0D, 64.0D); - QUEEN_FINAL_TIME_FIELD_RATE = b.defineInRange("queenFinalTimeFieldRate", 0.05D, 0.05D, 1.0D); - QUEEN_FINAL_TIME_FIELD_DURATION_TICKS = b.defineInRange("queenFinalTimeFieldDurationTicks", 45, 1, 1200); - QUEEN_FINAL_TIME_FIELD_COOLDOWN_TICKS = b.defineInRange("queenFinalTimeFieldCooldownTicks", 80, 1, 2400); KING_FIREBALL_DAMAGE = b.defineInRange("kingFireballDamage", 32.0D, 0.0D, 1024.0D); KING_FIREBALL_RADIUS = b.defineInRange("kingFireballRadius", 4.5D, 0.5D, 32.0D); KING_FIREBALL_COOLDOWN_TICKS = b.defineInRange("kingFireballCooldownTicks", 150, 1, 2400); @@ -1181,6 +1189,7 @@ public final class AntarchyMobsConfig { static double kingAttackDamage() { return KING_ATTACK_DAMAGE.get(); } static double queenAttackDamage() { return QUEEN_ATTACK_DAMAGE.get(); } static double royalBossArmor() { return ROYAL_BOSS_ARMOR.get(); } + static double kingArmor() { return KING_ARMOR.get(); } static double royalBossFollowRange() { return ROYAL_BOSS_FOLLOW_RANGE.get(); } static double royalBossMovementSpeed() { return ROYAL_BOSS_MOVEMENT_SPEED.get(); } static double royalBossKnockbackResistance() { return ROYAL_BOSS_KNOCKBACK_RESISTANCE.get(); } @@ -1189,6 +1198,13 @@ public final class AntarchyMobsConfig { static double royalBossBiteReach() { return ROYAL_BOSS_BITE_REACH.get(); } static double royalBossBiteDamageMultiplier() { return ROYAL_BOSS_BITE_DAMAGE_MULTIPLIER.get(); } static int royalBossBiteCooldownTicks() { return ROYAL_BOSS_BITE_COOLDOWN_TICKS.get(); } + static boolean royalBossMultiplayerScalingEnabled() { return ROYAL_BOSS_MULTIPLAYER_SCALING_ENABLED.get(); } + static int royalBossScalingMaxPlayers() { return ROYAL_BOSS_SCALING_MAX_PLAYERS.get(); } + static double royalBossHealthPerAdditionalPlayer() { return ROYAL_BOSS_HEALTH_PER_ADDITIONAL_PLAYER.get(); } + static double royalBossDamagePerAdditionalPlayer() { return ROYAL_BOSS_DAMAGE_PER_ADDITIONAL_PLAYER.get(); } + static double royalBoundaryRadius() { return ROYAL_BOUNDARY_RADIUS.get(); } + static double royalBoundaryWarningRadius() { return ROYAL_BOUNDARY_WARNING_RADIUS.get(); } + static int royalBoundaryGraceTicks() { return ROYAL_BOUNDARY_GRACE_TICKS.get(); } static double queenBeamDamage() { return QUEEN_BEAM_DAMAGE.get(); } static double queenBeamRange() { return QUEEN_BEAM_RANGE.get(); } static double queenBeamMinimumRange() { return QUEEN_BEAM_MINIMUM_RANGE.get(); } @@ -1223,10 +1239,6 @@ public final class AntarchyMobsConfig { static int queenBlackHoleActiveTicks() { return QUEEN_BLACK_HOLE_ACTIVE_TICKS.get(); } static double queenBlackHolePullStrength() { return QUEEN_BLACK_HOLE_PULL_STRENGTH.get(); } static int queenBlackHoleBlockSuctionCap() { return QUEEN_BLACK_HOLE_BLOCK_SUCTION_CAP.get(); } - static double queenFinalTimeFieldRadius() { return QUEEN_FINAL_TIME_FIELD_RADIUS.get(); } - static double queenFinalTimeFieldRate() { return QUEEN_FINAL_TIME_FIELD_RATE.get(); } - static int queenFinalTimeFieldDurationTicks() { return QUEEN_FINAL_TIME_FIELD_DURATION_TICKS.get(); } - static int queenFinalTimeFieldCooldownTicks() { return QUEEN_FINAL_TIME_FIELD_COOLDOWN_TICKS.get(); } static double kingFireballDamage() { return KING_FIREBALL_DAMAGE.get(); } static double kingFireballRadius() { return KING_FIREBALL_RADIUS.get(); } static int kingFireballCooldownTicks() { return KING_FIREBALL_COOLDOWN_TICKS.get(); } diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java index 982bad14..c1ee80d2 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java @@ -593,7 +593,6 @@ public final class AntarchyNeoForgeClient { registerGeoItemExtension(event, AntarchyNeoforgeItems.BATTLE_AXE.get()); registerGeoItemExtension(event, AntarchyNeoforgeItems.BIG_BERTHA.get()); registerGeoItemExtension(event, AntarchyNeoforgeItems.ROYAL_GUARDIAN_SWORD.get()); - registerGeoItemExtension(event, AntarchyNeoforgeItems.COMPUTER_ITEM.get()); } @SubscribeEvent @@ -709,6 +708,7 @@ public final class AntarchyNeoForgeClient { ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.GLOWCAP_MUSHROOM.get(), RenderType.cutout()); registerUltimateBowProperties(); registerUltimateCrossbowProperties(); + registerFloppyDiskProperties(); }); } @@ -728,6 +728,14 @@ public final class AntarchyNeoForgeClient { }); } + private static void registerFloppyDiskProperties() { + ItemProperties.register( + AntarchyNeoforgeItems.FLOPPY_DISK.get(), + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "disk_category"), + (stack, level, entity, seed) -> com.craisinlord.antarchy.content.item.FloppyDiskItem.categoryModelProperty(stack) + ); + } + private static void registerUltimateBowProperties() { ItemProperties.register( AntarchyNeoforgeItems.ULTIMATE_BOW.get(), diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java index b742cb33..a7770bbd 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java @@ -23,6 +23,7 @@ import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework; import com.craisinlord.antarchy.content.entity.vortex.VortexChargeProjectileEntity; import com.craisinlord.antarchy.content.entity.vortex.VortexEntity; import com.craisinlord.antarchy.content.entity.trades.DrTrayaurusTradeManager; +import com.craisinlord.antarchy.content.entity.trades.ComputerScientistTradeManager; import com.craisinlord.antarchy.content.horde.CavarynHordeManager; import com.craisinlord.antarchy.content.item.*; import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisUndersideManager; @@ -254,7 +255,15 @@ public final class AntarchyNeoForgeEvents { } static void onVillagerTrades(VillagerTradesEvent event) { - if (event.getType() == VillagerProfession.FARMER) { + if (event.getType() == AntarchyNeoforgeMisc.COMPUTER_SCIENTIST.get()) { + int[] slots = ComputerScientistTradeManager.slotsPerLevel(); + for (int level = 1; level <= slots.length; level++) { + for (int index = 0; index < slots[level - 1]; index++) { + event.getTrades().computeIfAbsent(level, ignored -> new java.util.ArrayList<>()) + .add(ComputerScientistTradeManager.listing(level, index)); + } + } + } else if (event.getType() == VillagerProfession.FARMER) { event.getTrades().get(1).add(emeraldForItems(AntarchyObjects.CORN.get(), 20, 16, 2)); } else if (event.getType() == VillagerProfession.BUTCHER) { event.getTrades().get(1).add(emeraldForItems(AntarchyObjects.COOKED_CORNDOG.get(), 5, 16, 2)); @@ -312,7 +321,10 @@ public final class AntarchyNeoForgeEvents { } } + static void tickCavarynHordes(ServerTickEvent.Post event) { + com.craisinlord.antarchy.content.antmail.AntmailServerData.access(event.getServer()).drainAvailable(event.getServer()); + com.craisinlord.antarchy.content.antmail.AntmailEventData.onTick(event.getServer()); for (ServerLevel level : event.getServer().getAllLevels()) { CavarynHordeManager.tick(level); com.craisinlord.antarchy.content.horde.CavarynCreatureSpawner.tick(level); @@ -381,7 +393,9 @@ public final class AntarchyNeoForgeEvents { static void registerReloadListeners(AddReloadListenerEvent event) { event.addListener(new DrTrayaurusTradeManager()); + event.addListener(new ComputerScientistTradeManager()); event.addListener(com.craisinlord.antarchy.content.guide.ComputerGuideData.instance()); + event.addListener(com.craisinlord.antarchy.content.antmail.AntmailEventData.instance()); } static void handleStartTracking(PlayerEvent.StartTracking event) { if (event.getTarget().level().isClientSide()) { diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java index bcafb2f8..1d167f45 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java @@ -46,6 +46,8 @@ import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.ai.attributes.Attribute; +import net.minecraft.world.entity.ai.village.poi.PoiType; +import net.minecraft.world.entity.npc.VillagerProfession; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.level.biome.BiomeSource; @@ -64,6 +66,23 @@ import net.neoforged.neoforge.registries.NeoForgeRegistries; import java.util.function.Function; public final class AntarchyNeoforgeMisc { + private static final DeferredRegister POI_TYPES = DeferredRegister.create(Registries.POINT_OF_INTEREST_TYPE, Antarchy.MODID); + private static final DeferredRegister VILLAGER_PROFESSIONS = DeferredRegister.create(Registries.VILLAGER_PROFESSION, Antarchy.MODID); + + public static final DeferredHolder COMPUTER_POI = POI_TYPES.register("computer", + () -> new PoiType( + java.util.Set.copyOf(AntarchyNeoforgeBlocks.COMPUTER.get().getStateDefinition().getPossibleStates()), + 1, + 1)); + + public static final DeferredHolder COMPUTER_SCIENTIST = VILLAGER_PROFESSIONS.register("computer_scientist", + () -> new VillagerProfession( + "computer_scientist", + holder -> holder.value() == COMPUTER_POI.get(), + holder -> holder.value() == COMPUTER_POI.get(), + com.google.common.collect.ImmutableSet.of(), + com.google.common.collect.ImmutableSet.of(), + net.minecraft.sounds.SoundEvents.VILLAGER_WORK_LIBRARIAN)); private static final DeferredRegister MOB_EFFECTS = DeferredRegister.create(Registries.MOB_EFFECT, Antarchy.MODID); private static final DeferredRegister POTIONS = DeferredRegister.create(Registries.POTION, Antarchy.MODID); private static final DeferredRegister FLUID_TYPES = DeferredRegister.create(NeoForgeRegistries.Keys.FLUID_TYPES, Antarchy.MODID); @@ -431,6 +450,8 @@ public final class AntarchyNeoforgeMisc { private AntarchyNeoforgeMisc() {} public static void register(IEventBus modEventBus) { + POI_TYPES.register(modEventBus); + VILLAGER_PROFESSIONS.register(modEventBus); MOB_EFFECTS.register(modEventBus); POTIONS.register(modEventBus); FLUID_TYPES.register(modEventBus); diff --git a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java index 30a52e9f..e6aefb62 100644 --- a/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java +++ b/neoforge-1.21.1/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java @@ -8,8 +8,12 @@ import com.craisinlord.antarchy.content.network.ToggleTigerEyeCamouflagePayload; import com.craisinlord.antarchy.content.network.AntmailPayloadTypes; import com.craisinlord.antarchy.content.network.AntmailSetupPayload; import com.craisinlord.antarchy.content.network.AntmailStateRequestPayload; +import com.craisinlord.antarchy.content.network.AntmailMessageRequestPayload; import com.craisinlord.antarchy.content.network.AntmailSendPayload; import com.craisinlord.antarchy.content.network.AntmailReadPayload; +import com.craisinlord.antarchy.content.network.AntmailDeletePayload; +import com.craisinlord.antarchy.content.network.AntmailDraftPayload; +import com.craisinlord.antarchy.content.network.AntmailRetryPayload; import com.craisinlord.antarchy.content.network.AntmailResultPayload; import com.craisinlord.antarchy.content.network.AntmailServerHandler; import com.craisinlord.antarchy.content.item.TigerEyeArmorUtil; @@ -50,6 +54,10 @@ public class AntarchyNeoforgePayloadHandlers { (payload, ctx) -> ctx.enqueueWork(() -> { if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) AntmailServerHandler.handle(player, payload); })); + registrar.playToServer(AntmailMessageRequestPayload.TYPE, AntmailMessageRequestPayload.STREAM_CODEC, + (payload, ctx) -> ctx.enqueueWork(() -> { + if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) AntmailServerHandler.handle(player, payload); + })); registrar.playToServer(AntmailSendPayload.TYPE, AntmailSendPayload.STREAM_CODEC, (payload, ctx) -> ctx.enqueueWork(() -> { if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) AntmailServerHandler.handle(player, payload); @@ -58,6 +66,18 @@ public class AntarchyNeoforgePayloadHandlers { (payload, ctx) -> ctx.enqueueWork(() -> { if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) AntmailServerHandler.handle(player, payload); })); + registrar.playToServer(AntmailDeletePayload.TYPE, AntmailDeletePayload.STREAM_CODEC, + (payload, ctx) -> ctx.enqueueWork(() -> { + if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) AntmailServerHandler.handle(player, payload); + })); + registrar.playToServer(AntmailDraftPayload.TYPE, AntmailDraftPayload.STREAM_CODEC, + (payload, ctx) -> ctx.enqueueWork(() -> { + if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) AntmailServerHandler.handle(player, payload); + })); + registrar.playToServer(AntmailRetryPayload.TYPE, AntmailRetryPayload.STREAM_CODEC, + (payload, ctx) -> ctx.enqueueWork(() -> { + if (ctx.player() instanceof net.minecraft.server.level.ServerPlayer player) AntmailServerHandler.handle(player, payload); + })); registrar.playToClient(AntmailResultPayload.TYPE, AntmailResultPayload.STREAM_CODEC, (payload, ctx) -> ctx.enqueueWork(() -> com.craisinlord.antarchy.content.client.AntmailClientState.update(payload))); registrar.playToClient(

b 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 N4h{|u4h{|u4h}mk|H%LV literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/bite1.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/bite1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..519a2128a3d0bbf42fc1cb75e5f7e42b97b4b15e GIT binary patch literal 31374 zcmb@tby$^6*EhTs1yKYPMLMLV+;o@Hy(#I~^rpK}LAtxUQ;-ePBHazrAkxjIYkwzr zUH5Yz&-Weg`_FeC!^xUiYu3!HwSH^n98uoHLXRCKhiXezD?~&YdvbHlY zv%hV)_r3%KLIMwH_x|1Q@Au?yd;aIS?RgKVVSW=ed=_vk`CrdC%3nhGy2c z3}s1W8BzXQN?cS9BFc{jP{I&pNhM|eM*#UwURG9A?q6C?S@@kY|GkHQ=Rq&>PW2w> zRthXb*8XuQLIniE27&Y_=`f>>CFycwGHG2CVkB;<_P2ovF@f!P&=7FPzb`U2!?SrZuFnW)KIIusyvw003Fq%r|J(ufR%+L z$iKXR+`bF~$o=qump_qR7kPe)-Qza}8J{1sbdmYUux#W+%kgX!WQXx=(pC+LJYlRF zk&*$At3t~fQMEnn2e{W#{&}I_t%D4hiwG*dA-2e)TlE2Sc?ouas=v!31APRR2@;Qd zAzAUFw}PmDm{R_bK@o?2m{n9sSylyj9JSS)j3%8NC!IXi6TWDE_f-G>Mf2Ae?b9#% zcz*wsGtY(7+j6&bvU{Km3huaNx~$g(S--inP<;JL?t=_(O+tnq^_ng!TQbksyv!`Q z+O)XZvbU0J}XOuOEIgaBK1+7flzQi?(-JM9?I z?kwB|0(>e2VQ9Bw6SrsUwC4kgxWoJI7@7Vf8LWSuaO-vuNC-^SZcEe+SOda1YR9f- z&p&A|I|-QL)*}Ds=hI!h01F{cHI6g?_=q(^|IREQ0kwFUkKSSY9SIN!$oxZ=G?aws z=f+H0$tZl0JlYbdoJ><&n2>zuL5l(WWx$toJ&ElZi9<>D1Ckg?xqm6w=gDZLg(E;4 z{#puV2fjWaXEu_ARyg$m=&L@Iv|3R60-yq8l4;10?f zx;8+a8>Z~`qu;ju@9+@<{HFg4uOsy{nP(WP!3**{@@Nu=aLnioa2H(;NobguRH2Uo z1fM3?;q%?f$v_}q?7Jxb_jMP_f1@}jD(FoQ?YBObUWVION$UX5*4I|-cNkzGiW%5} zC=P|MrrDQqOTcpB6B_inF%T)b+`otdoJwXGA&iQD2NJ&oyB@lH02Tl3xP8jOXT-z* zRR#};6rWQ8WtfFgiIrbPSw+psQa#>rrsj+GFUN&R&xOfQ-B*79JFxzP91s8+-#bjk z7=(a3Q+(t^(EmF4U*y=n=!_)lj--^Xq?8?D=s#qWN3ad!h$^zlD!tSme(5-hYox@X zJ<4u0s$w+mWHeQ6q*>#sUi}YX{=#Nq((%8La|@Bz++oWSQ4jtHIT^HJzq!IFB%>(R zqo`fuOahY%6Vo;dvmXC1%YTp~Zbu0e z06C&|l>ddCA7G+)0GcWpWD$SY$Uh7i)Is#se>(sK`VoO4eV0cRA&lb?_HhWKiZcKI z88HBNoK1F=4KQph2!sy;t+xYK$BxR5)4*<0>*1zlKh*&nzi69x&rJ{xv)fNJkm9C= z=MR8$10uCF=_6ma>0|P!$k7!DuT4lkVnhSd-UE;#05_2Ua2uXMh;SF#`w;LWeBS^t zD!I>)@FS`(F)WYBV$T!3Ll2Y;a{#n=%9ew1hrVOh)Zg=hebIBuF;pa)uJOcVr`n==709EKz} z$YLN6v%;7$4O%KVz@Unq(13ySCJZp{RF&q88JN>mPiU0f4W4s5_$@<{(OympjXZWh zm=5Rx%*ANnR@I0wZEntphGZ^WK}wn`cS3}&6h2`fQwS%Jk_1#~NEX7!G)hb1c)XA3 zzTD2LDo!H^oQn&k&Al5u7Z@B~eLHxSGQ{k*hk0oSFnA%bKp41s!aNk*K?LpR&V2zj zr|THg2w|)yf|js5->n=Mm=zpgFm?bYxtkRu&_kxQoj~eN6)^aOMrbLVKuHQ%pt(#T zu$A_~;du5ykJ~Zecz~)-JQyRe{rRc@R? zFc_c!xfqRLaGWwkst}M1uIPYB0eNo%XzNG<#swS}QqiHIBz0>ppiKh?9H!7PfrFRW zkfd0w=r7ZsU(hn{LiPnUh=Bb9IQIb7BZBq;=CTh1Yyq@&-ZIuwpnrE0bP(u`4Y2usRW!8!9GL;Y z^FF8$*d@SHcXlQCf(J-H%4L%PuL6^nD*RiGf&8t~QQdOM0q@*$MF7~{Rso|)rQTLE zV`4-e0ow#%xi5ghb7Pb>-sA$pfT>jf+SR-i1loUq2Fkcks4C7yNAQHWUg15aq&abbP%f2uGk0CBKV_O%!Q+7lY~0}nxDY+Rs^#J|4s z{FEI2pqEKbfA1q72qZywcd!J|b!+rnZ~S}C1n2#S`k%HtYV{vR->q{(xL1j8`=;2- z0pb4%1tjz_^mQ^$$b*-+YkUN_Iz<02{3E2YW9|$bt4ffY;`97AqJacOl?y~ZV|5=l z9bGK26h^1#Kotnmk_sSm!3yEH&`@F^n*}j;5ZLbkrUBLi#3zshe*q#BN$==xMSz8B z0o?#bKYZ=hAOKZbn}4fiLd$-S|5gipHN_n;LjoTcNQmkeSF6;B`jV;5ogHRDATc^% z1(^SMD)ui-|2pmsfcU$RxUCxA;@9CXL!|4!7`{Wdz`kQBh|uK%J<#r)PVTE9^)KVO z6m4$Izp8R?aruwP^V`6J@ca#vzh{!as_r5VB8C1}?(VP>^Za&_e|rD{cq^CrmjRKw zi`!dOxB7tKCI6QJ40Jd69Rniri0VI#TtERZtG^6jpns`bEg;a)oj;$&;u_@RtC4)7 zc#Kc|7hg-j_V=%>Ipx3oDS$llkEVZT@&AAI|8odXK`#c{k9BlHlMj+S^h8gY?l6c8 zAg(n58YWBwz*qy8@L54*Jtt>G%A$f@O8C}T5CA3~y`4Uj>B zd^mwABE<;D)eNp!)qtU8<^UP=Ho(dneIle_r7L*QuiR_X!nAboUj`xUlN#=rg;jt8 z_=y&*pF04^@Zbpo`+oM*S!qCX60D3JE!`eFFZY*uDEnH9J2ubRm_}&rDv868@EVDO zR4K3v4)CLqd+gW3KfwCg*XDh&cpfd77XyI}+v7h?^RWU0kv!CLDrhsO5}^l zb4G#z>I$_132D8Jis0$}IubxA{{#CIkY65y0)P!I1V})>e|=&Q^cU*?1!mwQftm|A zfPZKy>l-Nw{hcRwn1yveedt+oBzZgp9E~F!KBf>HtLLw3V>Ildr2$vJVDWuXHLbA$q;rGf3WpG|WMO-p z)EaPp2Ym*CP@b{iJbEGY=@SNsOGqN(KIrii4B}Q%At5I6>>n96GF&vN9KaWKKp%Es zKsy;YlYsV39?Hk|hkhQQuAyHN_1`}-p=b@YYom!g62bobfk@~cIv3ZHAIREg@$d-< ziM$t+kdl#8fGGdxUgG1&k9V>{!29FJzc&v*NbZ_Iw>J;Bg8WA~Z3Or3A?uL`$SWjL z5~5@Vv#@}{Opr)JB$5^MxT$KUcZxOUij+dxMSkch`~wev{_{s9T^qIi1uk#bcQK1{ zo6xeK9K$3B#hjjuo1TJgQ%)}r0$IP(7qfd^Hd;CR8+r|^O2^l%QDNnrU+%aVHNNKm zg4`7B$uf(fE|ay<#~$&Y9kZRaNr`tU^z!>O`Zh&wsb&EyUH`090OKkQRsOzBx^`!_ zxw=O|mKXV0=_94W<6d#imU}$o3)EhRoq@D+l17!!-Y=Ms$~CH@YZ@-KpqD-N#G7H+ zG}s!UX_~J5V4h7g_&AoG*aT;G;TuxYX6&`+VZNpu{fz_G>kKco07cq!ZA}6s)2m5M zju3b*jx*Cu(WuQ)O`QuKJ(&h?C9X5$3i*0062nm64^}MrWsgb}t!)cX>c`t@nsG_FD*Z=2z3;FK_PU4# zrlM^4ilUtLR7*Q9culVcn^fs_RYQ%u`?BWce772X_Qvpgj>}yT3@=RdmT~_qT5{Id z`#CPU;C%uyp;{+LTLg5SVm(C>vJ4wX;+XXJRCR~s-}`I^_>^)DtA!a0B;Z8v722O7 zp+|r_NdFsFFOF7Ij+PtBoHZ)TUh-~;YjNVNzRO@fFB>lT zmz~8r!d==GdP&Mya>8|scs3~mehAjzzqDO(ANtFal3?HOwFTP98X7r<5IA; z72WXV_^}>(tAtZS2eoy7D$jf=QC`YI=dtEe6$34X=J$Y;UB}$+LsdGXYa`>_`XbJd z#cEnbE1$@_Efh5Djl5?(TwtemoBLr`4&B5gC5WO>1U;R6?Ae@!sczD>vk&-y8)lM; zD-~W+`^-8|jM>>`FL7BoLqG{T%~;@(4%_b`uXtsB@W#64i{)1FKS#XLk|?rqYP*Et zzB(sbcHdeSx(vxy9eG@4unu0nV@#pt{rd8!)~d{A!1>p5VqFgUmuAMwXkPYj_CIdF z>_u}OhPcr*Z)Z&W?)rSmKSpu~c^&8AT+YdojC&rZE^>orIhJpucyzGR97zW9s-HLT z;>Gglz@KAa3^1B~=9YC=sno(|I~_LdofDl_^$M2aW>|GqnX!mt3xw2>Y&%Z)F$j+Y zmDgB%B>0#YVz(V@JPsOlF>iG>kRp9hmkRr}BgUFR&M-%A{l*`w)I3!-+mEm=wf``} zLYGkXQHRoD0PT~7xH5O6MVh5Tzg3a0c(E0OH{Z5mE1%O>du(~>kFwcljQY8(Y$!Y7 zoiGbXe7rxaI!<+P@#^W>fRWkD)Sh&~<=tHO;9zTeOhM3itJUlcD@ zxu+rFC(de$I;3B$>7u>JA`=$;IpIwm^8H%o?$fc;vZnj?f6$O24DY8rM=LbE4?Jde z8i!eoI<7y2kDP_#g(ZZyZ(hhVEWs->`aN-IiO1e)pgDyySXwu^TiO1EpWFYukUrmH z@6MFE$vN3@xnwwz6VEn!z)czHNJM}^{au`1LQ(p%zKOT-inmuFxz8+-LyHmndyg|> z=e_YwRV#Lw!4pFN%#u$ZiZiiS@O9_VIJsf{M)g{UF3_8orrD35d?Ku(NBIzRW147= z%`%`|`dvuP^@Ig9QJ@*lRd4Kzx_G&{=G?UR`H9@Cv15dcKPkecGqlmCe~wCOp*o_Hg=mZKxp@wqy6Sfx_Z;{yi?C@-`6L1DUe;QXVEd|&)(Tyi^S};n zZ@X=BVSlHJ4>kY9m+`B)Dp@5rv3RyAHlJ^7+*Ogw%VT-!!!3H)1P@qpT9(N^V38;7 zO&lXv@cYiAFYR@cdgizW6hy+@%^Z%@m1$1@T(&{`Skw;T*Jza39v)7lzG+&~*Je?p zMZ05(ww&#ZmkCFlSDF~sNw00tV>vl@hBH4Zdx>3=Z1iPyKE9!TcQSjOl6T_Ty~TPy z@FZ$gx@7TV;3#Q6-8reuHBOQ+zw}dYX4-Gn-SiVouys^=lkJtdjGsxTgC-(s;REKE zCs;G8BB4EI?oRqF6#G>s$N~OZ|2#p;=3XO@uQoD;iC>*9mdoecD)UIWs)w5PeJW3! zBdEsGw zftxDr8PbM5@zz%R^Yafx^|97B^3)H~o@o^nrVh!dHC>kEtF5-K|0#g3J-e|brPl~- ze@zTC5i}HkxYku?0L78Yv*s)P6j#mu;oghi2@lLuf@7vo@4bm_`7HsFh1alrc>&BvK5J)zhmLi-fO!o zwKkSPd2#stev2I$)zkZZ^@v@UR})ZOCI6cFpos5pYV|G!q;MX2KTW6X78EzUv5Q#= zo_qOtvV7>O|J}T0ZCSU~UUIN^cykb}AWFO2&@Hw4gAnR{kjDj+j3Y%m&9mZlq?;Pw zccQ%$+LPTwnr__i!MdK44yKiKV_RM5pT2C%pXuSSJPH14=ZYzknGw`XZSrqbx@3Ox zqBloxiDFRBs_DIY4Mu*%-0qY!z4!v48yr%nfV{uTQRF1F45HLWerLMfUD2HPI( zefd7Vu6?m}YbY}`pS-iDFjp4jUHP2N<7CUk08rZiYHW z#vFpPCWf??L^;q1ZCKAy-AhdC{ENuCNUE01r6*4fc%G;@Nl%Q>*F5KyMKq62Kj?ey zct7W{{8kipieH6ylK3Xm`(4J}$+ZRv$ELQN?%r(AoU-($<$a&JQ5`-(=KOebHfUNE zy1a&|JAFq0pIM!78u293(pL1Lefhu>T0)fIL)Ib~X7AIN4s++W$4lRrIm6$j)*E}p zFXfpF-HUlHZm%M=W7Fb&(z3F0B2+Kvw(=$F;@WxqASLnZshs=%kYESiq*;BG80UcK z#Zbdn-(wx;F-V?20dJj@yh;kIJB+$$hB9>k@0(r@?{Arv8m?9wVq)_-Yf29B-m6Go z=js{|$SsLalOg(J*2A8&CNPT%l1u7HOO1Dyx7l^FmkLYXv=7nny{SR6=JHrZYa}J6 zbDk@HE^lv_W8zhQd6d^I%wo>>xhkWGHqBr%SHwg$0Uh4fv-UsUl@~ zN4CC!HN%znn#M>8GYMMjPW41B4oSKAkt*j@T|ybb>}Hckb9+EG!oy?NUZi+D-7>vu zrZSIlZZ3N8NF6>A+CkU~)0<;1wOT#jSRKI(L$%t))#P{i<5cYXImry>fc?A}PtJeV zMEaY5kL?BdOQnNhIenw$hx2xC*5CDz8^_*n^{bhRxo6S(*z*nJ6CaeoSf17QuT$ve zuDOO!T+%%a+QLo4ZdCTH$ay?s2vgB1?Jg_p{um6_&i)d3A2b&?t`&>1_9AEX)#<$U z7~&&yU;KhLq0HdB^tVswI7n8Zn(0^;m65 z?8DZHn@Z)h6gAms^vPo0(4)&ZI7ZTCWWD;r_aA?D3WcaL_ee8Og$OR=cPJwXPEVgJ zXze(c4%cX1e&P;x5a~7Y2^lhtRD7dp=}ZHUJ6&YBl+(d{hC+US#V{lYS~prRe3REc zgvA6EAB;QIRdu3Hl+luU5{%PO>3+#xQ=Nqw^DADffXrH;T1%s-)?7;~|7`0N;h>dV zK%;X$$x9bnN?ndDGfGOG%#tffPKeAyc<0=lxp0#t+pLCvG4)j$uVx_2(*xbqX=V0N z3zM}T*Y7!No-ZKkICF8Mi6~E6Kjrd9)DEPoZ*b)$er?+Hsz7&XbZ2=a!V{zVmS~Q$ zL>>X{+!*OL@U7#7S%0bShD5}7wI2kenuw>Qa1M-~RpnK^Gl&*&^6tL!(%d<^&LHjE zwBxb3s$|YBv1;T_z0Q|iM%fwd|kknRaLmyPgqobsA-EDf9EkRv1PifdVJ@VR-+s?oBK z0ta!{SodU?pnvWV1pem^0RXff$1!nf4KLK zES=>E)WpHn!yVYH6x?|0sy2oiMd;M=m>c6E_uNkPOp=Q0-+(!13T<^rebxFFkE)NX zx_CG-DLV#b%WB`4lcsf}HOrCU*9JXbt9sVHGDM2i`XrIMlIf4aXZsutAN^5pO8IU^ zYrBmRTjiwj$%!9*rTDbYjN$Cx)!MWq&j%xq6$diJ*tEVG@^uP4(hVZ8cs@i zmQl*WTWnQJ>gPN*ZL1@7iBHpheNAg!RZewCfb^wXI}!Q$E8+-XwAa1ZxuBOy9Vr)Ss{XZqb?IyVlmOrDV2|RrsEpLATVh>0Z)+dgAtwD?*3%y?ag(8%d5s~hE-{oX3Jd-xgeunkqi0e;#l;ma?dj`Y&l zP0T)2jJhu=f7V|AW=&)vH+a`?@dlqB9#09rc~$>8=yf@s%RuT2HgT&dBqT}F46b_9 zz!iJ8qdC2`a+X{%eG=z*E_A`FLh%cEwRdG_W6AhN!;4kGh(+fImPtkKZ%87AN1T@LJf{0Bp(c^JieQ)o2+n8q1U^@56JsqEt3tv~z*!m*)4yRcj{T;={FD zc&V$jCl-;)p!w+(SJeG`KQ47zuby$_1umYuxej+n2hf>sb_`ea2f$V&EfEdR=QVgR zOUG4bHr80*A(}j^Us|j6oHiVPs+>1xQ@NzouHxcOdKM`Ou5nz9`}8u6AW~J3FSXxz z(f+zoP;nP(sj%_RgyU7K&9VNBBL%Ze|B9b}sPSStgE;xb=*)B9e(r>sH>C(J_Gu9JoR&e#wMA5xpm^EYX~g^m2N-pe-e&lylMzEq#P zQePJjmF(QYJ4zmVyEvuuy?Ae<6C>_zed(_vN)Fn|gx&eAFV2#T@ivDw;mg61uMKf3 zOuTdOuKB=0%>u`87BdpX@)=T?v;EO@tk9z?o|!iX*&HiP2gHb+t)oY2P8HH!kn)BS#$*T z%sIYg!19bY!K6pZY46dVs71vx73PRsYvrdi0`J|$0=*=SQ)K#13iQjl3vc}4Dc#9> zK-!O^%neK>6FY0sblg{Ho>}-~bp*N-AswNf=Lv5___yn$3Y*sbu~CJ#?e2Yff5_e? zgdd#8DfLibCM6T4@ZDeIEY^}Z|6S3-w_XL!WRsB*aE@R9YnC|7jZfcUv$i#vwRk7L;r!5! zO@)I}+=_#}X-mhh66>Ehx#<2lW_kCbzkzktvR82NJeGHSLD2?hzaaNyy-JKXaNl`F z5WUh2=CN7`WH9?Fc<72wzI1gl=FaTw`~CqkS9|DbrR0{q;GkTKd@jr7F@zy<#PoW! zqe9J}URqV1vaEjNv|}eInI$`>SMc==>`yl7NNTC15Z<=fOsRN2<=R$DSr~haa&|7W z$LWc9ZRmzeKAP(T;)<5|Vu9ZdjnLR-U~kwXURI(=)rSAD0Wxr!W@*=!hnIg~XIG6s6Y3GKw2VRz zg}WE}eDI$p`73%^!gR9j9wpQd&s)~}7b-uPh#R)fiK~4cZTALGl4Plgjyqi49Gfz9 zZyzb2jWH)vP?+)Lu^Vs5nzI~Q&{!^$U)v?`FdHGFISD(Lll07Rk;kP3*NqpU{m>pI zpU_Dx>E)pqKJ63KYc(Z}C9Snal;HEjabkMBsjg-L8`ifRWGXU!@%T_q4v~=INkLf* z(ELRT7uJ3zn%Q|;ePw$-(s+;FY`!M9kbj|}i0*5Qgh>+5p@Ux9Q7L!T3zku%Ej#A! z=*i#b8uo)3@>^vW!{l@l* z9L~k=jp1=Rl?3zGMQ}Ek)#)it=bU#tlNF&#CB9;nW`DBbwsBsbs;E|1#Za%{Y2F-+ zbQ5`rL>kp@!!iL=JmRD>>PvcX6jsK@GVkSp)XQP5#XOz>os3U;C{No)<0neYWJave z@R|B{_EOW7@lC~6WErlU4U(sN?nTnMy-TU7gb5n<;bR#-C`R##oRpwzNuN$zZ@u~8 zi+9~$o>HEo^^mE;8+y%&AoUmyn_VK}7|09kpCSC{{pxD|#x|q7bAb`EM?*@*x!Oee zbX1`rISRZFjc-pu?7)s2K?O6p@_SmX!=KCRsb+b2oj6k1Yog{HrH%WnpWv!LMMR@t z@FVM*5RmtnL{Z=REdi(57$P2`K^l_o6|#`bS|Pw zj;DWCV8+(j-hZ_pl*}`MzsbElx{KCesQV+J6;IAIN*nT8z=!hzdaf3?h=THkoQ+#I zOP#44cj#nZBr5}!95Ty=-P@6Ao2Sn6gDgY#bGoz8wW8B>0Y$>}i{Db7+9;0I4Q@_T zdhz8a{OA_^v*x;763)b$Z7uf&7p%M!Mr5>7EviFO@$12IGvCp;!u7cb!0Ij$PQ0!^>-%-dO*lLO_&Gz}(q&C%A;AX0m)bZ%DthlX**}N0rmLBWiKOmw5KpN4w@smKq1aDcUSlm)?buH`*T_^vl@&T# za2flBwB=ssn>@p{Ue7)f8>xf%9uB39Z3}G@;uD;Y79Da}f1gf9s zJJs%;?ibgzc_rwdRciH0`SgCZ3kP^CkFhJ%r#%#$yo*Qm7ob{qVI|muY|a8V0qn>TFFygSAA%{lgd0(d~nXd zAmX&heCN--`tsaYw8ERtt>AC&I<9Pyth_qz&||T+_XxvI_s~NG|Dn-2n|30bhYcIU zF4CPqD8#h4-TK$QS zSiI`;DmoLsfpuv8?Myo+IfFH}N2Z+CQpXS-V$-YsyAEX57yUx@W~`=?zZ`xWM)-qM zPwK1r-lT4_abW3hK(l$Yj8}P0rv~{0o_`y(_s>86UhW~tXPkfGgF9j92atc465=a|*1gKKtt)?THpYeu;_BhAXXqIgyS0T(l&WscO7UA1LYLri2 z1V^ifohGA0BqK)++k!~L*FGose#dG**^-vVM0mW$?zf_b&f5^2e32I83 z4SW>o?J^|6>oM3o2qi+xdDhP(W{BK;E3z0RvhC$CX<5GcedTxQ27fI}x$2;U>-xo; zbTm5SUii#sv#)IHr6IL%L-8!Z`ZgE)4&wpRtN}_CV_)BnxE@+L4~0Ld|ICvmxzHkx zFN?doc!&#ekq&w@2&d*7ZaU`6Hi zJ-`OL$n7-umpuzkg2KEl%~Jx4H|DERB#!N`x+CM?VL4m$2Cyxm`T0H2S?=L#f+U+Wlc7yhF!N*N(sW^w+S>-E7s0vCHY2NUA9yN zCcBl>Tu(r+ay56++3Qzb^g0eRp`S4Y27WeAE>au7P*^H&o^iQ1$7gXt<$F^Vo}yJ5 zmL^0MjR!RaR4cCQ6MTu~R?cSr+Hdw%eHB(r8d50WC2&4TH@PBRbm+ImwI;4Ag_A!-;&^CLLW=m3ukx&o8Sc0)!Ps z0{^|b(fOaN8{n^KKmo@`oWRwMBoe89SLBgMJ|t2MiR3{d1?J6DYy;P@O+(HG+^hTT zHjU9!4bNSu$~CII=PQ*~$cHNgJ{Zk+rdLvmv5+wJhdl7`VTP{1T;7^jp#8mA*Pl$H=R^s?T0qZ2HpNQTd7) zU>VE4LLEE)w-)WylbRTQPY;OPpfoiNb14xh}CCi>qw8%`n@h?`AG^T_NE7uW~tM&wswY7bm%yRWl<;GjVjH}onDns!J}imXpAV6y)p;(M8(th&m)n^lhp<}_QN z?x+bJ=Mb1N(``VVaF{5dnF}$Gx=iIlRaCDkGtBSX%+EDro#)N~SH0t{NS%ymqX6kl zYYIK^!x}?x8t0fD^cj%Umu9PDMfL@++4uQP5Bl?M5?9>BAIpVGj)n|VyP4Tpn6H$V7ir_G!oxl1cR3tZ{39H<13);ZO68wz+d8)>h}0 z3Sw}8lOQ8w|Ikj#!UJ!?u_Xcf&6W z=)4>5Utr48kCY6xZ!GP%I%jXC81WKgCLbJa{*io0cxpGk#jsfeRdbhX505K4)5Xxh zWt!&$bEw9yZ^i!FsbaMbeya4!nvt-ReNgk8hZh9F`m>asPMkA$X1;$e)_oo9CHB-s zbGoYk@ap>GgQA&ae8ytu> zH6O?RApD!e%89KJk$}`UPj{wgF9dELFjSX^W9+qN6pZJ;!-*-%hBUs=)1$0$*!wBH z@~6}viy&ubYyaEP*YASP%nXcMz8qfF(B%=mF6Km-Ln9DNQpfj)#O0lk$eXOh{T-m(}T)a39WCtHKl)gLe9wZ5r<=@ zVRdUKGW?d~tCq#pX5&l8ZK-YTX5VNL=yn|uGRG$nCe*YS$9it*BOVT8CCSpM2q(7- zt%T`Gb;5mnx0G)_jv`+Fgw#1D&+<6xxPlU4GT<0n$lxeAv&iGxo;4i zz|;9Pn~(5F|NN{^zm8lKr)6;LVKt~d;tR(DlBU~J5*J5CuXwD!AGjY{eQCt8CHYAy z6#`ZBSZtIMH;K;gFIaOB8h&ZbET_&N0A`~g9C6T*-1nAb<+O`m8adXdKhsGY?_OZ@ z_dfOuw&q8}^o7cDo~Uy)$;CdtZg=)(N0rEmFVBEgl>?t*-(*I(2DVLBXTm-sD$`A} z%@$3#&r`1mA1^?y=?7HZr%Jk1S~E)NIqp+X#Osz{YsIFPp&U*$3`P>2Mn2_v4gB-> zf{y1*T2XIi@_gxjO*BP6RWIFhMnfpG2EqCQ30;5FNkA7E6`43DAHbb|JzoBzT#mxR zpu**{?RrLrWMQ$+v3X_91BFKelo{++-;CaCb}8iuw&7~%7>+D_owiLr!2ESOlz{k~ z#UoaUYd!(ypd(J7iWXQ>V-Fkwc_H=*F{9wu!n^78eQxM|qSEiqN zI<(bjM6d#;t#|x*DE@JO1_9abJxV!<*V|j%Si^Qf7-uw=3%9~F6|u!s)X8OvpZJcy zsk43vns?nAdB-By8%GHBpm9hzDRiH1`?>g?Ufew-^*i)sWVL4JDrjTxnJnVBQB^Qq zS=IuOQq!zyxeC0p4f z%ml{$2sK{zVu>p=Q72&{vamMxy(wAj+(Em?iB)j5`vH8gIuv^?f=#mhbw+$Gu052) z3NhiJ>@C~7QNUsLjZ~~>Y(cYrXTxqyC#qXhwd0Wt`K4kpEjlG$cY}Rp7RloeKMc9^ z?zfnyd`FXW7Tog0pQJh%FSfzgef=@3*D}E=L=-AOR7U)>w;Y@jY=gA`OY+v;gY8QX zn$Z#{2meW9sm9Di&x~lM9xUgop*N2GrWT|@bG*uyz%0!lr%r6&AmxLQy!IYbtVQ-+ z{|GOX*8Ec6E|t$7*)SwoX<6?ni4Lb-c$CA zk{{u7;F|I<=IA!0b`74IqJw-|WE@#_hT%;!)?n~WQPu7|5)e>t%7{zvo!vZxD@0qT zAC1yLuN6v%OFdmEqQf_f=T)@+1oMQhyvkJmEhzs@U6~{!)VyOm?Vx-VhIzJ8J7Ld; z88*g|We9QmP`HY&yW;9L=2ON_7tVHXK2bB{N#I*PRFP{^RwHYMlLvF)4%fR@*sE|ZnWB;;<8_J_W-kn4s<2+2r~CnH;-cZdf;re!l3+qY zKd2i{>a%#H3Ror16W40U@H-QnFm^|i@|>ieXT#yq`S4Ru9n(JXjbGUt%IV?;ti;s< z8{e`c1$HoNoq1UY(4@b;K{Ni6xAelhBKdgYqCIkckiyE!g1>0a154UI2CM8Tjs=oq zu8P6udJgHnF`ZDbQ1dYJd3pF_YxC(;mrsXsOj8!?oL;AHNf=n2cM36T9{eUq%?Cn_0eIK|84^o>$_>KPgD* ztRiVieZTxf%lTw|=f{xS;}Bxk>+|1rb9S9PuI}};6uNu?UJ<^O@?d42TSVM+tWw2y1Cf*bUj7qkUoaa#TTbaS*xMD>^sdy5uQ-n& zU$(S(nC{WK=eH^EiLtT%nR~iT-iMT-h$DpOw^4{v|5n%DW*k31v;?LSP@&H@bANek zD#v=2tom^2Ej!J_i~|V__EN^EV&hXOM~9GYrQ%fWGsh6UXQ#bCN_uUL8*COfOVyJ1 z-@@^`5|yP7!}D)QxVzIc>}yJ={ya}_W-(B~R-vZfH_igm)K%jiT+hf{T&p?2^`x49 zG^9QpZ=5-}xPjc#puw>4`Aa_S@a1BNabgnx+x?xTo|jLkh%Td9mUmXrs+N#>-fW8( z(nC$n)~)?^VH_D@ejav{1ZQ|^HuEF!d)Y=b^O8Wa%m3L}Q(57YhGoJd; zkS2MnO|+GgL0*lCoo^FO@Hf`By5o?Zn{aocq6m}+H5DQ)k!N^87?Q$|k%0#W746TC zic@O%=g6q~-$5Fg;-a1An#;n#@~RhmPeJ$5ZU~y8_h&!?iG;R{wx+KQD32CW2^IM( zO7ZAqnd6zuoMw+9O^(@FY@G?Fm`$HFxLRjIgkg3`Rd~HM9qbP}X3?tE)*vE9HafEK zZt!&j7Xg>XU_K|#PDLXR@y;VP>?)S*0l4m(&vkWjo`dOy@K=?VnP}T+D}>IN4_)Sa z`vkQ7tq4pHs6uVO7efNc#AEz#$U4b=;%$l)E2t6I*pOoH)83W3-^|l8Vge~LUck*u zK=wVD6sy}O^rq`iELinL7jaguW#y`5YH4x?52{w&(PHb5gE~tu&#~we>$ionRdQC|H(9d!eq>k-r>|X>zg$k( zA2r?pdnIJmWaqX!S4ThB*bHVm9{0k$=R`Z;xy$qgF(ljB)!Fd-v7hL7*8N_BoSJrm z$;iN6&w^FAwXZdBov^jwO&2|=R)Tle*GiY81u$c?7T1LBi#Kt}xl5)?dbyLe0;dlM zr6w6jm;%RmY%!W^am_RLsESf0X}C46c^ap~D?I|i8J1XWjKpY36^I|liGvHJxXdD$ z_rLz=PL>k6W4=oCWJ zLU#wylRA?Wj%Jnf!1G?a4&m$euW&dz%9eS+4kxI`3K5u|yQN~7Mb)Q;;?eJjT_yN4 zZL{$SnwbpNXTR9L>G*?}%r#RpS0|8V?8cMdu|LemqFGkc7GUrG_R@Npp8tM}A2^#uEoAgmWaHpqO5YGme`$DrT_jK0h zjLW|ywUZEMjBJkiyhtzE0-fccdf1q;Xl3RGS6=h0KnLQf7}_cE%f}Id-~#3!D)NJ9 zgzVd0`!sCD{`i^6{Q=dTzx7|};>K)gPA6bZaxRq_yolLOu}owwy<6wkOGNQ)oGq zkV4h%{$N8#rjSY7i8k`DN^?2~lU0!(82UzfO6d#7o7rfm(cP)Iy=cdqCkF22uH$nH z$16{|X+6Tng;ykvZOOs}y`?$pvG}O9Gn1BW<*FNqjmCTim(>y zm93h+vI}ph);a6fTcDpmgT@XY5_l`<xB_c>8pj z;m_5mH^_-Gn2pYJE?q`O(&Ad21g#A;G-8YM8ZY8{ovWf42ie#)`-VPb_X8iOlLh1J zY#SJ@BW=qkiiXJtNx9wAOi{DVR<*TXEySM$_jga8YG`^H#MvDQhwTaPe#&mQt*5ih zd(rR;U0mC^!mzmILwW{OkF5xWbo`gwr8%mpQ}s@I#^J{$4fDx>2#)BN&I`fl&|T&p zES*1st{YD=-}EY2?q^(^pE}!&ugHFp4V$3Dq?Y-Aiuww!xSFQh!6i5$!AWp;hXH~U zG`PFFy9EdYcXto&I!Lg=-QC@S%K&qE-nG7Ue?e96Ri{t&?ykLQ@eJmJ+t3**%>D0y zDI;RF-t|%sG;)m|tBse5nW0Bo-G{K>venu-feR+?#r|q{pZ9@(Mm{@~Y7ES}tXqWi z4bMj?5hZsjj9kC6g+1wXpID$l`Ga`ozZ5woe@~q{vV##+@rnb%U;&@BgT=RPwUO5MC8wJx^ zA%}HZ4%QYW{{eDe?xhZN>({R_f&+f$iby&#ad-I-?p00f8!Y$a|AOgzD*G_qRovRz zKIC9=(!k$~G?=@1)JC0ZeX4(Lj|tx&Q1>)ylwTjVRY;@c-VAM` ze!6Aj-~p&HuETCv{^niRS^60M{lTBpCJS!+ZmD4ixV2V*ZVdnkg@Xb=Qo<6w9Ns*y zkzD4M5Oo-_#Wt))$VMlHh#HHqY9iS@Ltmrm{cy*r1DtHhWzN?j5WV86<2nuI!(5*S z`BYs2qgA71;?jr1IUPBt-I>V}r>qi!A0#F6P0d|`A@yj>>$7vE{a_qF8jRJ(ToZ>b zBryx^2@!1>QPy!O6mIY^&-~sN@2K&1hN`(e+vW4l7sdR|O8R;sd0}%Kr05o17KbGD zHN7USEeqxIgK>__vh)&%=yQF`OTzIqfqz;78n*aUO@^1l>vbHoNtG3lCzT%UzdKQ9 zT@1E^0#y$LEf2Xhv1Beyv)jTbMebEP{vS?kPq?SJ4{6N!`E%f&*wA8O>PRpli5Cne zFUl!d+nE%O{JdLIY4_oIVLp)n&BR={QwM~K^BEITcMk)WrG=mjvCPfo*a1#wsfUY{ znt=Gb3x~d#kJo)H#>LM;W`R?xes_+L&_}VHmo_ly@@cEd%hhEju6_TFP#dm)b&gbJ z!Fwm&tXmj?C3;G*z3<%D_>i0}i&0c(91n_yE6V?t+=)ZO>>QFIV3jue5@? ztK!QSW+FU~@Z6`y6a+@9rAJ_E)rR(|M~h#JkiXf}tcdZJ#lY|dZQG|%Y&iGalZO|s z0;1bgU+|?|pk#S3JHdDf;86=(fe(%`*g)CD6IR_5ltviz1EvSEp^kr$xjG|$i{0(~ z;Na=uq_c35Ou~aJ?{}bgh{B*DQ0lrE(^du=9%3*h;LnIIyeGy-uVO^`6?@^CUUchr!}B9j%3s#Yzt4Y#-GVP`ZiB~)XWP7g zDL!d-<^b*JOL^T7-hLr=s1V!`UH53`H~UNJ2k||p56kFw1zJBrA>q5>8c&~{3%W=5 z{J-q1uA_gqo#=}H7+JiznN~;L+2O<;+R@p(+oog4NIk3{nX!1KABwY-JpBH{s~kA1 zf4l!eyFBgcQK)#;by2#3CoTq?;oARc^Iw!(cj|+g$mZ|k6iA+r^DFAzzENGc#{MR2 zF@F~4*?6%{Rp9d{t|;NHOhJ?@9B6y4afN>KPF#({@iW(rf7a_x?>CKwz0ulVCp8sa zP^8ftc?bK`(YGb^laG-AEfIiZhTLR5u1k z)^CxjdBF@ZbN{&JnAj(PvyiFuGC_q_b%ukvg@_}~s=z`dFb~jWhbFjlP-z0+g8`D= z|NWCyjFdFnRxhth>t4W%5(CXH%V_Q-b2kQQL51SGe47M=UV})4~91t$kM|!q#G&t^N%05qan?ZM34tHsxtFo9Xw|j8Jv~~zz5duObbUDR zOdXM0xz|JWJKQaP>-6`-5;||3TK6)qPhq&0#kHrHyfi}nFV-=U!A&R9N4=(XT@L?henUPG)A%&F zkzCl~*0~^i4kp^8-W1*lgxCJ<^GJwdjNm!BE>P|7bN6)mHO9an@&tXK4k9&R+c>ii zmYzJnI*{d%SFx7N+GRgku)N&tJi0r2K4_Nbxm>JocjLF|96L3iW{V(|5k}_cc5%~L z6so?itW(pbv?^drz(-3+01oYtS#l&R+JAfT@4uKRg-8SqOY^2s4Ij)-{Y zq4co6Y-;Sx!RxhLwd8F&ax2(8)ssK}7R_qS^!eWwje*h*w6+e+ z3NLJux^{H3Ikdh5a;IPQZ%aX|%4#7U=Z13&$7~pFG5Sf}!OoR3m{V78OX^O&^>5T- zoU6elviuv*Tu!`xZ6W*fi2_o}>`k@0EfKkW{epWKVik?xGwCb`?J9GL!t!Ok=^^_f?4?Hzjtv ziSp?@h`2?A&m65V{|4%B_u$vT9tF#?WGqih2j$qyKI4O4+cEjz1e?TPKp;Beb0rhj zuK}EVsDDgZ0MblmrRhKb1pP8QE-WXlE2nT$#KYLtdFmgz2mN+uqX9?>Ezc7L_9E2i z=+%C_id76zaxM=jxa_q6Hh3L2kC?JDgO%x-^68G?KCIu^9z0Y#%lRS7W_c$vmodXv zu~t>^C}=Ohwa24zv2zJEvufMS-RQ&-EHn>d?-T~h!`SBY_RPMzAu@oevG8vL#& zywb~rP^~bwhR*@E*1-;gAZ)w#rIP^FlJCh>ksYGVAIYx%7JVC`x`u^_yVw4RHr~EK zvO^YNF^aGa@U98i^K&`Odw5EF-Jb5AP7!iXm}ZUp+`T%w*=4(xB=rSBIO+hE5)Bd7 zVD>1%e#T9-z!m(OJj<1KN*W)_`;T$&c$i4nhrLT>3<*2$_X3^(zyQz)*wBOwxT@AO zorYb@{uTHfIXrx}*he}fva?|4vv_4%kl5nN`jPu81Vc(nuSjW-?1EV*29d%q(WRJ_ zr1;bp*KLO{BZ->Vo@8H=Wr3x)Di7ACdfq+s*fSy8zkPjeZH(|{VcMA8q_*ZQHFt3C zKAp5QLyUm)bQ?@8knnd$>Oy|2$Hav@z^JH&=i!DJ4GAYan)pM@D2TSCd1q~>u#os= zjai>;gC3f*`e;-pvmZFUE^_q&)|vaD@LPINiI&58{bH;*rKKQJ)rrRef3+85dD*n2 zh%ooX4FxVaDj0(8;ee6KxU$3)adls+f5Flqq;u9RkFc;AO6vO}diVJ+Opio+=A6%E zvFGK7jn|Bno(|#utA)}ZRrOP*2OEvAiF|Bp2f2}(Wg1RVswSrlB$$z$zL@?GI9Mon zl9#6DtIxyTeQv*Q*Cu1-e9!X_(~vGn9kz7XDA9wLFHf!JaO+e& z(1fTT3JkSDT2|q<`p{{pdl^?+iRp~0!v{?#-fydg$z;!tDNSu3tKH8G>_6as zDcIL$;JZ?&rA5#jYtKk6T1#`JEcx2{f7C(F|ECWAlPMLNg0_ExLf_c~8Yq+k z3jOddQ*sO4fM!5-NW&q{Tm=O65e>1OO-!z=n=&@wJ4!*#HfQOa8;wJSy6a_cd)Bne zs1$)&$3-t}1sxMs?-yOA4^47n&1xyr%h`#cMmxfoI8(e%8r_ewMX2ccgks981U&=(O4Id}q!ZPozc^73dlZI}c1(Sgp7|q2~ z>{-TR!q3a^%leq{;1N@|*O>G0i+bh~KxR8d<@P}D`|aiQh14iLa7Ud+`l-iKLEs9t z>c+7vx>wQxtb^QFI9Bu2iB6ru-VH*J*CL@=JiL-VjZa=R9(g)=^SyIoI^l7&&Sa4~ zB)hoe<(HQoecg7xY5T-bedcjLpT>T<%DB<-V|b=_r@_wumacP^OQU#rnl$dv46~x< zci$V&QSF-xBi21qb#E*XeSuC9q2f&1WIH?zf%Y zCYp8tRFSe{-Hwy*JdDQf;uD=DYYV#?=c;Fy!9_Loz)>q%iih}LM~#Z@@tHsA{McNh zR|_f09eWFodE?Io^&ytRO&xD*a7^5Izil}5ookI5i>>vq%0o&N7IYGL$w4;l@0S6P zO~!uOhha5g%%)Vwjr7=4OpMIYs}lw@2Wc`rNrR+EUn6l{vb|P44#MS`irbz#W@XG{ zmTHSqj?(wTH8plrW5EO}6nu zgFyq>hX}%D${UA6r@$?yLuft=9U_}nCI1!PC7Wr@<}hp9dd1@m!ge=cvupTe8w*yuXYkw0OC2M0 z!}f^DW9xnsGVca6N6z9QSw3*2uBnCO;ob$mFsQ}9?e*PJ0TcQh28Ik5jok!%@1yj8 zY3dYs9GDzWdh@Mc&nUt3dBfEzSz1;614f|9(J8gS!PXKUQa0^cKPTXrAp73YKRbdB z#FGxoSkF=?g=IwDswbfI$xaMI=D>8TsDx(0YRvsOd z%*4M;edq1A1IOMCo6c6~C5$tJQe&@N{zrdc3-#}A!lzThwvShJ%FgpYj%zZwT?osw zjM!njxaM^ofEMNJPYqMzWvmTTgTfo2QydZ`4&@77W{Y|xYJ40NY)InCGQCw_ysqAr zUgW6$#L@Q^Pw9RxPVWXYMx|UVG!Cy^SGBFquh8+0-`;HHxqCGD|HcBF$Uc*6b-WKRs`%<_a}#Fj;D3mOy_jFDd+c^4T%b!Sqc6!|f`BUb-J=dVTiD zWIgW!>NTx$_qOyTMEVgw%Zq$>UVG5+HR2C~FJCX8N&DocCu@>{Nxt>F=U+Cj7yn;; z8#G476@?ofXI3Qp6C8YTzX3$?PSL}1no?>JkTXCi3^d(=5U}K|*TR)W6^?l{sfVnHewX(@>dU5$RJ-S{i#H#mDm% z)BEmPhwseNF=zLmR$24OQ}Ard%7%y8`f%HdHI0;tTcem9lUAd=F84z+HH>NF+)~WRbV8B|%t|^Q950~E)9~(BIkopz4m9^m`SMqY@)<6GLh!U*V0JD zjeI4N=wpB;IjTUq$FF0=+@p*GC?~!!f zu%C9fKPeaXvjtx-vI8V`jJc zmYchCvp!nAtGTe{Pxct6RXGWc9HlmD`_y3;XZZ(i4&75s#O*sF=+69>)HdyH|Ng?& zXG|LwwQca2!8bw8W#b@9CZeRQkBqyt)xL2#hbH4SrQzFg(L0h8%V{`cK#V2<%oG7P z?dZgx{uA>@$zDU7T?Ax`o2ejL*X-}8uIGi%RikaSVVfN=`791FOns1kjIQ#Xn4aiu zbcs{G%~>FH8Z!FNc7L`hbWjNdkC>yb|-F2ajInd7ndd__oBt_f z##zvRm9H+|9gMJPeonkyYiz41tM&G!xezrkWGICTw*2wO^RR3?dr(on+UzTSn~#t< z$FqB&E%g2Yys7inKSNMxj$-cf;H8~Y5E=ubU@O`G-v7L^^2y7oMMgIg9v!!RABQ?W z^W?~r(~qAB7RD=t2M=_d(ud%04w})Kg6Cs{x3Lr~8BGO#qqx~^^$8MY{)NpJ{)11? z2NDoH5qqG%neR~GIyfRmom-u>z#l)XBx~REe2}TJHk<&t`NP*oSq%^PDAP6ZbLjtBEqM zIy2E2fs}CnSZK+8RcH?XYXl4b`Ac)4RJ=)Rnv~hjLv<;QFH5*rW?L8~D+5s%t=!tw z_uOdVHxKY3CY?ZNjt}Np+pwIgK5X8ORQ6X)ndqO7zM{L=$w zJOK*K%8*c^<#QguLaJ$oXgLV%fb#dlR<15}==f2+*B%JkEZGrH8TxgnO4O>fio@hw+kbq(^-w(XOvhw(L9!`fBm zJ&$vSt$-hLs_X#&>*{l%#LdOzZ{MSP8qHImd5$rR7Eb{^r(9ajHB4FUK*Hta5DzKpl0SFl+xVRp!=*qAk5sj#!W>g;-vxZc~0B6bALRyw4utaiL(V=o)fiF z(UyMlrw6u}_MGhOB1UfA#VY%CL-7Ylh3H8{j4O5vh`izVCThvF*tWwwksWAgQvM*t z(gn1zuNxpuj^9tmH$U5I#hDy3{0&excS~qs4C1qs8cuy!9LD>x>&DL+9qd{2Ds|Q6 zXrWzSL+gQ`^D*Cotc8SG&yo55`~I{F@D~lwkGcq~zqne<+2i~LOunci-t-JCc}GgE zDi{U~KluPTY64S*vQeZ}()06A)vxArl4c$}hi+&Lj~r!Y_A+r8dY)+l#Y3rylEBmA z>{Cw5H6DRo$%n{IjYQYY()XFgvOjKPPT;YRVKzL8Tt2OA7|yjyZ^8JyM8#Y5 znG-=+2sJu?0{L4fT_TCx`?VvBRTj_r;;E~%U`3rR}+CM2|%1}&?`jl3QdRuH$jD_3Nx=7ZNW&62}*W07r zC$!vaRbxw!Ne-z^ZWIdMEuO<yq~_W z{@B{V%0IT-c<34ZgGu(Z@;tuDv0L9~-ZDbpAWalaYnUpMd^q)vVP$0NN;K}Iis}b-gXB^GtT3e*&hm~9~in) z-(K7WAK2eiXGO0|ShFf7xb@5N@^Q5w%llgU`vEI+w7g|z{t$boAI{_9RUPcDjk#ea zc*KxOQz4ZYifnBL3~82_Cmdx0JeB{xvkaUSFXn$d--PDl2HBS+AHw2BQ9nb^Wb-`z5AoSmF0Y z%d87HmOG!>e&}vcQuSiZBEw(RvqR6@_s|!SEeA^1BiZovOOoc!d_VU5Lf)Yd$ANRO zFOTIj+9TB#Zstw#*K$CaG-V(M7>3kS2xAU@eH7Ej+Ya~7j24EVn z3CU$>lGadReJM?cd0~ghaIeS^heY43vTxltOCAHK$@Q0)`e zaM}Kf_{1o5Ebn4zjYctGok2&N!&~$@YSkeWGIyUx|KEFWSJJmFQ$I!a>$% z9)9Xrtm){jwy2x@<{m&%d?nc*|1nCepof-lxG-G^Mn3rEd|Toyp88Bev^abz9a!}5 zE3TLM$fb=nRK~(3PH2%8lGaQf+4OCTg%X1_hfNSdx94v>ubx#wi7ieG$l+X_w+nF< zccP}-=F2X0>T5+lYh572)zGeT`~%#0u}*>1%RJ;axvUQw`BacKRhbN?tMQh8#>6z) zb!qf9jnc2gY->p@H$t)d_pLd4ox6#@MV5rk@wzW7kqQ8u!Jg+ucCfzg_fzGvmc8DK z79(O_@@Yw-kO2T#jqZ+W`~BMerXsmA*bIs5bxU?TiwoiJ+zG>{FBDByYb#e07}~qs zTE^C)p_PI;+h}0>`|$;yL+}UGQaXfA@9JVZpv$+$J1=`6{s;)K8iqGw=EIXW500yV ziR7ffgJqUBO(!Lo+7suoYO#fX-$!2~R&IIX+Jox0#MsEYwvQO=?7>;>6cqrs{Z$|P zk*uLWQnOrY5{V~TI?7Qzh!#1Z(D;(po{8V288^fQ1^{E*?k(j|iPoyr#E9!#1q;~V z1mXHH#*9hV$2w{Y_vQNqB%}sJteZzSH`ELkEy#Ax{mH2U>(}^am;5+n%RB??XYV}r zSARS&Je{q%I@!-)E~`>==N+0C3EdX!#jIc)mj6?xGRN!-6Y{3Y=hAE7#+Cp3uY!VE_}=dE&M@9gSTkX~HCR_UR%#x{4ls`Q#hyfH)J zt())H+OUE^Ec`JI{c=y-x}C-z-Ut{2qHAhGnH7Ykkb^K!Yd&vXw5_qD2_;Uh`M7xU zOjMyxk`~VEcXwzA@uAL(pAcPfIj{X*6T%A3jO(aA2sd-KiELv?i}8|L9tdKPLu(#G zmO@!zVDDwu{-F6cutyq&nC-8pBY`d<%<|QT#tQNx<2X&_&Z6(+wEmo+IGY54Av&4p zSq^HaCZeb^jXi6-nhl4la=T`33B9VPD~U~Q9$%M?Tt$rH@h0@e)EwV(x_+%p*Xz+l zryn+0Yn&+{@N8bX1BWj$`&mD34QGqEYGxdKL|M>J>G_I*A23y>?_a55cSvPw zhrDQajv2)3ip^pa8qIPQ-8|wzB-^Frx3T2g#+bZuQF`u~JnLT`sFLAm{pRx7khO}- zP%}$0u6#tRk_$+b%dJJs;wOv-->f8qfUV-MaD`cAGb!V|wYdsJ z)2-97wruyxrIWnh2?%sROl?v{O|igqoUG9g%u06oQ?@{JeO@d0^%-J6WUa3)DOi?O zu6Ni+MIj>Ets?OLoIXw}wJ{U4G8Jyl{HvwWUeGxF!B#=c3RkieDR=0WB!6}srw)z9 z=n2aGk$?}5kg!B`bg1Yq7e$GxO*!zql4SO|KVkPXK7}eRjV-~prITr9puH?jj3eZ9-$>>{DwufGkfX`9FdjuSopp_-M%mt zUM2XeoPCtF?UsQ8lVYo80Md8ht(lIO0m1=HKi$;Yf!b~Y)NIom zX6_nf7fjP1lD-RPs+&bys4oXDJW-nFl>2XqFyF^FnL>?N0o05%k9MPG!})=M_f+N* z*UlmuFlhk5#McUjk{*0kk@!{-Em(li$5m(95F~Os>CK;|Dc{S;8upmY?1-!sJW}b* zRXl{5db5?I)UJE9If#=YFaVJmJb&c}GIxr@x{1tS8Di(=!ZwGN<>uY9%p~*PpUsqXdhR;2 z4>T!MHlR&M0ku(Py~~0_%Z(;zpG^(V=HeZlykvB~DM(Cl!~IJI?9;>2#xUI7u5&t7 zMB#(pNv;srq4#y*nX~^UNGJ{8LlYH^`s;JxR1%H%0Q5I})cA#kv~g6(W41?;5$F-dY(H7`^W^A|s) zvYNtK){l!<6B00tNu%%mN||DRbePO9Upbr@`*BZnu?#%Va64Gt&vl^S-xG%PCiYM) zTlRjI-w6KoQ#9k-gJu-~|wnZ5M`;pC7U66yGvMD>TJokbx zgKpb6gem}Ex_23WXK3EMaL{Mo1b@`Ja>6h*aMFqui4q_Pu(a`42UTcl`NX5Y;ev2f z9Hpd?l?ROQh`L`|7vBht6)?b;KKqgO<6_wYeeq$Hi*9xW3bXipI#niFyUf)kgopM{ zLYer3?;0*ji?h3D8XTIj6ei6O2TZB#V$4Inl0w%H`0wq6?@c$qnhY6a7>n&k`iM9A zC8(~ZlrtltYYnr&m0Yyk_hb&q*w*7<%s5euVJ+g3F?s1?Xk!T_tA@jW9pRqE$ip7% z)Wm+WCeqQTujyH9bSWj}0@M($J(n6!M287SJyVd8gbdz9MCPPc7LN!t6GhZ($@?T> z43PPUo|R~w^<`F_VW#OCkvRt!L<chZ^nJtCS(@T2CE-~OO#e<=RdGebVLZKYpHIH`LGi z`8!j)mr`V68tMU@i85Hy)a54i z&c6c-KT%KOa_;Pxr~uqXGFAH3P&jI>+fQ0Ca)r4>Ef z$Ysc?E`Q;Tn8iFV*jpd%q09@^q0;be+)}8RU59gfQBmIt0(SQBOrdt}I`*9lAwuCQ ziNyVG;nIVPF!|lsBhd7}$#x~b^>L>8&9)DdI4+yE@Uj*eJH z_QlR@l|uq19?qBFs&v145Q1_u0*Y6mDCk`2_Sawd+hM%WvZtzp@KPE34hyfJlkd2C z?WaaUu)aQVi6Q4E*5SUnQWM|ENa0osk^}U2SAssxeFL;6hgl_|Eu8x$n7f$ew5o2j zpBoxPTW+``ZLBxg3nbi)rFoO{`(3P9&{nD3{uidWXh34L^(QM2C;<8p3QJatG3wgrvMdgRq@>_i;4Ujw14z7Q0aj2S27< zGfJ1F=)UkHizM|G+B&BsI8kfD^{)|cIxORt#bso1P!5=`?raPvY&aK6Fr zAPDWY=i&S;3{u@LlO?p{=5Yg^eJWfKg{X6!Nc%LfMM0u?!Yoy!o4L8@qX_6%A4>FM z^~|lBV}3`|;-j;Xm{6Hzh*SRe#QQOgtro`pCIxBr+%zwM{uPCTJaRv`bT7uGS>CAW zi{X_SBC9&kw|HD8WOriO1q1vd(ya|QquA=rP|m+cr*%e21ui{OCoTkD%|1CUecOb^ z^CnKSzdL63bg!8flZz8KY0S92P6;SNootro0zM3+X)q$LE?~D@IS~?y-ZTDN5dKf}@h!N> zKE_c_nKo#x@ck`Lc{_B@4d7^;mFR%EG`70g%~P(@sLiz?#l4@udZQus;18^kVo~H1 z=Gd69x6m;DX*Do5F~eA_k63}e;NCp?V|t`q8Y>@v5MEov6BdxutNl%e0ub1=Y~i`r zT)fv9Pqz4IrW<|!y_+zV-^>ciKJcd+a`yK1w0XADs(!1}kF|B```ZLLKkR>(-+|dX zWV`pY7c;D4Z^7MS1}eaia*xcMW5-WxDP%o@VSb6Ll4AU{mHY=uGWAvW_z_hk-T~V};X^gbh7tfqY=I80o-NQDiwl?!ib@&=!VNV3}Ux@;M(ZRjz zmYR4{@(%u{wlW?%eZzF(xCaeK->kSYvrlF))WM9?PrUyOa4CF!U5EP?%_hP%JS>d6RaT|3z-0>kq#Pt56mwPNy#WCL zS}Xp5*tCtFtCpZ0W%tLZPv1V0G7fv2*=0YAzRoqH&htPd>Z(pmTE-cMBW&t!hmELP zs+&%a14{F^e?@-Yo1-t#F>C_)VxpZ8qDtKpaUr9Sn~EM>nEfOMboKHZ^3lKm*4$za z;uI*#lYLC^_3nNu3i}O(7QWTlWh7TDRj+=e;|QhRl2FT}qI=IL@X)>QH!pw929)mz zO=g%G6elz#RnZZ|j=boDEG-+*$90aL%ZZYnWH}}j*`aCIUI$hnXhuM0@s)|Tg2VpK z7@mPGySC8*h-$+dfy_1OAWt9vu7gAQ4Evq=qs00_X9@GCht!IPU~Xl3 z&80M1+&(i{AtWuf|9QtCCFwNM?4@msZp6HOfGpCnw{Zvr*U-nD&g*)v7!-Fn_M zK8|qHUVt~DpObt9e#^U_*mpQVjgWI*c%hs#B=8nZ$K}lb6NZIX zM)?nR!2ir;{xb~aTMrvU4)FGHvbEHf-RL=Kr9=i80xOdz$60V~)u0EI63>(IpfZ>B z%hgy3>9NSYw~>v0l?K$ZB|_tOCp!S(oPTS8hC7k`g&;bZ)4pM;!BoN^x|gt`g|I9;4qz?opU)DH=%p*qTbQ$OrpBjNpGF z{?*1+18XfH2l47czNLdJTOThF#gcJ8;og8}*3%GYI2%M+{|n7peC_#*3IR&$P{K<7 z-lT`;G8DZqm<&3V&Ik2*P&3S#@8ohq3wjJBKD`z&Kk57GV520JcOBnXGDp$Y&(aXV zp+s-yi|9uKgnBdN+r9t-2ji-{i`wT`jw=rr)|b@xM2jfr`n|$7T`~XX2s{LQyMfz- z-1+X6H-EpA+v8n07!}m8boA!t7VwL_`}FJRQZoi{QMp8N_54f154wFp`IyAqQrLxS zx})e9G^czrhY}|+$Tkeax|JgG5ALm(U$zY%2J4ex`@{hs+JU`r!A;D{rb&_NA?qGy z%`b&_pDX~tGbNe+cJs}U&#>0nPq!7uXXIsYCHR+atXoW-g0T6D-&bwvPtD z4Rq`7QHRtzpUhSM^f$yJEfrT4>!D>(DT`!OqbDJ}BW%+q1^}E2a?VsR9-@QhjfJUX zL3QB7Pc{@m-_<-cRam~wS*bDu<6kI50$ z9qz7I>Ux=^J2X1eJlGcOty#v~A##*ne!yuGccZJwf3f_Yz5xI&X)Lqb>s4xG#aQ{P zp~nGH8Q7CB-<3^|**@(ci(@JM7bwkKN@<__%2~}|J{$WpeumYy$zS^eGhz6~#TL}V zXCMlsgR*l}Bq@lco>x_JNmAy^DH@6V%I4Q~VtoBxLL1QgnqrOS6hGCa+1Z%`S)TUU zr_{fY|F6^u-<7iEr4q6-eN{;F2z&hZX;RUfIc*FyXD}n?KsD}_H(6$cXLp@le-V$1 z@B^s?7T{$u;feE=|Jy*k|64&Oerci*J3CHJZjSti(P_LdhX3UpI8DEZsz7(v+2L2P l59Vu*Jqasx#a*;y?(<(nQraUPtE*hPXcoY$8VWLj|9>2Wkx~Ev literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly1.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5d026f88c9b1880accd06c4e7b2798c49b76592b GIT binary patch literal 12790 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly2.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/fly2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9f76a7bbf4bb169531c23ddd43f90641cef1f494 GIT binary patch literal 14729 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 PiJk>XL81 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 E0dg!!1ONa4 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/idle2.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/idle2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1ebac1aaf8f1d6913c5e2005b54c4d90079c1cf5 GIT binary patch literal 21698 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk2.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..74db83fcf9c812fffc5f685e84cd55dc0fe8f97a GIT binary patch literal 13516 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk3.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0e293955e91e264ca18fd766997c0ed74a85a643 GIT binary patch literal 13718 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk5.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/manticore/walk5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cf6c899a1e5e19a6d9607f904a30bb50bcbbd9c8 GIT binary patch literal 13578 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_fly_loop.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/skulking_fright/skulking_fright_fly_loop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7204c176106cf742424407918088acc170e86e97 GIT binary patch literal 33914 zcmb@tby!@@vNyU0_u#=T*br=R2p(L5ySqzp2@>3cyKC^^K?A`hID=cT-~kc{{tbEe zIeXu8?{mI??s|Iq>FHWs)m`biJkfQ|G0+X|6#-hqifqZTeB*;SW(&Am}>rI zPbEvm!Op?X&dbh4#i(jw?rvt|XhkLI=wajHT!ARLD^(8~mtWf76>emNu5!IgW$rP%w260hroF zWvD~(Ri84`25aht$D%la1IETladei( zX*mVRoTgb#Cz8QC*Kz*6?0;pbf5$-u>x(!Nu{pLl$`kttaA~>=jMYEGq5=Y+G$@^b zFI$H{T1WP6idN~ISp|=Kic?ZeT~Pyexf^JCSj>C4&wKdkq=)K#_S5+ss<#koa20Ao z6!x$5$8Y`WDg7Nf6$r?G!JoPXE~FtT{LWtp9}-pt2be#pgbFp02Ao(VTWV=rW0Tcv zUD@m~TF*RMkMZ{wm{}2?dIRL!WS0KFlBG_n#s58tS`RS+qA*Kw~d+dve~c$2?s352mFDnNOS@sA|f4G{&~RGE{R z7vK1?GI#RJ@v~-nBGt1PTFcY3{#wv}oOlanOYlfWe}2Yfrt7#YMrO%BC2!m;K3G6QmkSgpVl9ZYB#v135udesM^q_|&D;Nfd4$u#)m2L*QbH*f=S< z@?d3EVulj8puZ!h0)P@Sr6L2+?n6w?S}!x+aX^HWyUJ1%hesTcb-1_Xv; zW^NdYW1Dt!U2FJd>`I!Tx-UzTRpr1X|9BM4s8r_hVo1b)og^&XWdvLX^NRm8+)vsG z9P+9ENE2sdD!6p8G{wQ9#wnzsuA$}Opp)jl+!AWA;J!ZZw>}?h^gQf;0_(p$2Y@+E z$X}mKHjRM{W(U6!NBzgZ|K&Mv@dp#gh7)Mz>uD9InZKQLDP3?);Yq4+DXI||OcA)x z5L&457|d{6%xGB5c~~qqTj;g;=`{b#Vg7NO^?CRI@SGC-V1VTx_T^5=bZn$I|h}QDJ^9)tBAjLxD|u2!ILz1VV-&eMBzfvcvfj z;}F!GCCz!4j*K8}hXj*o-IGIR3DyJCNEV3Hb2tbDY&pnAlEs@T3?c z08n*K6ot}%+IF{iGvOsJ^Q zOs9yasQ61=15Z+eKw~CVQKQLWg3Dr2U1OC{W3Jg^nb2P=)qR~)Q3v)H3ZuHur}`N| z9SqX{#Yz$XFDo96`DShvHw_gH3mtV09S;kgD-A8EpFE7JrnpF;q0y|d_}f7v)o;^H z!$8Yo@k&F7&|hypbo0`0ljw=_{G2ng?w8^xwE&N!K$yiZQUeWAOQB$o~ z_@kn*Vx-=xqNZx3zP7T){t!m3`B+iUTv5SXSzmQq!F<^Kv7)Vdr2bP@P32+pDS9vS zVViSBO-*I}(G#_;`f%XwVH^9qQt)VLJJ z8r`W?G~8E{4Yssk<8UzY%+CML$Rvff3jdsBVK~@Hw$lBS- z43>Fdgq-?nbU(A9E7S?Q<$<@i0$Z2vMYR~HgCAhn06k#?Z$z|!`XyW-9|%CA-osbJ zX6mPM!&W_@DprReQMnBTAmb0Z!o@E-KQje1z%1*+Svj!(mt0EVaD9hOuBtup0 z>Plx#kEx0Y8Sp9nBkd-=s!;&LU$`0{crnqx2^ z7fp-Flo#Ww$(A?4Sd|nL%F98T@%0=bP%>DHVq860@BqG=1Is|>ivcPatKlc%e`V~X zC&O4}1SiVLRi`AXj%6o3u?miplLa>?$|=BlB_~%Gs;X-bfo7}PbHjQCW0fdp&oZE^ zr_kh%t&9G*SJh3LcDB_6FyVA1MDlWVO@wxikX;fvo9ZXw<^6+RjwL3s~QUQWM6!grT+WB8M&O<}AORbyZ+ z^z2(pQ*B{{Ox5V7-6dCh?#o%-swWxpuqTA;ht}VkuvsS%9uN&gwa9;(LY~}KEJAf$ z)&|>UjGqZre2kx=+(khg4AvMEL!oOL=LduPq5LRxC4}-!Ed82xU@&YHEU>uauiGLi zM)rfyFm+G?378iTP{HOMB;pdH;7Ould^2pC5+aygO7P8Kx+QYO5@#Yd8y8~)hbYT2 zfkUz7Wa&y^@iQ73ES|HUOx7lYb?BdY#2CXA0}@8%rq02H6QUr;Q2rjK(Q0=X6iWKX zbZx5}7erC2L!lh?-c~YvXbQKCxWWnJ{7DET;ldbNLEDy048Tx zMD$6;+%+g6A2w&g0p3q@rW`+VL9!HhfGRmr6($Zgq;eMwnC|*Dp9smiM^rFq*mHYe z!(cU_`&zELU)!#Rx&&%k#XS!Lano+5og9o{_pKEGRuGYaPw=FYJPbsrOkC!F2N6gG zQ)3Jy4Bs>gvX}iD1>Bzwi*ZVco0l@UgJJN2d33U_T!yQv zDid8v>eJLQt1HI>L}pbm2hz2Jb={5y+ypg^X@cn=HbX#7qq(8F=)i`fGY}~A>1|j_al_ZC zjlZ_0h6UT=f3^LzFi?frBL4|3)Dm(qR6SvYIs|5hf9gWw|GN%bVDBGj!2q@Q&wa_t z;(wuqQUI$1lfyv9__ss{E1~`q!2Jbd2rev?ONMd&r!E;6CgX2-m#q4PNSJD#2!Ema zw}eXlq^`d=Q~%TUDHeo56#i)ze({60XoSX|Yx66-vh|Q05QqT)Zx?J2!O$V9{_K!c z`H*-QY*SVo)hK@HItv-%exkW#ND020s@;!l(-;+{95XpcZ&k9U9AiSzv`bZ!#~5r; zNreKiV^ed!7X{%H4Z#G3Ab^4VPu-IceFTJUTn;o0w80S9X&ZO|J7fqWAwnAi7q8-d zp{W3%t#3Sp9EcGc+Zc`hgQFYKV8xv(gbIN=q924G9~g}1==B{_>2nXNfMf~Q-}Utd z08juxA|@3LO(uUF)`w^D*avuBdklo>sylbLo^=_%yT18jPWC5TQWBUF@xG zZups5Y7KZ#b9<+KQB{$T7(0o-sc>Aqaa{`(d+#gfJ~b0U+@4j@h|ks1vPR!@e9b4<`a0EPgnT*B@WjVo)k)d9GpErL~8?;sdXbW3bE~hJ10l~m4dxBAGs$vx4RAJ%3>4rxLhru3%_=Eer zFoS+eFoU7|nV(Z4kBjw#_uBd^@=D58AcnYBl${$jWTyz2HlF8TlIFr{IaGJmU+A0>PRx)gU8B~`0+eYZcS(f{P z6}nOpRyZ9nM(0W5TQ$V~L&MFPLebw{H~dvuh~JO}L-B}6?mV%B-;1M*&5YVjecW-u z(ekfU+mL7oyC85U8Kl6<8&gb4%YjgLmRJ;+mD1j zj2R)~PS&dXfd6xKTDIKY&lk&ekp+Jot~_Ti@g<1#g=02IcISr@B+_U=D=M|@&j7$5 zNjbIlxQi_B*W_08xnt59wo}>5V#RAjdW8#@(7ZpvKhBb)RrN*Ho<~U6JSikr~uQPg99_*xw6mElEeOR zW2uY#$1>=($1B^!XqHm%LGG0;9kx`|=?^P3e?i_is zDdU1tM)Va9e3?PC53ei{jZ9mW>e`XtH9zwwdi;&GkQen_H;Oy)$C!7uOiD&>+=pTP zwCMr1mj`~BG=25gmvIu@p^2t(5+_8G!4L(>Ou+s#I$rn7OX`q9_Y%Q^kuW6=4R?}O zuJ>#`N@Zae-K?w~C@eJVa$&f>ds(vT9E_|M1j@>2edEZQo*04%=7C(@S2f;5PV3}h z)GdgCb=6U-bm%)VZo}8*D){BYRGej<%>I;Pv;q2dm5QV9Zx8&;2&aD6n-p2~#uqON z80j6Aw2T*V?pa}=K6m?8o1{tF-2e7o67DN}?uQI#RK5A@@9i4MAQ9z|c!^xb&n)c5 zZwY@&(@>K)hkfSx9F{s9looXuO@oj-mG0&itwZ1lA6wI2o%GD_C}gxaLtw@yDr7@u zhx%-Ia#|n_|I@1pXlEXgmixiz79L!u!P-ba;!sBunvf?0_5)t&>zh6hYElNv^K6`2 zxQ!}3LN%N~^tBjE5&}8_@AhujFKGRZ_@iDVm;M{sGw_X=@)DEBt8g|OR>+@=NoOS@ zjU~EJo+rBsUbp`cQbc_=?#NZw@o62Qk;T(A-ySIfvPa98+r<-!8=2<062r`O9IyPj zeZYgR$|y|7lQ$ix;;!A|q17S|w|>ACrH76PWtZjTpPBd2u$>kEuI3ZDn?OmC@a*uW z0xnO$j1}Eu+_hS0P|QFhfX#zs!kR_Vbw{Z{(IvC1&4FWn(R<>}dCG|3$DA|bsOo*q z44{Lqb_+N0j1Yd88|c`E&R5zslzdaQk>?K|#NJ=C<2FswpI!qUkw;Un*QX+5Wb@;R zO4OGGcqm8?w!NHyw2TC~+6vVhZYzRbFiB;IfX0ZUsj#U){&@%^*Eqv0nUu;2a*4hl zg+9MGv$J!M-W>3)5frqoc2z-X@P(VD^Azx9rUOZ$u;Iy+ooy1oU6&}Xuu$8ofZ zmo$ytQ9Rr8GV=T0n+H|pF2-E}qqD~s!%GNzgANx&PqWkYkbJh64VKc?+pg=+c^cNu z2p>JZ7?7e>mUn&q?#P3h4O8-ld02l3;s#w&C^EHrwmQ_aL&D)BJ9t$Z zqd*uE--ZRS6Ls-km;cy2*DKHH*Sa!te(quHp7ap8u)`Voq3i)E%dtU63qrC=ExgBv zLPfm61b+%q`l5i*#rTwlDTiz~7T0mrenoDn#{Pf!WyoR*;v>)(+S;gp%TvfBz zI*xX?pq+G)WGAR#`D&XHbR{b@=X`ej!kQlUvc9(8<68ftzHeltJ|9w_h9~+!4sGJL z)VU`>&~I4JiR2fhc-m4rLL08e=&H&}SIhKzkA(}1+EwCp#I+tR9HCF@in16G2={Yn zk@Bqs^DvEx!b_GM&BBm;EjvnvmgoJvxeN0`R?sbEFTOGIj$@gc+fDO|-qMvYGH1_* z>?Gqcy;m-`EL%ey$tp~g6^>()Y^+uHZJ_+`b7e6nC2%a>I-kOB96pKUn9G_+4RUia z3M;1Po-}UH$&lslT}_)uoU33IH@F8|9ZRz5A{;!Tq8pB;c-knuI{HJ*&o!jO6M-W& zrmz9H&N4mPzfd=OM~c8(?L)5GAH-TgqopwG?^mmOKexh9{0u|Wi-XB{N2onZQX8M% zP@2pb8ykd=QREu=Gq3_;pIA{$gC~6X;KuZ5xLcVHZ z(u>`0%7BLXw*m~b#=5<7cIC>#zSlKrPS1HT^eAl>rBr#sy$0blJx2}G?wZJ+J(XScojS-S;KSpX3MXbaGvyM#U1fPI zFFWVkwY++@corFy+yLLhi)!+4s2zaO%tO{kwk=hNtSz|W&H3PVfS<~VL=ZQik&HKp z(cc-DJwCy9dP*4T%HMj{kTxS75I~S5i^gic{B_IdBKD`Mn_a`tp9q223sAl3L`?wyMkXiO|x(s(fibf^dyABSp1pmub8cFSYx&*=Jj z852!|pUgfjk#FYYo@0gCUKE*L{!Bj}E%zXfO~AK)0Z%=Oe>TktQ&dc|#2{uqx{*KaPfHFjth zh^Y1(A%3WFiGqp(OM_%c0Cr#qYOW7!r4rG1dT#t51I?zSO*5H@bbBqPc1QDvgByr@ zzKH<=B)`^u_NB+2u57jn?~@4aC@w12T%OB#ejxlUZ?~rn(WDL+u_H%Wa{0z`k}vPL zc^FC9cVn+q>(I_Xj*R?!=u2stQZV~FYYxxq`h;1jZZVfTzF#~ngARqwnfT7Ak~$@Y zioWUi-Y@VET9nO=a9CZgFW(U@9dt-mV%G0%k(|5c!;Hv1N7KxtkJ2jwU#S=jb zvQEfJw)r#0!oPEs2_ksx>Vas~pyx8GlfqR2^nBUEq?;g(l!56f>%@J&FC(k1u1-{? zj(NYETJTSXR&z5J8B7xxgj$@n_`k=s=f^W#i^+u@p_rb%M-_(uav-f6rV70Zh*b$* zZF*?W!!7;2FClPLZq%-@ZrDRAj&@%iXZ@n#dz?8`S2BjEKu*_+$O_SlQ*7+pka9`{ zgT05-HzMZ(`R_*%Bb`(5{n58!qOdi#eyQJNc=pYWbMAIm+_jE4|)eKSSVg!sw7c?=H zGLkd<>ND87Yi`U@Pe^7ABX-IEdXIDECB#q^MeZY?BY%D0*Ix2zOZ<-kC*x)VeT>Pe zy@c~*EoPuKIP&8ZTZZD$rnrWuVO9JXY6GZ|zmq~WPeqJ4WDOjMY*ObrkouDfKAGVv zF~4-@QxyKC_aQsOTQr{!jK%OBvZFKjF9G&bOy}5d#luH_iBbzr`+HOTxQ?Uqlf)Sk zm3+mRa2*=8a$)gYs3xk!kD!lzJdJ0V)oW_sA7``d68;3};lfpySvO;4d7y)`U+yPl zf3*te&@hV5=y4|ElL(-HAHz6aT7O8qP4N7kLb*U{&=$&aS?H?@Mqb>mcS@#@c?mcV z5+Hn4bZZBvk0BuuE+0Yfwa`kc>=i&xkS(oWTsBS@q)>OE2Oq8H+<3Mu(&z31*^K__q7Va? zp_q^c6u)x3&;!%T8CTw`LCF5!nSn(>y`b}&@8!)OA3;}TR@{{lyZ22>sW5)<8PnXrI3 zt*82Vt4!w7Z-Iw23>s8zWT0kjA1S%$eVtrtQoMY`*stZwQRGtOiHGl74Q#a{qovu3 zi!o)(bEialfT>J`7WIk*w;cSxE{F zVdzPbjXUS9Dr`#<&82%jpV%IN>O|<UG&x&$nS}xNVpbz)*wtR&!2urKgXRU zn3cl(z;Y%-EP{fN;UVoZszvX3*M?9QNP4|&+fkwnXM!)G_h5-8%V4#s_aL~daXA8=9 zO;7Tu>HT%MR%?{8-Our$|v(Nd;$|zU= zohPfBC6TserGEH{b7?eceWy~D+Dl|I)oAMvEV5YnPLxdE?B7)Kly2@QUec#dU!3nt z^87M-r#CxAdKkFIU?g#@d7sh+aH(>CNKS;D0$*(N(Oz1wen?^(i0x<(a-g<3spRK;_(|3}GBl6WC@RKJQQ0G-34n++e>D?g+V^KP+ z?xX%VzpCde!YuLTZsT0+kJLzv7H}(F@P>?ycyP1v0NKQ!^*LqHP|>oZnX; z9-O=2rKEO~YES9vFIq0WJ-P?d)PJaK)y?6&s&LFTHd2~Tl?xq%?ciz_(WKxRUU2GNF`oi!v2!mapMoDLNTt1;bGeg&$s-ACxg|U z9|IZM7P=oOHRY}RWv#qFfwg)C5Hm{xR`lrHtaNn0&+4g(#sr@|V;+5RLdFkT!U@m! z)|8J`()|8qFDC1Y!Y@iVEggitlrC1elUpzGa>A6ZhXueRYy}(WhFe1TbqfG<8vRUo z7X9kJK6qO}eZTvK4cu-Ie!8z3y{qoKIE|;C|K9xGiCm0yy_7O%GnSdzp+B~TOVf)Z;4w^> z?pwH`^K!iH6PH;{M9=(NyW~7V92~aCk%MiII-ApKq%}kyldNb2ao$qjj|?aiSET%Y zn8<=tqA#6Vb(k)1A-~sE{YtYSi2X~ zHoz`+vy8|j@ol84@<-!a^9YZh5`zuo;2$~1S%mS@`f<3uTTr?&ziRkd*;;XJSxw+{ zI>>#DR!44@$&XBFIw5P(mt~I)y$<&rId(g5hRK*x8Lv+R#4LyYo_x@?iN4zDL*nrE zx3HaTBc~z^4Gm#82COMv>0;ejopse!T22F#<7Ha<`G{= zvo}=+6OSI37|Lg4jYbCZS%jxnzZ9@4(A{nO;|eUz_-B^EcFmQ6Kxslxr@`dZ&j$kh5xT{*w*fl`P{G}*g$u9tfxCOjan7@|lKg@#I742tZUk-kb_R&6 z{!PCH!R3~=N*t?fquJ3>(%JaWw}*$%$ob3{|6EnF-Qm~B`C$@zKBHjfg1zT>l@qY9 z%VGDGsg-zGW`*O8NOq6JqVR-L*;Yf!0koZwdF))Yr)H(PFvq48i!UuK&(LJm?SQ z=x|4z-ng%gp`|x9VjqxT?VZ(MNM}Km(py1mQVu5zEKaww@>obE@%kX53ISv$(r|zW zbj3>)gm}~gd#-AX8BJ@Qth{oiCz@$i)$x4;RcH^RH1td39kIuXLD%%Qz2dxonBwvc zw;HM1e}1u;@;o#zW!|4QL97o6ZmM>;v+Kq$sR8)4-g{~4uc3^ z421=)vLhyQR%v*O!Go9!SGt0T_&jWSYcguF@SF&3zY8v3tqYk9UPFGU`f$x#XZ14G z)Jpn*5IS^f#q7=C?KgNub;dOEVN#321XWLtB6@xNi zYcZ;gz!+{pa;r`#*pjmycqyvqSC`?bXeZfc;nTz-$dCW zwOp>tko|ikPF0)>Tt7yh>A2EU@^aq&bBi(G;d83kx6J%|pD9Wq(p%1&TDv$c#IGly>-W*CpQ-bF{eYZofWq4}tr00Nu#R=p`?b;J&b;Jf>9+cA zy;Z08sw1VM;l79te6AMRG`@9U7*2L`5K{gUMmJFshXwu&>DERa!=q7$kkI0zOLyXP zB>Th$*KdiK-*C0+G%VUDQ|Nm}m6ns2yJi`}8Z(3L0v_2hY%+|To?l@SP1%0HoFXT8 z1>1YB`&G~0cYU5ORczq#yh6C)PKZS?<>dFXmhEwle;l4(n)aDKfpf5e!?d_Erc5fv z=PwINEDTH(^lu5+Lscfd3d#Z)n)5t5x zM8>^iC0!N3Hra4m`G{mYNb8Dw+wr#1s}DKn$Gwe1pRs1$nN0WsF|S$163;1|KL$QQ%chWwTVoF!P}O+3s~@LSR-ULRJuYdBj_tRHVy;1NCp z?o^^x{)pmeZ-4O!YjIC1y~T8I*<`C3}eVC8y+)^VsGM_e^mvv8)rqkx8vH z>>AdI=mU3VAcDFy}7Ed?%XFX zT(ODG%kc1+VRsaD)%Zl~ocfelbTs{qam}KY?)jG+R0e={oV-!ny|MuLgj7| zuUf^nG)EolMs^)UPVKTiZe5(WR|PegtPk%IWA^2*58Z#czUOX zf>1w7$BcZGM>^v%DbM+g^v!&pfZvlBO^Sj$;|1c(l+1@_U7O8cwv}1L>0Pz#$6LZV z{jIrp5y_Obmnxgpf(nR+&TeaatSO)U>zbv$qztz*81R+&ylFY>lLHhrKL+esGeQrEsyR6Mv9qw%Oh!0gfbVcivSUF=?ZC&jI@9)=PgPu%BaFt~yJZ{2oPlKDiL@ zWcohQ+ynzbDjLNZ+9Nf&PHUX}vXo*F@9>?ZR-=J^keOq}jz&q%IkND67IsDm#x`UW zp1lbJo8t|z|wYxq4@ z0B%d%l8i(1{8a|pv=+9-gZnCl5v^+O0MIDpX(nW0ql%Q!%1ekqJU;yLht5HzkzrDC zu&q?0@RkA2=)r;t4aXj>I>ZQ`E{jeYtw;wrQ6T0um@V1&xZzA)_l!L;s(CM<9F>bj zmFUdFP8R~HErh+If5dQpuc&xQOcPc3HH)IO7Cu?6((ESc5LL?K&o|h*jmiBdh7>%2@n#hM1)LoF&kLj# zf?6X5u|x}wlEf5-bIH3O@BWNG>s;%s5WASTo04cK+c&g?7Z_X-rKSSGqhNk$t-sk* zTOmRMiZ@3z7hUX{R7G#gOMW_8Y~inLxO>h-pEb?t)%UOV-a^esP1QL_XvITkXS7f> ze(q)z|EG&lU-6zKP zpXmM7)yzKI>5Z-xOs}NL@xIoWy67jM)4(;=reB#T*}WN5sRIJ;=kn+?r%B^cOZEBa ze@CxnPKD~I)fn{{h6c#6XY5r04(TIr#0#DAG~~YR6P*d@Wze3CsnZ zJ))5FCn#g}EkXztI`1RYlFHbS1}kSC6;8|r8_(xPE1$PhrVGT&OtwQw((0f&P%TAG zsS+HEJm@|yztZ(ESu)YP-)~V?9~(~fv&SuR38oR!Bnvr$ z1LX98P+Y|MW6XGc5>L_$i{G- z{I=JLeXXsjYaveEj$9CHJCz^@|HifC`(xf0WYtgBh)e_uy1d-Lzjh!FvGcbYa85ub^AspN2d6O$@L*cq53g)g(Guh z-MKe4GP*0B^^Ln=nGLSU#slSb35o)#OA06HisO;ZAZXj7wWB~I`>^q&^NYiHF|+ z*?I-0o>-H=@kq+{#H5y0%2Gqrn8`lwD@&*d9!Zd??E8kbDcsX^%YhQ!Hd_7^E$L%@ za%0QaI|V=BsKORPN&C4zDATl%&VBQ_yr)9?0$KIV$w?=RTD+_5@Y8Nso${x^cl{;5 z{4hHUBt^`x_1KGe9_w-nN4k zN-(BkWFl4U{NtyVD8EzbmbWRv8_$P`mkwnYNt;Y?)v%MP7tKwFF_Jl-Lm!L0=^SQF zY8#fcWf&Inoe)jq55AOgt=6|%J@e;RZ%9>Tc1@-0QYz(1@QFO0h#e_ttPvt4osZ%5!C&&6AHmjmGsfvcGAdQ7)G>{kM6uCwp*iETW)c zXJaEBVC;YzsOZt`;@tPg_@Rhjgy7jW1#D+0nleBNfi5Snq%x*Lp!A|s!#c5r42eBI zFaj}mDDRSoqFyJ5yL&;CfnleAD9TYnX@ZG58s4yLZk?2Q$j4V zZ+iLj3bbwFQP_caZ|Yf1tU&atPx)K@fe{F!3_(;iH|t~OsJOa@M$YqX)=8MzkXoP= zfekpTwFGH>@3u)?Dzt`3Q#Gc2NAwFSt))0$D;n2Z)UAY@_%NtpOfy4MJXoV% zV%!MpeO#P&Y<5Elp{`X`eLal$a~LE+`>LU{4}&x@S9DK?+(f~DD0VOy3I*M0HXEWQ z^Ve#LqDoIw+2_DbGFqL+5^W;?X6Noo@$UO(kjG;yK3sQyJzA-clIv8*+#4s*E=NAg zU(0#K=YWO1k6y^x`h8tqdVEmBQ9*OwrX7s$i?phCUp%v7w|cC<>%0zb(;IHDCq7SI z`Dna>7OMt)@Xz@%c5N4NA_gC$F_o62Y1ga1#aDV@9_v$|HrH{4Q*y#Pz z*Y|X^MLZP?AGElozNVEXF8Wg9{;r-El?+1bo!i;Ie%OlCc_%=(!{)Mz`JI|Q?OoLy zu6_oR)_klThOgaMneR-Z7Guac+fp3Zg}=re?Q!`9&#>;bv6~4d#aWrbA;Oa@CBxpM zAh;WP5&oFjz$KghglTPiyVY}J#N@rxIxu(9V23@^qt{Z;IBe*pf(kJ zb*(O0n4t=^dv=HrD26S&FkhpKic+HSL|JT=nK(Y0eoc!`*9vP}GsFt-s#HZ@L8_&f zdHzd-J%_PD4}f{B)&T5F9d1y{!tL<2B)M*pfnghwQrOY~f4GF%T@nj@?@X!#%bp_N z_Zu`~d9Tc?6_g-sL;=)rCc%SKUn3@@MSga8g^GyC=!6v0sIkj=M&9N-9wn!a!+@+Z z%e})~eLV&qD+{$sZRH;s2=-H}`pc@23dmechsE?fCINNNT~28EXW{^hJoEUY(67CG z0ZiQF$MPW&h5DHHoupxP->_xpUVI@ys{r|lr0CGmD;%oh)jby*m^~h#LI*MOp4erz zN)MO5_hch1S6VPMEAC^&Il-c?oTt21@i<_wi1C!4Y|wSY`>wh89H0zhq@4Nv3S>Em zPJ5C8dn$oSBXYf4K0aUXm>*<-q4m zPOnlSrAs_<|1)V$x$c&d3*wz4jbp7v`Gc5-?oKdOPJbthY<`fc_voaVKtT+_-YNC4 z1Q$Z`4+)(B7fJmeHs+&$>se>Csiq)eh9V;QDD zt541>Pt|;hB((6tmZ=eWmQ@fp^+XdY{sn{9TS#5YBb9oNw0WK6ffahqL*2S!ysng*!U#mnod? z&mPa6$U2(WI4ti(Gg!o;+&k7Xp_X00OvbD~bzZUK z&l2gqf(tN1ZbIQpm0W9OoZL*)H?d5MS*q8^=RH-V{%k$o7!!XCObhxMe)?>At7mHz zRBu2V!Nk+4AD;pDEzaj`lqnyVYYpWaJIafEkh5m${PYpUN9TS%O}b*`{5{n#+MUA1 zn%5Z@e!o|z29-=acrF}W)FLY9RGo!}SrEeOk!x5)q;BZiJU!&zcZm0HjCUB$vj%$8 zjXhIO{tc0Sp(|B0x%@&TikHP#rLI|DjRTeL1RXCJUVRp{xY;y>fHKW)?%lwYQ~*(o=gmhD|Ja+QDyWtum>+~+7EDLhBC^v#9EmUS zmi_Ekxw5YXwii8d_Y96P=B-?h`*XlBd`ty^y_osHHw57VmLTA*QI|pjHRkja>!g_V zBVNlZfBRo&pT13{7CSSaAk#2X{s3X{x6md9!isAXN z50w?#56R&QP&a>;z+m#*GjdY;q`R8Jy#k~*ukb~h#0Sn&?Jkmk0UL!4DPoFhXvB2s z>q0OoFK&ZqZ9nP!%zoAKC8>P*avrJ9YVBJm_Om3r&%ZtuIln!PU7~S0YAN{5AvSjF zG*#GvV(LXQw@Qbi=aHRt6J`1$()5d*%Lw*SRd|F~)|~izAPTDX)ZrkaVLQ zv`bok<{iU(rSS^3EuPD$frtF8lOFNVB0HdHUV?zJ6?y(e=LS}FQq+;cLS)!(cR8|{ z{#AFbu%Pe*0XVP4T%w3z`b(`y0L-39}Igb1U5q9v+JO78$iDz#hP&WI7e=0aQ~&wU2cKWC#KKo@)N zXYl;qyu-Or?=*B(pMOJ-MaGD~jUx8~9`|a6PgRr^z}-LwsGNy<9fsSONHmil?#xMP z5e(DrJA*A><=tiJe#=sixww(e*6|(j2v|#;AV1=meh+GT(0=jFT%JB#y@~PJIVsaA z^$5Jwr|Vq|S9slHjUYv)^jxyIA}UcG7Q}ZTsI&v3NzE^-o?hQyct}QlT6rlQn1prJ zF56^DVUKCfZyDAd`eoQ9L+@VY|G`3p=gNwyQjrO^VxILEZfht|13^NbU!3ojh-P$K zkqQ>IX|R}2z0r!y^S_|*363W0+)uHJ%J_VM6O9@8RRq|UtfhXZUCPBZmV-c(h-9cH zRbu!;RqoD2)ySCBwa?xRTYxGDHvNo{MC28V226+d=T0rmuSh!DcQ9Zp&3HB(;0nDg}`nd z#{7fpXyjplap^apmnvc<^709?J>2_Jf8vW<@VmKZDyxQW$* zGE-v6nu9FGHV`K`ki#t7&%SFs6y1g`jso{NhDC3948?bl#xzC?L}6!*phO#qMnl1D zJ}E?NNS~T##Ul<^eY7KW-2Yq!gvLOD6$4NCMgVX%LL6aw@b2GBTXe9UU=u;i$|-bP zLo~ADk4plK`a6z(v_zjMWAE!?!L~k(`aQBtf+C~2-vA?ZAI7fxJdFi6GBbs)G4>#` zb>QS2YahJLL+RUDZ;Sgk?W4~?zYOHT%dDVas%kbGmcjOh`eU&-w`aGf;@3YTY@NO~ ztF_ML>3sCmz#Wd10>i#Sp`EqyRJl}&#dy(oB#oJ@!bLXGl2iW1SA~3W%%|&uCB*O? zZH=p6N30<^n)Bt9Wl;v)FGYDqUuFb^LXjj<0p!L2RlSL!lA0pfEZH7#9BC_nvM2~|V{zQbi&Kfz0SK?#KCifw0892SPc%6O@Cmt3Tfq($ zqZmbBU$R-{>iqfAKG@IU*=K(E+4$Ik9fvIme${z!pN!on077|b#5&vhNKMtYYtvZG z#kKRL)`RhRi2we0p#GAuL{{sLwDEhDqVk9yWRcvp@1{)-kK+Sm;(uuTq4v~!LQKX% zDBp^jxEJ*ssn`;g>9wrB+OV6DVev6H@C%jJ2kF>NvLu+0ia21YIjgpFer3?v)(wVWb5t#rzvJi;KAR<~~dlA6H7!c;~_?gnsZXG zJK{OPDt;UYO$Mm-^dB}U%b~GgFs@=M>ZDB|n3*W6n)+qI%k;=}^=KEhCs`f7H?EMO z#Ojdw+t6;>^bE&r{c>w)$pa-~yd~0WndctKDna}1)yenTkCwOdW#DI5H}jKP=c0_y za?w)7UQGX#l(A~XE#Qiyq;z>Uf$nZ$z{E=eij~S>;*2*t=klFnO7c!pO)vk3Nv-H>9jRqiX3)Tb?ZG?Ny9arP7+%zFh~qPLE<{rEOIg=%SvKQ;t+S z5=q`s+cqCWK=F^uLMjoyr6-3k05|!ZiBZtO5UZY~VNm#R<|Z$UGjzZ<3$a7F)TVvq zU832MhaEQ&2e577DbBM3a8p?Yb}Tw+8K3P9@Nc0Xb9qmrQ&3-?s5<1!lI&p)bdGT!k1O z%a#@VhOX{zm>Q4nwBBdGQa2#}+1>i*XN)!!962;^#gXFArEi2GV6@Qqu8Gh8Yvbwg zK~wnV0GkMsUc}9>1}{^vWd(G&=_bSm9*L##7Q2%;G7G}^vm(6$Eh;TGauVgu7%6qn zA(0HX(;GdhkGyvhM2DWzmC|r*Q9ed{YzSAOXZz5IMhWG8Q`V*wXh&rbhh)u81seZw ztJ#9FptWNv_EJGdpE1``5f(YnNH_YrnV%XM>kOm{zW+V0p8TUw&@=#d{fa*gHq|e! zwU#K@qBSuBRdlu3Uf2t0>8!XCKUdgDbcp&S@F`m_sLTFjX2xF^Clkt6eD!QRf(!XS zMV(`G+|l~BCpH_Sv28bY(%7~e+icV{w%KrE+sVYXZKq-XbKZ5-iH108yQ^!6KRu0#o0aTHBip=rkB;dsf=RhzRCx5NibTgfs zbei*0unksBXE(H&(s&zBL5SrtDiDDMe9{Le_}LO3nhTY@>xMxoJ`9-|YR06xBcK+) zna)5r3K{kFrYK`J4Sj~;zRoU>V%_3hS^|n?J;{yH%blYpBoKJXxj&dV+9YD77xPL= z%8d(j%J~G1n(ZO^C&wW=RXkZ$2sC5{z4#zaVN@=zm)ZIFlisY*2r-Z8!;dSUux2kE zHlmBljx*xI8Dux+AC=fPOpG){5E(g=!PLM}~< z%EVu}TGgv*0W#AzM8pRzz>Os{;jWw|K5lanNUn$uKQXrwZRG>?59-I)4+7U(j%cCR zc40eGx}#E>C?tzh1jRF(y-ePFX5xd&n#>=E@bf24ab|HszmP9_EtvNFHpgEPMkt7r z2x;6`BbpAp_EtaoWj{&F>vlvR5Wik9GNg2!Q}ky3_P|-65^(&Quq@GO(igQi_SIs$i9F zTh>qWESmFOD&(c<`k-O^3A7E@jC!a%`s3l{2X+Fn9hZ5b`-BLuqvfpwq|X#h&M>nq z-{XsT{DA9UuRn>_ONL zXR=xN(iyYpob26;@j_4U2wR;9?I*iNm?_z6?(wSYQY$%u_?1xIqf!QKwc+KLFq}R8yH?2-L@}G^jGLQfVjhA+=MO1R*^9CmIJvBrwDtbrL{wD@T>A8D5fMgM8_(N^`=mRR2-U6wob zhvh-h7kX^4rhyhCDE&+ng?Y!@*d5gH8(#y2`p{I_ zXdgKkVz8VsjiGftMW*AiLIKrjlu52eZOvi$gue!(zyI6zR7+sm^VSe$x$jQUSAB@k z3I3wT5B`44Hv{hYVoK9M7mL_=NR^*p1( z2;!Uvn7i#D(#cs{?al_;wRBjNq2vTrG#=2mHL9t1rgOd6?&Li*1q>bBgPzTPTm?$+ zS4g<%CF;m4V(hAB9PG~4yFPu#Uwq?O&tMUj&d(&i4mV!3EKA9d5#2F$8_+aA-1~$v zt4PQBp~B(i1}z!>dY>(c^>kOIoV16~i0P4qtVLMzBK`SsTV-8>H^-IREM0oqs z%~Yf^z{A!;KD|9>^k51pZ_Q3sihv@>4!YePva=Z9LdjQxX>KifGw3mJZEWd}E1 zAC@mfvM7-3b*fwh=Y}LGc>~kDl6;>SE8BDMz+q^G;Acs7;h)q+scD@7sAN%3n^*<& zBKE;aCMdkIq;z?K#1fthz3v7BU#_SgaPUkc>eQEE6;S-2)jgBE*;*5hXCm!!qtWUR z`uEL0^?#_&X%qpGe4~#DX5U5#I@y3w0MzuEDr!90w$`(Zf(c@`;|+{A8ag+d^Y5t4 z$1E`62#umfRJqorVWH4nCjk6{-)mGuhFZd1RCF|5t$eo5<8)Iij&mG^P$BSJTfTDP zs}K{Cp7GH8v~USh#vD>ys24Lpqx+74{U1PKt?K)WX(x*!p$*XRUpiz}dpDb`hESB0 zamXqSAgdBB9ghj+qcjya?Pb*@m%lUp;@QCW;BJ!Xvd|w;^Ss!_Ivp0HmAU-r@poWV*$89Nsy~R zRW_BeA%Tn)|5^pjC25Q0Z!gZRju`X`=bj^~uCGnvL_FH|ZmlA@({NRiKoNmtB=B(^ zdItZZr=uDkuJINr)AS3YH8j`nNrNI8ya}URNl-PQQwW$~kI*F80( zj$AqHYPh^UW5jpv23qjC!6T#vH1Z*FI&37sCSVF!VLJ6y%)yX{3nX#>#`4#{dTP|D z^YVB_eU(W76bk{#Caj@RZjJ%52LttZwSy`AC3UfDAJ~60H*#Z`*TanMX!YPaRpikv z)}77pA02UItfpNZRUEA@x%gGI=QX6QFCb&YT{Hz|Cw;XHjybeFU;#wBpn^^UY(RB5 zfI!Cn_47gQ$+9ki(DU*^rMttON)yQ_b)uBe1fQ$QS08wPLCXIjp&0{@&PXbzZTAL9 ziPl3yOL7>t{{Z=La^mk_-BobgRhx#1^YP;d-1y#844tdrc|#Bxf&``FiAe2-nfj=> zA0}P2Y3L1)0)M+E8L?ghTVGtsuen}f zitTuN@l9bPmE~mbW;So5(2PR}qY|-irA`W9u4)5d1l%w{D8-%<5^m~8U9Q(!w8lAB zzK^<&tlV(Z2ye`N#xk)DuhExhe1-OD+2~~zL>kP6CC|O|y-sDbM@Hfj(a_6v)W#d) zRB=0bu{!$G@<@L4S)k`v+eOOeJAtpFRk{2-x=s-ZlDPeu#p6{3_`^w(R(bd>iS$^HNI{K|qYBJaeTO z2FE`fRNOFHSrv5Ywi_lJZx{khnD>4te2SrRE7@BB@6ZVjmF(%BrPR~x(Nsi_KP zK5(npe{vodX7e;RM};pVWAWcno*<`t02^*6RfwfMO*c|}#xM6;YBIz-LAxJr8&D8J zk9qWkjjjq?b6T)fJh^uFLxA&QU%P2 zYh*3JXsM~`7-;BN*ybkJIapU#nb+m4$Vgh5^hZsHwol2o|tAf}NU`gN=5A z4HN_+0#%xp(F>#WcRCqco}a7Gk68KgSOXV2J>G={#z620^FS7aPMU#g91UF@m+=@1 zORuZrXcf=1ttQzL&Ehaa`?{Ty?n(t=F9eL1Biw;9rj~^=tgkNZCUsW{pFd*J(s;AJ z!=98M1jSfl>jVDt5KayScy9z4-i%$KR#k_VFEsvKLkvO8x6X5CL9m-N>;WW80>eed z#l@pTYuo07NZ&Ds3R)_6teo6JfEqY8ZZ^NEt+b{qYj&rkTq{~AF!l1LQ{L^Pw zq{vJG-~^FUYY?Auv?JjF7&Sp=7Jr82pbO9-P89<9C()KGasJ`l zE|u;T{NuV(N6pU2JK}xj4Ma6R+no`EQ`fcW8DXtg3t1Ww<@2c233Oy7>YVzsv>YmR znZUv1>YeV$lPJ{R;dt1mh~9<;sXDR&FctwI_RfzuUn&ixFcg<)!VTBReJ9AVF0uA` z@D|=ovi;rUyx+whRktqV`#!>9)~-ms+Jpk-w_M1~p1>%UQ_U%UdU)Yl;-C&`>C>OY}+FV%k zE#6^P)i3hmBA$q-^lUIRx=piD1|^|2?XkkIqiOv|KHz{1iB?$xkj?|3@b=bUU!n_N zgg`ovn|jJ>7sy(~&p5};1#!YBV|$XiY5hUPh-_A555n?`lT@EA|NC&~ponN@-`+TK z7&Y)$#PUF!4I-He2w4pvFfN3S?UgIKCpCd8m#;p0I7L>E^h=6U7?L-jJi-DW!O43| zP>tyYf<-OS3}hOrPB>_t>FnyB3}xT$lmwaH3`UIe8O*Y|fDj@8Ko2BqB53LgYbyw`!|*LDz%8v+5?s=saYDKa?KuD+?GVACyC2)DpLx#&wGT^dLXD|UNZ z)4qx^Awpd6d72GGiUe(}g{q}izTM6wX7f{(pq*QpD%QQv8btoxj={6kY!kmgf8paB zT~|OBlcx&8f(i+_K+DHu$owR#PS^3liT1#~WG-Hyx7e+!t}SX_mBiX9ZEEMk+icN< zmh;qUvyjT;LFs{X>PwNmoQar+>posIt(2wcl`?f=|DCS5znADFfshD zNQ@g}8g-IhXa2Xh(r&&8#lc^gILa2xUOorq zH#J`CCu`1wydblMJSo;JC1F{w0b-E8r+BW(8BEW=*#j)^GJJFWnuwn;{HeztnG1>i zggm40U{9e~9lu24*>hMnf0c`H9?X{zKF*2kdwAmUy_1qQ5Q^}Q(u9Z=1uq9;u_ETw z@H>e#cGdo*RYYZJd7Di7%*={=;_q1)e}u$hp&C^@ztpPKk%@b6G43Stb!9{`Rv+IH zm%MncEm}iI7Db9mmv!^}-2_aScz!AT1%MT1GG;o0ONxu&L)JTXlP(lE$GBp0^f}2l zl0NU^fLRx?u!1$BqX7@x038@&=x~sqi6U*}Bb~=CuMNEW?m{+4SxX*04D4naGE+Od zdeJo!OOP$2gaJMy8$qO^c*?R1Ufv6i|0b1+8f_Q6@a7F44&&$L*d*WI&)=@+AMADy z?J=Ft(WaC99jaOs2?T8-GQ}GnNBAQIn%!`6PHe^UwFk5M_D$|pqp^BFW|TqG^NWqQ zhC&t2isHW2QS2|&MpkSNl%b`llK%eT7i0VQ1+qouS;Fb7aKE@k*;;**Yy+o$${RE) zewSwXrVJ4uvOMN*>)esSm|G{RC52M|D0ov}iV0{UYQR1q&CR2k#44imaBt0HzxPpb z`S)lQyq9tDJ#GgU@HKM62cX*9NlCO-Yu*>kNHFiT#WEyiQ_5_$ocQwkIHE7t>3Sk{ z-Sl>OKD2iinIAY8ywqo!*%+bN=T7DZBiS|W@w~P|T&^%|f`dOote`s>8au^K@cV@O z0`VY&4?ad9YczVS?34&EGvZx)v!}*F=#a--1!mr-$aGZ={kyE}FSme8Rm6f#84uk1 z1ffZoO6=D0dGr(p!ibCNTtxXZ71uiDP`O+4!)ZF{T=>4ybpS(|i_sSK?P&;X8k=S` zQ29*v&_HYx>OXU5yb#hL2|$K4vEz>(=1o|FFV+lEQa_ShYY2-VC3z-JUe)MU(=2=<&zJ;_-}`I0Hhthd5rq92^ds1 zw7f%3%J+CM_9|QHAle~5z+u|oL(aWA;C_4lijcKyNlChD)b1~#6KaDp9D8GoB*yr? zC6>8aNmEKk4rARZCrfVY@*sv5FrfmJ%OA%iDo))79G;=Pylj4B8tKZT$$i9Hufce_ zv>cF^jp)@s_QN_$i}h5)`ohu|1GRkxAE7uzSN7ZzmSMXmxPfb-xeIE{1X=i|fN>He zp+l9FPA;Z9asAlz_7Mxs9B~s_84}yq_NYYMw=q3Ql$xrBdrCdHJd}j$^nPW7$wA@!KY>+o{329 zTho+#6q`e<64S>b=I6gDy!XW^<80BZBy&Y+wj|q%tP3#hB>?Yp4I=#0*Bot^Tg5mN zd;DQO1sbj4C855ZBr5Ax@$#P|H7bt&C>M$`q-{xI;0n)Iz@NeKfzRT!*Ca&8MJ4%S zUINE+;+9yOV=3H6*dNU7T(UDDM!W?fd0qxmDjUijmf3uQ-o~*?CI9b2F(0gYbJ8>6 zMLd7^>@;`rE|=H^ya`B*vS41#QNY^`YkWBb8T4c;AhsZ9x=w+9^{m5ph>vCDQu+he zP}nSM%_FWYk*bQ#lN2!mD&H~K@UAJ@*xrMUUuLoV#6pz4PvaxUYd7o}i^3~g4K0kx z^OUlf546&FDXiZB`glwG^AB5qi zN3JwpWvI^>&##vo)kK{%X~^(}p$v=d_ba;&`~N zOABtHZJy>r2S^SZ{XGtSsK{8EgVXdZCYpVvtI;TIWd6N1`TA}#l8HdO%CdlK-BWorMruSou*C+t1)~0V zqZh2V1P6qKIHH7UCEJXHp#3$lqe}IgO?A};0$&rT*By2sv87?$|AWv`+|{6I=VGau9#{@juB+d{yC{9P!S+AEh~nzQcWPLa2-ZPZZw@$QKA zMkCg#ZXrf^8lA6M)5QoHvi`@ z$}p_+VSsrP0wnPZ)>bdRNv|FBa%B3(W%KPXVN;Yr*&|9enI{=65#S`$X$Ni?IRB?HdgZ+H0DIED62fC|hDq-fEBTA><*iuND>F`PJi-Y3@n~Z>1E+9Ot zGGK-q-xzwo6e(L3%iZ>Gx|XxNIsQ#oY`SEaQpZ08C4qtec{mqnkwtC%CQ5dmP?xSsc4{n#ppiJTzm22ZH3>$b=FiMh@zx zN>iSpYIfsCT%eQ%V$-uB2m+F;@ZTv(OK~Uwjm(a$=il`sM5}(zl4YW(0gSgj5idMA61`lHK7~$|og0ACuTh^DTYnyE9%?enOjH=k_Vc_~1_V zi*cKgbD{~=|B^|w(F-62K;a3!#_X1)m*wb!t*vIK@woog*ov*|E>{9Pfz94jM}D?- zf>f6O>S8jIZav=W)HvTooblDZWFKU+2zz#2s2+bQAQi9v@@Jx4M@QF3&5j7|8ffx1QCzfyjt%w z^Ny{*(|A8jC(g8QGqa?=Vy0m!A7(7Rvsj<+hM~*w@j}ffJ?y`6KQQJ072poglJ{E^ zhYO)`A(&{HZ6c24(Yj+AzTb|6!LUz;pDo88gC-va(pbOm5_`(iez#d>F2rg3sV(;| z?1?qUVehac4~pip6etY2^By#igHCRduj;Qks7;Ld_i7IwwH9#Km--T{jhh7{Jss+c z!;NIzbg4l$6I6%z>Gt(lBQ#ofjIKdLf0IX0X2*RG>tYVZ60H8~0|_KN#FzDGa{i3N ze-&kAtNLD@x@S&|%pYU@Ymgbr&s7q#Xz+OtwGy&$tG-on^lR>vr8mn_4@_0={Y|lu zXAGD@mk7AmOQ$SRe-;3N2{7>UNhOZCNcU#e)rCf`4<^qk6{oNE)&Z}X1)P+V~S zar-iEDuC`_GrTm+EeHE<;t8OD@>S5DTatuKHkn|FLg2;7n#i7_c5~=qVDPp~t%X81T z!S5n2#=XmY9g7NwWltSV`XvwZfV>xb;#atdCPCB2-F+}heVQ^3`(4o!(tYG!HN%->fh!IB@-u`r*tZ-YtuBjp|X+ zQ@dL08COZDIMBy#>vmwM((3eyWHbZ-H(qI}ZAbw-LVVk5-^;6yc>%GPcoqh_nroQd zWGP?oNx1A68q0m0I0U|C8KI$_oNiC*EgxSo9ryB1cK~Q3X4|P1t1$Ft0>dqvBx2m< zq<+u;TZ^>rpF=R# zdm#Q%nvX1j^z7x8nr*@PrOxf(uj|pI9e;oIt>d)PK7IDmz}vq@j1} z!2K7o(0-R?0(B%%oP2=8^mN0@b%wi{8-gGWkP?m9Isr;e#Qxj=ZV z`hvw%(A-EULgRr}Bph$}6)gO5;vhNlXn#RF8&pZ8LFg(`B=-;qKp59LWSYIvio`yt z>SvQa$y1iRy`!}e7!v&BnQzO%2Y|5?1(?nH%|d_&FS>z>U+O*9$vM>MHNNG?zkU@J zO($v}tl6o;3{y0sQccLDMuU|hiHJ3BYt(x#?cZXmbL>*nEAv?!&@4rh3;wjj=H+>* zF|dGKSUu1H1|tq(hPlbvA&c@ir={_`26fs$MfnraB=uVLsGWVCTliE}9wkDgXW^Sl zmTdyGmu^6(K!Y3N&fO`FQovx*Dvpo}?K<;qgaP$AOK@hy$Y$Q!z5Xtz4&QEn|Iios zquoO9_uO#NnE72Il$31~J^ zUZt03cn}oCTHbYOOMX%K1A1B3+j#qNxo>xjkijX2+B((Eq5|tj7J9B8X_!x6rva@P z<+&90ylBjH3wDKsqsT@X#rO{dzXGc=|E39{XXV8zy4*>;X;X;Fm4W2q+WHD7^km0% zUra$G1dmjr5F%qFq~7;1aGvnW`Y0b_n0^&qp1ZiLSkLAJ9}kz)$nmOY4qNujsAR*! z?Cfkx#7d^1?!jT-1f@#*3;ww zYg{7v@O$SB%s`v;4G%I)P6T_C^p){w-=x)D^{BWL0^xjf9TaH<-wO^1;!k%gEUA#E znu(*dJBj@$&GZ0VJ&N_I_+~t}j=GiVpi0%svLv=~yR+xlr;HBs!zuDSy?+;}!)_t( zrnr0^w0g2$xeY|A~E#+(I1A5NOjwavRx2nYxLou3$eJ51Xc+6;G{h!ef3g&3EZVgEz3s%7#jr&aBq z3L=@wD7=>puyS~IXi5C9l9iHI(9qyRu z)r{CLF~j|!-TTeeY4~gsNe84D0Y1$eULhi}0Dxf4{^O*9=lm2U+;CpQEfrFGM35_&)9>z@>-DvyW6FDO@I@kGvMTudlcsc^gn6t1=b`WWd zSzNIJ(_y)hIKX2K7CP|dD#VG%&utk+L&JIoV0cXE1Pu>>+S$-tzXtrFXQI(iX=bPD zpiBFE=V0be1^4!eG3NZ2hC-oU=+d!l{at%_v>mzkE%Uf@7FAz>tUk|+&O61Dz zmIQGpDn-x-`gmq7+dE?SK6qaQ$wbDI5eMH{bFd>qZfV&{KdgQ(WFVXs$70( zJK!qRn&3RV*0z&!lu7~xglByodtpoY8Iv*83vUYap-mD5@tGv{F7Qevb1`icUFmx` z;;?bvcWP@Gki7#`84`-OHs^0TZQdb&R?|QMO{GR5e&Kq&qd67myd9rd4Vn_G{ zvsmhg-eK^I!e|bH+1-^Lnk{A%E#CE6!%nq{igI281tXMZ#iE_VN2o~+8j~_S0mEI^ zsm-f^WH#^=D+5`TbHW>vneLuig?~BinRu$PCx4SDI^4x+s_fNz-G}v_lC2?8| zn30wpyh+*Z<#!{#FPwEqWYV^s?)0(ZFqmdxE!(-if+&_Xq6of2<`#R6D1cF3IedtD zaXlIy_H1fykACSgN%nbATmO4MGq23rYK?X!_Ji(56%xFonfN)n0p1bvvn$fH4(`%3 zqOOwy#)iVySD2-elDlxJTs zTVF|vZ}xiD%SUu_|1c8<$o@R%%Lf`aEY!P&{0S*(JjUJ~obuFUzeYf2oK~{iQom5^ zUE&XI-{Gbhe*>0Orhn|iCApG%a1%mZphb>b?iUg^wcfO^};eN9+0J(qay_KXfg*+G}|r0FJO`8_}9!cj#zws@Q~2Q^%kS4Vw06pQ~&m%!AoO#aJ1 z)k6$dpi|qct<^Pg#+wNkx)y>Qq;mqzOl^Jk#q*qqVzpILb>)8$ew_PyHj|G&Idnpb zv8>pAc-}_hb>0@8JnaD{m@5-aEZQx%b3t|Gb9oKWMwr6@51b8N6ytat%ALQF4a79x zo9(Ir^_3OoJ#OF&+gc)~m-qFWPkElZM!O&XSx0G@?(9J{)qmsFkzS*9XT+V>;fY)b zbRS)@)SSn~RBC*%d{;9(7@ou_6G^eojokI)m1q4hc$!I(+H2L0iJD^9d>XyD!2`l z?{E_iU8c~L9uU^k1&Zzz#>*n)f93k-p0}#P>|u%C|JY8>s`aw(zD}y%!pV}JWKWYKcOnnKAeXA^4`rj0qN=qp{#+X00D%WbRmqXDc+1#}+F<}*ydx!`pjpG)}uyi&Js|N32(=4;WSG36$G%X(AI z0^H$*qsS__m>2_XBkUqRC^rf=%i9QETBQ>SsFJYxBc%=8=TW{2WKHl7@(xIMDJ<3b zEJEqSB5QgU94tWu^`Oy)HmzpPDYUY$c}Q;WbNPP0%s%xRQA*?HU)`Gewlf8`sYBg0 zZ-6i3p%MvVP&$^j_~eB1ScU&1tEyYm$!J%~aC@=hwe$3LU;6L<$=1*1_9<1%Hpz}D z_0fc_j3l5C?%<*md%%C(H6Uz1a*UQ4)GnjlV1ElcE4|1Uc}_d~^-4)R_KZAkv1gc+ z!6k00nEa5u@_u(C*>G!_B!y1%x!tibvmla9&_W|Jd-tKK?n2?@d}?Q>Kxhz^eN=6l z^LfAQbY?I=$u;k}bQkp{rc>50Tx$jg7q=t?)3%yHziwpB)T&7mk3Jjrj(xo_vaxdZ zG4rW!$si88icdb+*{(eVVEPUVzx!f_=^ECnGADkc9(}rwITP#qwEJz$b3a_767C$3 zOzg>u79tC^0|aRGe>+K_t4vf^;kbejha+^JWtRQ!vN%LbWrTA*EbgFgg}wW=m5dSsuIF zDhg*WZZUB)K+xp?KWw0Kt|NLm>xp~oPT=o#)Pu&!`)hlCyR&^m_r3>Hs79CA7Q^vO zSaob**#!@k+LzY9^Fc`8zS=?)uqr#0LYc1Tc31p}n%BZebZkqAFk+ywFMxve!2~8Wax(Wb%a*fcuBQ6Lrmj2^ zc3IqU(ao&YmDMT#Vm$9G5>)w!Tk=u zi&uR1a^*&j6Vw9}Pl$EWjB=#Ew81X*&#pf~<5QDf@I6{H=RX&3Z?>o@mmGX7q<;6} zVhbxxqOEys@Y0fMA#ppMJVOBJFQnU)Qa=V+wMn9_auH@_EGoNI?T^qKO9gu z7yM7lG@c1Q+nUjMz7u_XZJF&ZOrcc@j59h`KGrucMH{L}9Cvk~ombp4f>kvayXI(x z#{E;Ett^hc-(faPWgJ##)iIMWec}$5oT0>St>KmbVzh+_Mq8>|q?XMpc>ML%3`uRQ zfK_!mGp#K&j^?WwjPC~Ul3IfJD{91Y7}@B>L?=!n^}ebC@3M*|ZJS#n#xU2EAD0Mk zuD~zp^+jywzl@3S=v}iNVb*}9l8r{J0Z9ONZ{?zfOMq$&GGMq-ze+PTMZ@hTqtfN> zAII%1H0~KTnnO=cInVaFbnIxwgqfiss zHQ_ViC!%}4=3B@$mCth5<=99Didy>~LI(Mn6O^ED;9HHURQ_+Q+N^8c$;-TUQKMNl zsWp5j9<7tl69TG_NyJ==j?}cZd={6Ceo|56@%kHbX(Az^gDVTPJN8Mw3w$FT(74%s zSbLV@ZXBRG6x~aOoo&PDSa_d&a8M0g}MO~Mw=|bO#K8FjvjRjnsafP0M`zrxAYn)jiH|Xk5OZq>bUWB&Dd5dgY_FEd+R0 z1Lbfug8MW#)7%Jh;rdLOHblHn3zs$1#S^qjBR0SPd2Dq~f8JPr_83bVL{X0JBUl?4&_fj?2uWpF(L@t>!@fZSQR)&$8#=Pa9s9 zz_KzL69uv#64J+FZsRlek@+a~$b?^79{DgRCIp&`dlbs#EhWU9oy#S1?zV2qY7!z# zOK{4px;g%tM6|m=*EyIUI2FAqZ+&@LxiLp*Q$)ihoxVJNYetn?y5-KX!B58vZhNuO z6oSo6F!~7=6rxY{qmpU{C5BCp3uxuqiGE4!*d?TS@D7hMMblbku=r8QAtW*a8;c(p ziE)UIr)=c{$(+7vJ%%GWJ@frMQ*TT@VP=VGwVoZPb+`y3n+ik$7$z%l>=?u=^(Wk8nbF3^`bbC4RENDY+>N>?kdx=CCm7{ z%gRG$&z3pzk^}77j6yRE-~gqCU!YU9k34%d!|J59_Z_>Fy|s#wSY}NxUQzcRQm{M` z!w`&id%?QRSM+Bz5%r;+Iz7sE)!}VQXss$0xgTxt%C>s*&L8KQ zhO%{;wj?_ug{c4~1>L44`3Cz1Db?}TXK5h2I&Y7|#I63q4|dh-&Cz1t2dG3}j6C7V zBK;l0cLNufp z0@14hnC5?RNh9{0>Jygn#-kXqwS|5MYQ$iN&s#~Y@eR3(X#526w2d~E0$w9Ff=pHb zfLM~3sne@;PNGIP)*~~?9(w*s&fU?_1lmt_w%fm%*gcoO&HpfhJYUlZmcMYk#jhNh zpCnqG{Yo%AgL7{fgZ7L;t{we(0amJJRQwo9o2wPcQLhhDpfcSica>*dRV)@81q(Y_ zBxu@6yU{VR!ki3dbSwQmwEKsY){Tf$eQEvMPY%@j?)_sC5@6iRIQj?1{vMR#EB+Fn z4{h{Kgh_@TvR8c37jMmmB z4Kf*wT#f$(1!eq!I>}B5T`4yILat&hdyWR*$$xg4jTyDy-VY;GvbYRUMTaEVd7(WU zEwZwKG2PvL=wL z=gCX;lzj8f(Cn&LN@#w@i2cvwycj7RPWllelD?^0NEQ(rv#4(gs+ed$znzqFT%~Qq znLES4b2%W4&9i_Y3I#7h3yv~QNY9R77}kOv!))}sJ#VB{^+GV0UU7fcDJ?d*O?;R?v((NMF!2gasEdIM`W;nB|pSl&=7qi-2Ak zoQIP3B3*M#eth|!a&Em+LwJ|x6-gS=JODVq1E8${z-Q0{$XdOgtcp3~C`oFEp+0!> zR4zeSizOzDSZEJ?o?>Pd#lgS%BmrqF@}GqiCN|H>Nq>Jf5F7m{!`KT3M4pf=Gqhy{S;~GUX8$*R|9v| zKqe?@v3CgP>mlkjto+WvFH`Bapv;eMlr7fhCYMz6K3GZGz=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;~K9hN+b-dj9LUEnlSV9+m{{J0=Q2#Ju2kC0&wq{In_NJs(<_0Q%*^^3;vc6?~ z`f$k{bw6%V;e`h7aC~-)|EduF&Vv*jix4cn5xNlk3;STY{A7EO)j!iB1$@D20%9@P5>?p4RfMCHlyYYb z3RoPIY$8gZWR$_fNn6#~c+S~r&e=;nIZ(6FOT95r^H-qub)Y_8(7(!!*UI%v`8#z| z2q24sCvk%=hx~QUI!_K%Ku{?pVDzFAQiND?y4dd$`6d?S=Bf2&CH2_vG(eVlO8);*Ow<#N|KCN>Y=9mR1a;YON7!#iDWXW(Z_fbtSHlAUxTb=N488X3 zVh-&64)4Jt<|sTEFFkr8jrQ+Fcv*G;5M&|jwIdt^wV}xP)1E`sfp5-1W)4)vi$?zU z)S+%!HDAX5d_yw{}*0gx*w@mB&-28Sw2}Dv11f!To%g!T`qA%q^M+(zq}$oO`fCQ-#eXi`Ddji@(d2)W@jrwLm{eey zWMx!h<5T{mtm%S}q0F5T#uT91qgtPRg`O69+ z{IkISwj4X`{usi+7)q&XN|`B!(KB|rbM{Fr5e0S`rB~XMubh737%OpV|Ku?Kscbys zZ2Y_4ShK-Pz5ZVY^N-oA%sKss<-C{(IZxzG?O*vLW?!}l zaynTEKZ4d&%^-9B&m8$CL4`Vs;Qr?V06=FnveaKcqM*n)qsTF%$f*2@?|-)#kUGOI z^OGG^Yytq_0{{iM$N}h~_R&H%d}{D4+mtZbJh0h4cmW0IY{)z)Qxb!@@pw|9>A9GOA!XoA037&(lsyss3PKPY01S{75$OWs702kd zqZNl(wg?p^c?!~$#(3a~0)|*%)BVxu@(7j2==uo*Mm}t%`A>YH1pv}c2=GUUmfc7M zK&Js#Z7Ij&*rl+kq_9NBv5n`jWabjsN7*?PJ}D1lDbIXTUcix2uBVd0l99Riq>Lq^ z{7U&}qKtB#^*Fon?@!80ILb5i#tS&!s)$$y zoC{pL@>;`t;XF6v1XA^9jrALxR%p#r%q?;Xi&JQei;Ifut&7XcG;?-~bBc$mO^eG* zhpH<|%B>DSYI$LCHA8VRLrHb%eKEs9ePMBP*-&+5YI(^){RvVx!$Grcad~-3_2CP( zx$L0N?x6XtXFlCXUcKn7DcJma4Uo50&@YzV-K)hfBYe+Dg>rSrGm;^#z?F#{9wUd>LDkPbgi!CL|s4@Zq`TNud@uFNzC5fUs zkX2qTj+7)zJ+`I|%Pb*yM=qwO1YIAtk~L#r3Pm3&$ZGIK_+J@Y$?+hoZ~n28l4S|8 ziX&-pFRc6{B_-(UVPp=%)h9aUMK zils$aA1ItE4^K+6st(7}hGqM;q8lcALE+o;8sR+gQwAWbSjBMg4o$13{6q_okfIn? zw>|G*#c?&QQTif73VcF1L^WNifL_NJ3J~-~FwS~$Aune8Ay{!t!W`XxgohqMXoQER z$X;5Aj!t>x13XpT7!Ms??<@~IRUVEMJ!7wmB^@0&3q~;R_-nSXG9kSXh$!j^fG}vq zeWak@fyK|m^Pj-W#WqAI&%*=PB@f#W)GeL^st`TC;n)XSx&V1edb&V#NeQYvFw#XN z1miiYiFh?aa6td~5j|uBWR@UO$4{*E7y;6fG(}%Pjg~oqP{`{Y(Xc41{Ur!r7C6f) zMFm2^q^u`d;|%~Df&)7I>qn@7XgEL+?>i`$#}wUQglCtK9rTQZ0jTtSY5u4}@UOsO zfX}KC9Xmx;=m~t*&~Cx>s5In#A_Uqg3z$ya7G7V)u-`MvaDClvYae$ z)}WMQ4g_)Cc8aAWNU$7j0)RyrIG_@WK!lS94}qTD=Lie`~TL`v@8Q5_n#FY*ntQKJi`&Fh;h@sMq+rGBRVP= z=yfN9BZegk2%_7~4FH!X`=cZeEft6oIyw+Ophd@PNPcrrRHUcMOMG!1(;AYDAa6LT zyjevHPzo=6UhVXYs9zt%>GEbZ!Wco5lLSu2;-R5Kmt~6Yyn^KO1q$h+?uY*)xT>^1_s+gf3^LxF;E28 zBI^Y$WWtgls$MWc762~8KYanw|J8@iyYmmUKtS#Mb6vc=&|hf5XM=roL?Fm$|F)>W z7Q#OP++Q#TV1l7sJjnTctCF>{5OoBDZ2+>w=Ou8;}HikpaN&m&F0y>;P$RT0o*yK(sx&0TYH|D34f`u{eG& z-b_489=4LA57zyNYguo^NZR`Hh{171K)OK$+q7daxLHVkQ( zwG&2r(TOyG6q+o!7Xmxl*B{Hqbsa^n@dpC0NFM6no$x9E5CcFg3Mn~x3Qr_z6k0TT z3`Q(w99BFCUjV3t@I?cBDPe+xgH0m8cW*#Z3L6FF_H05^{UyIt@bLd^RiOX2|Jf-E zYW_oh*(tw>p?@Et$xKK{NK8abK}FA4Nl8UPLz9`3l%1SPPEJEfM@y5OPC-FMO_!aV zo|lu8nOao*{er!FDWbJ-Lx~+H1p^y!Y51H;kCx4>R@RgValt-Q^Lx|U0TR+pkXash z;B7g|p1gRKFS79(q{T3QSh$uIwAu_<&H`L<>(fLblLGSKH{U@XvKM_0ndP;IOw>R7 zBKi@+mi?s0NwG|}tr|&sH;-k+GPeRr) zvI~8AxJGW8G8B_EQXcIcb+V&0h(-3cOw2RRH1rSbL4q|r2+*fDm%hI_1C*R?lXwGh zs206I*)TMmEhEng?_;xmLz(+7&6$Q}Thc_f|LiXRemBbbR1UgAXbz{bb2}g0=e3X? zA87aq2=4n1D~7RZe*1UIkZHvDvadhbnwtAORzetYw5777QapbZn=#RNyGlLT}*WZU(Xf?ptiVi*1#Z!4Ds;zocUX#vu))a(8>{rzbcza z;pm--N2>5^ci{@5C%mVGjQGmYIT}k>j2#vS7~ycjiZ5dj*7*sdXwU$mN`r~hn}xXNL^BZPGCMuuCnqsRJ4 z2>@=72e%GeLd!B|+S|dF*`sMPy1z%&Gd19umPnLFw+{V+5nhWS@R}_;sn0I*u-O$} znL{;9{lRqHCXQGNfmm+#&Hak)jQDPu(5sUS3j;X?enw@(fs?tfTrp(&#_nDHcaQ7r zdN1)!L}!}bvJIq4t>VH)sm2nAUx!s-a>;wos;W2NmtVT)()MQAB1K2a2t&^*zYO;b z02SiGpa6Z- z-4m`-c#4@QWx?1iO^0R|Yo%WMXH~BuI%N|%$>)y(k4qI#_S6e5GXfeihRoW3$JlYQ9751gZ5P@{=ls2 zb>%|r*qAF15yR$qWgH7d}-ZGP$LUs5HB z?c2uv{nfghxv0qPR^T`PIiK>!@60yT&JJGRo}%$A(nDI?{ne0Cmf+P&8=f=A!}gPT zV`M80C2Bt?rIh>ARC&dyO-vN$7di^e!LSw0#PztMhlVTG;_l^`ujM)o>$fYR(xW8O z_UCh^-8lYve)GFi*IbH}!QRu=_Xib_ai?X8!WmQgeQQii&Jur6Rq)CuhL6 znqvz=^K+)e(coV~25#jDGUNeZ)?B6v&S}>`DE;e6CO1~q5qEW7B&8nAE*5Lm8)x>JEPjW=n_d4$hqy6mJv?4Mpj^LR@ zMtygdrcs36rscygX2t-|C7eKMZ1?D#)0?N+FURcH)V^?yZ+Mv|#bw&Pc{k4mO6qB# zfKMiCfrheY0_0m=p0a{y6FO!E8LWF}4;2thM{93jF7W`*pzhKk=YeNENxWL>Ul4?P zLV!fNP*uo4P-su?Z;|is!hKqP0zi1mM$Umv%=3>4B2Iv)GZ*kCT1ltlY*!GCTfM+g z)Rue41oXu2s3-p^d$Oz&JwTsT1*3ggXP8`m(cJCY#n=Oa(hAEyp<|v%0C3bXgjq0r zV2apdmY!g?oR=!vhyQ}?ykQZ_bBlH{HX0OH;6Nj+UtpE1ZCyLjJV`V#w6 ziS~ZVyy2I(7HAL=J>hq=-a_L9ns4GsVKpa`Xr|op+MgSjAEUSGu(Sey5Xq45+=X!Y^n5$%y{j7?HbEUUV0 zJMR@`39yT#Ir%u`y?3&Hy7Cd3RiA!x;RAMT<7#b2oSI0&aNgUbsXb}RG#Y1vz2WAd zM$S;-W}#-tOR~V4_6InKEAvYeCIz;=DZVV?@ROwQk9?Wsce~ush-Pu^mGI!+;Gwow zGpgZx{&uNtBE~T%<Bm}6Sa%(?C!fFlV}UGe0GAx@R2vL$s-uBnhQyByVxWi^o|(#2tz$5 zvWA2nZoyLoOK_8b9GuqA12}sB4%}Tl^9jb0|mhCYI2#p8YVYh)6_(7G4JuxpR5NwQ;zn8-RnC(u@V�hEHH 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 literal 0 HcmV?d00001 diff --git a/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/hurt1.ogg b/common-1.20.1/src/main/resources/assets/antarchy/sounds/mob/springbug/hurt1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1ad6f0ecd3f7b522b1cf1a4bf0c6fc2b0acf22ad GIT binary patch literal 14827 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