From f62a91b0cacc6e02b7ce76ee27fff6a95c0ad125 Mon Sep 17 00:00:00 2001 From: Alexandros Karagiannis Date: Sun, 1 Feb 2026 20:31:55 +0200 Subject: [PATCH] Revert "Excavation focus changes" --- build.gradle | 2 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- raw-assets/game-icons-map.md | 31 +- raw-assets/public/description.md | 2 +- raw-assets/public/handle_crafting.png | Bin 0 -> 3132 bytes raw-assets/public/plating_crafting.png | Bin 2309 -> 0 bytes raw-assets/public/summary.txt | 1 - raw-assets/public/thavma.png | Bin 303540 -> 2308 bytes raw-assets/public/wand_crafting.png | Bin 3122 -> 3171 bytes .../blockstates/aer_infused_deepslate.json | 7 + .../thavma/blockstates/aer_infused_stone.json | 7 + .../resources/assets/thavma/lang/en_us.json | 27 +- .../models/block/aer_infused_deepslate.json | 7 + .../models/block/aer_infused_stone.json | 7 + .../models/item/aer_infused_deepslate.json | 3 + .../thavma/models/item/aer_infused_stone.json | 3 + .../assets/thavma/models/item/aer_shard.json | 6 + .../data/c/tags/block/ore_rates/singular.json | 2 + .../resources/data/c/tags/block/ores.json | 2 + .../tags/block/ores_in_ground/deepslate.json | 1 + .../c/tags/block/ores_in_ground/stone.json | 1 + .../data/c/tags/item/ore_rates/singular.json | 2 + .../resources/data/c/tags/item/ores.json | 2 + .../c/tags/item/ores_in_ground/deepslate.json | 1 + .../c/tags/item/ores_in_ground/stone.json | 1 + .../tags/block/mineable/pickaxe.json | 2 + .../tags/block/needs_stone_tool.json | 2 + .../recipes/misc/aer_shard_blasting.json | 32 + .../recipes/misc/aer_shard_smelting.json | 32 + .../data_maps/entity_type/aspect_content.json | 38 +- .../thavma/data_maps/item/aspect_content.json | 770 ++++++++++-------- .../thavma/aspect/aspect_relations.json | 67 -- .../blocks/aer_infused_deepslate.json | 52 ++ .../loot_table/blocks/aer_infused_stone.json | 52 ++ .../thavma/recipe/aer_shard_blasting.json | 18 + .../thavma/recipe/aer_shard_smelting.json | 18 + .../arcane_levitator_arcane_workbench.json | 7 +- .../elemental_core_arcane_workbench.json | 1 + .../elemental_stone_arcane_workbench.json | 1 + .../thavma/recipe/elemental_stone_bricks.json | 2 +- .../thavma/recipe/eternal_flame_crucible.json | 3 +- .../recipe/fabric_arcane_workbench.json | 1 + .../focus_enderchest_arcane_workbench.json | 2 +- .../recipe/focus_enderpearl_infusion.json | 4 +- .../recipe/focus_exchange_infusion.json | 2 +- .../recipe/goggles_arcane_workbench.json | 1 + .../recipe/gold_plating_arcane_workbench.json | 1 + .../greatwood_core_arcane_workbench.json | 1 + .../recipe/hungry_chest_arcane_workbench.json | 4 +- .../orichalcum_plating_arcane_workbench.json | 1 + .../thavma/recipe/rune_arcane_workbench.json | 1 + .../recipe/silverwood_core_infusion.json | 2 +- .../recipe/thavmite_ingot_crucible.json | 2 +- .../recipe/thavmite_katana_infusion.json | 4 +- .../recipe/thavmite_plating_infusion.json | 2 +- .../thavmite_vanguard_boots_infusion.json | 2 +- ...thavmite_vanguard_chestplate_infusion.json | 2 +- .../thavmite_vanguard_helmet_infusion.json | 2 +- .../thavmite_vanguard_leggings_infusion.json | 2 +- .../thavma/tags/block/infused_stones.json | 2 + .../data/thavma/tags/item/infused_stones.json | 2 + .../data/thavma/tags/item/shards.json | 1 + .../research/entry/thavma/arcane_lens.json | 2 +- .../research/entry/thavma/infusion.json | 2 +- .../entry/thavma/research_proficiency.json | 2 +- .../research/entry/thavma/research_table.json | 2 +- .../research/entry/thavma/technology.json | 2 +- .../thavma/research/entry/thavma/thavma.json | 2 +- .../thavma/research/entry/thavma/wands.json | 2 +- .../worldgen/configured_feature/ore_aer.json | 27 + .../configured_feature/ore_infused_stone.json | 1 + .../worldgen/placed_feature/ore_aer.json | 4 + .../thavma/impl/client/ClientHelper.kt | 4 - .../impl/client/event/T7ClientGameEvents.kt | 4 +- .../impl/client/event/T7ClientModEvents.kt | 4 +- .../thavma/impl/client/gui/WorkbenchScreen.kt | 4 +- .../thavma/impl/client/gui/layer/WandLayer.kt | 2 +- .../client/gui/research_table/AspectWidget.kt | 2 +- .../client/gui/research_table/SocketWidget.kt | 6 +- .../impl/client/gui/tooltip/TooltipHelper.kt | 8 +- .../client/renderer/ExcavationRenderer.kt | 103 --- .../impl/client/renderer/entity/VisER.kt | 3 +- .../thavma/impl/common/aspect/Aspect.kt | 33 +- .../thavma/impl/common/aspect/AspectMap.kt | 26 +- .../common/data/capability/AspectContainer.kt | 8 +- .../thavma/impl/common/entity/EntityHelper.kt | 11 - .../thavma/impl/common/entity/VisEntity.kt | 4 +- .../impl/common/event/T7CommonGameEvents.kt | 15 - .../impl/common/event/T7CommonModEvents.kt | 1 - .../impl/common/item/ExcavationFocus.kt | 61 -- .../thavma/impl/common/item/ItemExtensions.kt | 8 - .../thavma/impl/common/item/WandItem.kt | 40 +- .../thavma/impl/common/level/Excavation.kt | 50 -- .../impl/common/research/ResearchState.kt | 5 +- .../thavma/impl/common/scanning/ScanHelper.kt | 15 +- .../thavma/impl/common/util/T7StreamCodecs.kt | 17 - .../impl/common/util/Vector2iExtensions.kt | 2 +- .../impl/common/util/Vector3fExtensions.kt | 6 - .../data/providers/T7BlockLootSubProvider.kt | 4 +- .../init/data/providers/T7DataMapProvider.kt | 349 +++++++- .../T7DatapackBuiltinEntriesProvider.kt | 14 +- .../init/data/providers/T7RecipeProvider.kt | 42 +- .../data/providers/aspects/ArmorAspects.kt | 298 ++++--- .../providers/aspects/AspectDatagenHelper.kt | 116 --- .../data/providers/aspects/AspectRelations.kt | 40 - .../providers/aspects/BlockAndItemAspects.kt | 231 ------ .../providers/aspects/BlockFamilyAspects.kt | 340 +++++--- .../data/providers/aspects/EntityAspects.kt | 64 +- .../data/providers/aspects/MineralAspects.kt | 384 +++++---- .../data/providers/aspects/ToolAspects.kt | 351 +++++--- .../impl/init/data/worldgen/ore/InfusedOre.kt | 4 +- .../thavma/impl/init/registries/T7DataMaps.kt | 25 +- .../impl/init/registries/T7Registries.kt | 3 +- .../impl/init/registries/deferred/Aspects.kt | 71 +- .../impl/init/registries/deferred/T7Items.kt | 2 +- .../assets/thavma/textures/aspect/aer.png | Bin 0 -> 6590 bytes .../assets/thavma/textures/aspect/aether.png | Bin 5409 -> 4205 bytes .../assets/thavma/textures/aspect/alienis.png | Bin 0 -> 6685 bytes .../assets/thavma/textures/aspect/alkimia.png | Bin 6239 -> 4882 bytes .../assets/thavma/textures/aspect/auram.png | Bin 0 -> 5313 bytes .../assets/thavma/textures/aspect/aversio.png | Bin 0 -> 4905 bytes .../assets/thavma/textures/aspect/bestia.png | Bin 0 -> 4370 bytes .../assets/thavma/textures/aspect/corpus.png | Bin 7654 -> 0 bytes .../thavma/textures/aspect/desiderium.png | Bin 0 -> 4584 bytes .../thavma/textures/aspect/exanimis.png | Bin 0 -> 5188 bytes .../assets/thavma/textures/aspect/gelum.png | Bin 0 -> 5046 bytes .../thavma/textures/aspect/hostilis.png | Bin 5883 -> 0 bytes .../aspect/{civilis.png => humanus.png} | Bin .../assets/thavma/textures/aspect/mortuus.png | Bin 0 -> 5532 bytes .../assets/thavma/textures/aspect/motus.png | Bin 0 -> 4999 bytes .../assets/thavma/textures/aspect/ornatus.png | Bin 4217 -> 0 bytes .../thavma/textures/aspect/perditio.png | Bin 0 -> 6759 bytes .../thavma/textures/aspect/permutatio.png | Bin 0 -> 5117 bytes .../thavma/textures/aspect/potentia.png | Bin 0 -> 4981 bytes .../thavma/textures/aspect/praecantatio.png | Bin 0 -> 5409 bytes .../assets/thavma/textures/aspect/sensus.png | Bin 0 -> 7039 bytes .../assets/thavma/textures/aspect/vacuos.png | Bin 0 -> 5685 bytes .../assets/thavma/textures/aspect/vas.png | Bin 5989 -> 0 bytes .../thavma/textures/aspect/vinculum.png | Bin 0 -> 5171 bytes .../assets/thavma/textures/aspect/vitium.png | Bin 0 -> 4926 bytes .../assets/thavma/textures/aspect/volatus.png | Bin 0 -> 3940 bytes 142 files changed, 2250 insertions(+), 1833 deletions(-) create mode 100644 raw-assets/public/handle_crafting.png delete mode 100644 raw-assets/public/plating_crafting.png delete mode 100644 raw-assets/public/summary.txt create mode 100644 src/generated/resources/assets/thavma/blockstates/aer_infused_deepslate.json create mode 100644 src/generated/resources/assets/thavma/blockstates/aer_infused_stone.json create mode 100644 src/generated/resources/assets/thavma/models/block/aer_infused_deepslate.json create mode 100644 src/generated/resources/assets/thavma/models/block/aer_infused_stone.json create mode 100644 src/generated/resources/assets/thavma/models/item/aer_infused_deepslate.json create mode 100644 src/generated/resources/assets/thavma/models/item/aer_infused_stone.json create mode 100644 src/generated/resources/assets/thavma/models/item/aer_shard.json create mode 100644 src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_blasting.json create mode 100644 src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_smelting.json delete mode 100644 src/generated/resources/data/thavma/data_maps/thavma/aspect/aspect_relations.json create mode 100644 src/generated/resources/data/thavma/loot_table/blocks/aer_infused_deepslate.json create mode 100644 src/generated/resources/data/thavma/loot_table/blocks/aer_infused_stone.json create mode 100644 src/generated/resources/data/thavma/recipe/aer_shard_blasting.json create mode 100644 src/generated/resources/data/thavma/recipe/aer_shard_smelting.json create mode 100644 src/generated/resources/data/thavma/worldgen/configured_feature/ore_aer.json create mode 100644 src/generated/resources/data/thavma/worldgen/placed_feature/ore_aer.json delete mode 100644 src/main/java/me/alegian/thavma/impl/client/renderer/ExcavationRenderer.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/common/item/ExcavationFocus.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/common/item/ItemExtensions.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/common/level/Excavation.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/common/util/T7StreamCodecs.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/common/util/Vector3fExtensions.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectDatagenHelper.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectRelations.kt delete mode 100644 src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockAndItemAspects.kt create mode 100644 src/main/resources/assets/thavma/textures/aspect/aer.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/alienis.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/auram.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/aversio.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/bestia.png delete mode 100644 src/main/resources/assets/thavma/textures/aspect/corpus.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/desiderium.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/exanimis.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/gelum.png delete mode 100644 src/main/resources/assets/thavma/textures/aspect/hostilis.png rename src/main/resources/assets/thavma/textures/aspect/{civilis.png => humanus.png} (100%) create mode 100644 src/main/resources/assets/thavma/textures/aspect/mortuus.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/motus.png delete mode 100644 src/main/resources/assets/thavma/textures/aspect/ornatus.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/perditio.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/permutatio.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/potentia.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/praecantatio.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/sensus.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/vacuos.png delete mode 100644 src/main/resources/assets/thavma/textures/aspect/vas.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/vinculum.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/vitium.png create mode 100644 src/main/resources/assets/thavma/textures/aspect/volatus.png diff --git a/build.gradle b/build.gradle index 2a03fc20..facff986 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { id 'eclipse' id 'idea' id 'maven-publish' - id 'net.neoforged.gradle.userdev' version '7.1.20' + id 'net.neoforged.gradle.userdev' version '7.0.192' id 'org.jetbrains.kotlin.jvm' version "${kotlin_version}" } diff --git a/gradle.properties b/gradle.properties index fe7e7735..a2dec444 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ neogradle.subsystems.parchment.mappingsVersion=2024.11.17 #### minecraft_version=1.21.1 use_runtime_optional_deps=true -neo_version=21.1.217 +neo_version=21.1.216 kff_version=5.10.0 jei_version=19.25.1.332 emi_version=1.1.22+1.21.1 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 23449a2b..d4081da4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/raw-assets/game-icons-map.md b/raw-assets/game-icons-map.md index 2810b5bd..30de6896 100644 --- a/raw-assets/game-icons-map.md +++ b/raw-assets/game-icons-map.md @@ -4,26 +4,41 @@ transparent background, black blur 16 shadows and 64px dimensions. ## Map between Game-Icons names and Aspect names - ignis: Small fire +- aer: Gold shell - aqua: At sea - terra: Mountains +- ordo: Overmind +- perditio: Shatter +- vacuos: Glass ball - lux: Candle light +- motus: Dodging +- gelum: Snowflake 2 - vitreus: Emerald - metallum: Metal bar - victus: Shining heart -- aether: Fairy wand -- alkimia: Cauldron +- mortuus: Pirate grave +- potentia: Thor fist +- permutatio: Cycle +- praecantatio: Fairy wand +- auram: Sun +- alkimia: Round potion +- vitium: Tentacle strike - tenebrae: Eclipse +- alienis: Orbital +- volatus: Feather - herba: Three leaves - instrumentum: Dig dug - fabrico: Hammer and nails - machina: Gears +- vinculum: Wolf trap +- spiritus: Spectre - cognitio: Brain -- ornatus: Owl +- sensus: Owl +- aversio: Broad dagger - praemunio: Breastplate -- civilis: Two shadows -- vas: Locked Chest -- hostilis: Dread Skull -- corpus: Dinosaur Bones -- ornatus: Painted Pottery +- desiderium: Grab +- exanimis: Dread skull +- bestia: Wolf +- humanus: Two shadows - unknown: Help \ No newline at end of file diff --git a/raw-assets/public/description.md b/raw-assets/public/description.md index 0e75c441..eb97cebb 100644 --- a/raw-assets/public/description.md +++ b/raw-assets/public/description.md @@ -1 +1 @@ -A complete rewrite & reimagination of my favorite classic magic mod, for Neoforge! Thavma means miracle in greek. This mod is all about manipulating the elements of nature, and creating powerful arcane contraptions. ![a thavma user, on a platform with magical devices](https://cdn.modrinth.com/data/cached_images/1f98a12ef6fe7e555430a66580d968f0ee9ae85a.png) To get started, craft a basic wand, and right click a bookcase, to obtain the guide book:  ![](https://media.forgecdn.net/attachments/description/1271073/description_1eda43c7-b5fc-42ab-9d16-d3ab41f17957.png)![](https://media.forgecdn.net/attachments/description/1271073/description_8876b566-cc23-4ca8-a6c9-00c7d3d10d2c.png) That book will allow you to research and discover magical equipment and blocks! ![research book preview](https://cdn.modrinth.com/data/cached_images/f0685b6557be9868b6833aa9a349287db2632e55.png) **This mod is in alpha**, so many features are work-in-progress. I am doing my best to reach a feature complete version asap. ![the infusion altar, on a platform of greatwood planks](https://cdn.modrinth.com/data/cached_images/39b4275c431548e227ee29bfdd553216099d1e86_0.webp) All code is original and open source. Most assets are original, except some that are from open art libraries online. \ No newline at end of file +A complete rewrite & reimagination of my favorite classic magic mod, for Neoforge! Thavma means miracle in greek. This mod is all about manipulating the elements of nature, and creating powerful arcane contraptions. To get started, craft a basic wand, and right click a bookcase, to obtain the guide book: ![image](https://media.forgecdn.net/attachments/description/1271073/description_c918c158-1a5e-4a49-8df0-6bc6a6b5ec53.png) ![image](https://media.forgecdn.net/attachments/description/1271073/description_20c7c6ce-9b1d-40e4-81f8-f6096a594951.png) That book will allow you to research and discover magical equipment and blocks! ![image](https://media.forgecdn.net/attachments/description/1271073/description_5b575c0c-3140-4658-86d8-98905833e667.png) **This mod is in early alpha**, do not expect it to be playable yet. I am doing my best to reach a stable release asap. ![the infusion altar, on a platform of greatwood planks](https://media.forgecdn.net/attachments/description/1271073/description_465ac439-b6c6-44b6-9b4a-05dcccfa81f2.png) All code is original and open source. Most assets are original, except some that are from open art libraries online. \ No newline at end of file diff --git a/raw-assets/public/handle_crafting.png b/raw-assets/public/handle_crafting.png new file mode 100644 index 0000000000000000000000000000000000000000..2254a4d3c453cf7b23b487cb6482ce16ae85ae12 GIT binary patch literal 3132 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 diff --git a/raw-assets/public/summary.txt b/raw-assets/public/summary.txt deleted file mode 100644 index 94253ff9..00000000 --- a/raw-assets/public/summary.txt +++ /dev/null @@ -1 +0,0 @@ -Unseal ancient knowledge, harness the primal aspects, and make powerful arcane machinery! diff --git a/raw-assets/public/thavma.png b/raw-assets/public/thavma.png index bc7c9ad07b3acb9b8fd41bdd77ced28f25d86013..7f26c325b27691537e42f1b0b0375934a3f1a02a 100644 GIT binary patch literal 2308 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4Yzkn2Dage(c!@6@aFBup(_IbKE zhE&XXdt+m7i-UmcLFUBAc>>ZxE$p0=7^WZH_HmWck4rrtubfW*yRV+X;gppv1H%tn zMg|5)pt(&f3=AxsKtqHW7z9)p7!*7h7#t=rFf=HPDxh^ZWXzT`cza|0OHKymchBd{ zJD?yw8V^m|UNT+=g@(Z^P{=HP^*%oQ|NkvJM^mN17GM4uWpA#3VUc+JfBV(@|Le{H z!zX4m%W_27z5YH|?%1UA qsk!#v+Lnpohwf-uJ2>k8e~kRhGT(HyY~}%*H4L7velF{r5}E*1O(eSj literal 303540 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 F{{j9YWg7qh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/vacuos.png b/src/main/resources/assets/thavma/textures/aspect/vacuos.png new file mode 100644 index 0000000000000000000000000000000000000000..345fc526d41c3c9d7a4a221f567379306c8fd84f GIT binary patch literal 5685 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 Tsh`!x00000NkvXXu0mjfWo>}R diff --git a/src/main/resources/assets/thavma/textures/aspect/vinculum.png b/src/main/resources/assets/thavma/textures/aspect/vinculum.png new file mode 100644 index 0000000000000000000000000000000000000000..713676dac61480d276c88824845fb6499afec1c6 GIT binary patch literal 5171 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/volatus.png b/src/main/resources/assets/thavma/textures/aspect/volatus.png new file mode 100644 index 0000000000000000000000000000000000000000..4cef84b9d47b76722311f30404e6197ff47611ec GIT binary patch literal 3940 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

g2gi3tlM0ZFo2=j_`Ax{tBCI^vOj4bh36;YSx4 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 literal 3122 zcmZWs2~<*f7k_3hQyST3+9=kT&evkAH7rSy^L&T58yad^%@@PeR zp}69u{Og=#FYHkU_ha9YEoyp=6>Zud-oB<+#*e3RNc6RK|fYyKCO=H>JAxHSK z_*1b6U?;McyFko~lRF_RW71bsU0oNVzkTyw{!RxtHVMt_n!jP4I_Omec}Sdxd)3BAcqy}g{`QZkJ%^0NIbp@x*)SG8 zVN<$hT4VIeuK^k-f*SQ+sOx}EN@OblF{P2}FRD&OjPCgelt*_Bci96kaxWuF;ncAdv*883A$r2Gfi@+@^^=} zj}HSAEYAgJ96cEw$(spwdWh($GF9hWjDw{3b>EqCcbb{IZ!ZnG=lLV&J)oU{oHTw8 zf&;hFXx>Q^ephu_^;olNt(7*3Ay@Fd(+n3e$q&rY%bf@G-lSVd)cx~&mu_K@e}}YaOyd&t%=`nNfLfZFjarf%-l)PuDpEVA-xhJ-x)7k0|9#5-n{(ll1@C9|2jtx zo!K)e^qKDyCN#~5c<~m&WYCf?#ZyNY(+wi0-R#^$4rJQ+k7UGoH+QpGtQGXTZD8H> zw!JdaJg1itOkvH>)BF1Fao2=cy%99)94vQcgMultlZpm?Y&!mSn~-r%V@=Z>x}4u}DceKtEnn6o`Eh?miiT0~{QUe#*<(XPLu}B;gB`YF zz3}qUd%|Byj6;bm3 zAY(0avrqW8qquS&v~Vz&A1U?!POrSx7`4E-4-#0u>&!Lcd`NP#&0pP1McfgV`^+4i zkrbQV-l)d0U0rA8A(mwF(ce_s9|6?F+&n?R5q>J52VQ@1 znNxv;=x+hj#~N7?<`KzpzWlz{)+cI-(3x7x96q*0C?XwFg%7X3FGCZbG&&Qo6Jt*P zGXtuBjAVda!i5m*6^m{deH!Z$#LNk+Qci`Pu|6fQl88=+LLn8!gksZbHx z)LLQ-$}b@mE#NtKEo1ouE#m%?yr@@|P3L6z>4|bk6I!;WhCSxJ;o3x%!B986Nbp>I z%=YYE(R0D>{Pu~{YO7~vxia{DHmRFRFJB;v?q$-MH5hHn;9%>9xBG3tTJcm-ZAqPZ zRU6vKpI0DXwk|nWb^bvEH2gU4vBhp-_Rsqoa1k^lY`RBx5H~E+9U2h#w?K_X=!c*N zvve;azM^m)`CQOPaZg`SZD6A%VGmTe1*{?@Hb_`EK(Ar;=8Fq=4KOer%)2h@Dd5~N zaRmipI;QCUS8--1hpSH!QI!sh*{SQ%J6wC=$~z`6z-a7znv-Q$<3#?bQ<)C=uk5Rs zq=AymQrw1Oa|NuoTZ0Z_HACAk5`(F@iT({tbRthfJRv^l3kvCzlL)~(DT!8e;dJG> zINO~;N>L#D?)!Db7Rul4!ryE$9E*jz;HT%YBH+z}k?2rB|2Cpg7_oUAZSF8gb4o(D z^G=5HyO?Fww_D6&Bk|fy)|Zx?QeILII%|>tEOdUbEIJ?pIaLhF?rWj!q(V(9F2S*Av;jI&+a>}-XE!A57V<=WcX4U`r*#y4LB4<{Tyetg?6F;-wXrh!Q5X2PSy ztR{qHNTJdBAS9{N19q@)9QqgM=riCkF)4^@ad?- zI4f#lzY1x8j&Md@O>LnQDBU3)&0yHRU?#}|nK1NL()z1ULYd>XTL)*+-KFIL%)XnY}Lt8p;7)y!QGEW`0K2KpJpB!4c{C z{5%AzO-xe9vH@<(hz^u9WFqH8+#Y_Va_e zpLgN_Cc#p)S$)3-!r27GZk4JDdcF+#x>B&Z`s~=-S0OUra9hD$tYM>;B@70eAE8oj zx(Uq8%x)$CfbF~CVW=@S*}EmBKEyCL6eATo7yuQ|nOIxjauc)=uicUX6cN(B*B{0w zP%x2R0qi=rP9M<9**C{tkm@Bt!OrD)02oDsc9 TH)!Bb0AP9MtSRZV=gt2CQ~MES diff --git a/src/generated/resources/assets/thavma/blockstates/aer_infused_deepslate.json b/src/generated/resources/assets/thavma/blockstates/aer_infused_deepslate.json new file mode 100644 index 00000000..53342505 --- /dev/null +++ b/src/generated/resources/assets/thavma/blockstates/aer_infused_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "thavma:block/aer_infused_deepslate" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/thavma/blockstates/aer_infused_stone.json b/src/generated/resources/assets/thavma/blockstates/aer_infused_stone.json new file mode 100644 index 00000000..c166d59b --- /dev/null +++ b/src/generated/resources/assets/thavma/blockstates/aer_infused_stone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "thavma:block/aer_infused_stone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/thavma/lang/en_us.json b/src/generated/resources/assets/thavma/lang/en_us.json index ff9662ae..964113ad 100644 --- a/src/generated/resources/assets/thavma/lang/en_us.json +++ b/src/generated/resources/assets/thavma/lang/en_us.json @@ -1,26 +1,42 @@ { + "aspect.thavma.aer": "Aer", "aspect.thavma.aether": "Aether", + "aspect.thavma.alienis": "Alienis", "aspect.thavma.alkimia": "Alkimia", "aspect.thavma.aqua": "Aqua", - "aspect.thavma.civilis": "Civilis", + "aspect.thavma.auram": "Auram", + "aspect.thavma.aversio": "Aversio", + "aspect.thavma.bestia": "Bestia", "aspect.thavma.cognitio": "Cognitio", - "aspect.thavma.corpus": "Corpus", + "aspect.thavma.desiderium": "Desiderium", + "aspect.thavma.exanimis": "Exanimis", "aspect.thavma.fabrico": "Fabrico", + "aspect.thavma.gelum": "Gelum", "aspect.thavma.herba": "Herba", - "aspect.thavma.hostilis": "Hostilis", + "aspect.thavma.humanus": "Humanus", "aspect.thavma.ignis": "Ignis", "aspect.thavma.instrumentum": "Instrumentum", "aspect.thavma.lux": "Lux", "aspect.thavma.machina": "Machina", "aspect.thavma.metallum": "Metallum", - "aspect.thavma.ornatus": "Ornatus", + "aspect.thavma.mortuus": "Mortuus", + "aspect.thavma.motus": "Motus", + "aspect.thavma.permutatio": "Permutatio", + "aspect.thavma.potentia": "Potentia", + "aspect.thavma.praecantatio": "Praecantatio", "aspect.thavma.praemunio": "Praemunio", + "aspect.thavma.sensus": "Sensus", "aspect.thavma.tenebrae": "Tenebrae", "aspect.thavma.terra": "Terra", - "aspect.thavma.vas": "Vas", + "aspect.thavma.vacuos": "Vacuos", "aspect.thavma.victus": "Victus", + "aspect.thavma.vinculum": "Vinculum", + "aspect.thavma.vitium": "Vitium", "aspect.thavma.vitreus": "Vitreus", + "aspect.thavma.volatus": "Volatus", "attribute.thavma.revealing": "Revealing", + "block.thavma.aer_infused_deepslate": "Aer Infused Deepslate", + "block.thavma.aer_infused_stone": "Aer Infused Stone", "block.thavma.aether_infused_deepslate": "Aether Infused Deepslate", "block.thavma.aether_infused_stone": "Aether Infused Stone", "block.thavma.aqua_infused_deepslate": "Aqua Infused Deepslate", @@ -71,6 +87,7 @@ "container.thavma.research_table.socketWidget.remove": "Click to remove", "entity.thavma.angry_zombie": "Angry Zombie", "gui.layer.thavma.arcane_lens.no_aspects": "Nothing can be learned from this", + "item.thavma.aer_shard": "Aer Shard", "item.thavma.aether_shard": "Aether Shard", "item.thavma.angry_zombie_spawn_egg": "Angry Zombie Spawn Egg", "item.thavma.apprentice_boots": "[WIP]Apprentice Boots", diff --git a/src/generated/resources/assets/thavma/models/block/aer_infused_deepslate.json b/src/generated/resources/assets/thavma/models/block/aer_infused_deepslate.json new file mode 100644 index 00000000..10897368 --- /dev/null +++ b/src/generated/resources/assets/thavma/models/block/aer_infused_deepslate.json @@ -0,0 +1,7 @@ +{ + "parent": "thavma:block/cube_all_emissive_overlay", + "textures": { + "layer0": "minecraft:block/deepslate", + "layer1": "thavma:block/infused_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/thavma/models/block/aer_infused_stone.json b/src/generated/resources/assets/thavma/models/block/aer_infused_stone.json new file mode 100644 index 00000000..cefaad15 --- /dev/null +++ b/src/generated/resources/assets/thavma/models/block/aer_infused_stone.json @@ -0,0 +1,7 @@ +{ + "parent": "thavma:block/cube_all_emissive_overlay", + "textures": { + "layer0": "minecraft:block/stone", + "layer1": "thavma:block/infused_stone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/thavma/models/item/aer_infused_deepslate.json b/src/generated/resources/assets/thavma/models/item/aer_infused_deepslate.json new file mode 100644 index 00000000..4d658156 --- /dev/null +++ b/src/generated/resources/assets/thavma/models/item/aer_infused_deepslate.json @@ -0,0 +1,3 @@ +{ + "parent": "thavma:block/aer_infused_deepslate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/thavma/models/item/aer_infused_stone.json b/src/generated/resources/assets/thavma/models/item/aer_infused_stone.json new file mode 100644 index 00000000..f89dc107 --- /dev/null +++ b/src/generated/resources/assets/thavma/models/item/aer_infused_stone.json @@ -0,0 +1,3 @@ +{ + "parent": "thavma:block/aer_infused_stone" +} \ No newline at end of file diff --git a/src/generated/resources/assets/thavma/models/item/aer_shard.json b/src/generated/resources/assets/thavma/models/item/aer_shard.json new file mode 100644 index 00000000..3892f60f --- /dev/null +++ b/src/generated/resources/assets/thavma/models/item/aer_shard.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "thavma:item/shard" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/ore_rates/singular.json b/src/generated/resources/data/c/tags/block/ore_rates/singular.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/c/tags/block/ore_rates/singular.json +++ b/src/generated/resources/data/c/tags/block/ore_rates/singular.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/c/tags/block/ores.json b/src/generated/resources/data/c/tags/block/ores.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/c/tags/block/ores.json +++ b/src/generated/resources/data/c/tags/block/ores.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json b/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json index 861c96e8..5179bc9c 100644 --- a/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json +++ b/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json @@ -1,6 +1,7 @@ { "values": [ "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json b/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json index 468d2df2..b5a3285c 100644 --- a/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json +++ b/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json @@ -1,6 +1,7 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone" diff --git a/src/generated/resources/data/c/tags/item/ore_rates/singular.json b/src/generated/resources/data/c/tags/item/ore_rates/singular.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/c/tags/item/ore_rates/singular.json +++ b/src/generated/resources/data/c/tags/item/ore_rates/singular.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/c/tags/item/ores.json b/src/generated/resources/data/c/tags/item/ores.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/c/tags/item/ores.json +++ b/src/generated/resources/data/c/tags/item/ores.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json b/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json index 861c96e8..5179bc9c 100644 --- a/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json +++ b/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json @@ -1,6 +1,7 @@ { "values": [ "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json b/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json index 468d2df2..b5a3285c 100644 --- a/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json +++ b/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json @@ -1,6 +1,7 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone" diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json +++ b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_blasting.json b/src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_blasting.json new file mode 100644 index 00000000..1426aabb --- /dev/null +++ b/src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_infused_stones": { + "conditions": { + "items": [ + { + "items": "#thavma:infused_stones" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "thavma:aer_shard_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_infused_stones" + ] + ], + "rewards": { + "recipes": [ + "thavma:aer_shard_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_smelting.json b/src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_smelting.json new file mode 100644 index 00000000..edccc38f --- /dev/null +++ b/src/generated/resources/data/thavma/advancement/recipes/misc/aer_shard_smelting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_infused_stones": { + "conditions": { + "items": [ + { + "items": "#thavma:infused_stones" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "thavma:aer_shard_smelting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_infused_stones" + ] + ], + "rewards": { + "recipes": [ + "thavma:aer_shard_smelting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/data_maps/entity_type/aspect_content.json b/src/generated/resources/data/thavma/data_maps/entity_type/aspect_content.json index 2eb02295..98ae4a90 100644 --- a/src/generated/resources/data/thavma/data_maps/entity_type/aspect_content.json +++ b/src/generated/resources/data/thavma/data_maps/entity_type/aspect_content.json @@ -17,8 +17,8 @@ "minecraft:chicken": {}, "minecraft:cod": {}, "minecraft:cow": { - "thavma:terra": 8, - "thavma:victus": 8 + "thavma:bestia": 15, + "thavma:terra": 15 }, "minecraft:creeper": { "thavma:herba": 15, @@ -30,16 +30,17 @@ "minecraft:elder_guardian": {}, "minecraft:ender_dragon": {}, "minecraft:enderman": { - "thavma:civilis": 4, - "thavma:hostilis": 4, - "thavma:tenebrae": 8 + "thavma:alienis": 8, + "thavma:desiderium": 4, + "thavma:humanus": 4, + "thavma:motus": 12 }, "minecraft:endermite": {}, "minecraft:evoker": {}, "minecraft:fox": {}, "minecraft:frog": {}, "minecraft:ghast": { - "thavma:hostilis": 12, + "thavma:exanimis": 12, "thavma:ignis": 8 }, "minecraft:glow_squid": {}, @@ -58,8 +59,9 @@ "minecraft:parrot": {}, "minecraft:phantom": {}, "minecraft:pig": { - "thavma:terra": 8, - "thavma:victus": 8 + "thavma:bestia": 10, + "thavma:desiderium": 5, + "thavma:terra": 10 }, "minecraft:piglin": {}, "minecraft:piglin_brute": {}, @@ -70,14 +72,15 @@ "minecraft:ravager": {}, "minecraft:salmon": {}, "minecraft:sheep": { - "thavma:terra": 8, - "thavma:victus": 8 + "thavma:bestia": 10, + "thavma:terra": 10 }, "minecraft:shulker": {}, "minecraft:silverfish": {}, "minecraft:skeleton": { - "thavma:hostilis": 8, - "thavma:terra": 8 + "thavma:exanimis": 20, + "thavma:humanus": 5, + "thavma:terra": 5 }, "minecraft:skeleton_horse": {}, "minecraft:slime": { @@ -89,8 +92,8 @@ "minecraft:snow_golem": {}, "minecraft:spectral_arrow": {}, "minecraft:spider": { - "thavma:hostilis": 8, - "thavma:terra": 8 + "thavma:bestia": 10, + "thavma:vinculum": 10 }, "minecraft:squid": {}, "minecraft:stray": {}, @@ -101,7 +104,7 @@ "minecraft:turtle": {}, "minecraft:vex": {}, "minecraft:villager": { - "thavma:civilis": 12 + "thavma:humanus": 15 }, "minecraft:vindicator": {}, "minecraft:wandering_trader": {}, @@ -112,8 +115,9 @@ "minecraft:wolf": {}, "minecraft:zoglin": {}, "minecraft:zombie": { - "thavma:hostilis": 8, - "thavma:terra": 8 + "thavma:exanimis": 20, + "thavma:humanus": 10, + "thavma:terra": 5 }, "minecraft:zombie_horse": {}, "minecraft:zombie_villager": {}, diff --git a/src/generated/resources/data/thavma/data_maps/item/aspect_content.json b/src/generated/resources/data/thavma/data_maps/item/aspect_content.json index bec323ff..40bf2efd 100644 --- a/src/generated/resources/data/thavma/data_maps/item/aspect_content.json +++ b/src/generated/resources/data/thavma/data_maps/item/aspect_content.json @@ -4,11 +4,12 @@ "thavma:terra": 2 }, "#c:concrete_powders": { - "thavma:terra": 2 + "thavma:terra": 3 }, "#c:concretes": { + "thavma:aether": 1, "thavma:aqua": 1, - "thavma:terra": 2 + "thavma:terra": 3 }, "#c:crops/wheat": { "thavma:herba": 2, @@ -19,33 +20,35 @@ "thavma:terra": 1 }, "#c:dusts/redstone": { - "thavma:machina": 1, + "thavma:potentia": 4, "thavma:terra": 1 }, "#c:eggs": { - "thavma:corpus": 2, + "thavma:bestia": 2, "thavma:victus": 4 }, "#c:ender_pearls": { - "thavma:corpus": 2, - "thavma:instrumentum": 4, - "thavma:tenebrae": 4 + "thavma:alienis": 4, + "thavma:motus": 4 }, "#c:feathers": { - "thavma:corpus": 2, - "thavma:instrumentum": 1 + "thavma:aer": 4, + "thavma:volatus": 4 }, "#c:gems/amethyst": { + "thavma:sensus": 1, "thavma:vitreus": 4 }, "#c:gems/diamond": { + "thavma:desiderium": 8, "thavma:vitreus": 8 }, "#c:gems/emerald": { + "thavma:desiderium": 4, "thavma:vitreus": 8 }, "#c:gems/lapis": { - "thavma:cognitio": 1, + "thavma:sensus": 2, "thavma:vitreus": 4 }, "#c:gems/quartz": { @@ -63,24 +66,27 @@ }, "#c:gunpowders": { "thavma:alkimia": 2, - "thavma:ignis": 4, + "thavma:potentia": 4, "thavma:terra": 1 }, "#c:ingots/copper": { - "thavma:metallum": 4 + "thavma:metallum": 4, + "thavma:permutatio": 4 }, "#c:ingots/gold": { + "thavma:desiderium": 8, "thavma:metallum": 4 }, "#c:ingots/iron": { "thavma:metallum": 8 }, "#c:ingots/netherite": { + "thavma:desiderium": 8, "thavma:metallum": 16, "thavma:tenebrae": 4 }, "#c:leathers": { - "thavma:corpus": 3 + "thavma:bestia": 8 }, "#c:netherracks": { "thavma:ignis": 1, @@ -90,53 +96,60 @@ "thavma:terra": 1 }, "#c:ores/coal": { - "thavma:ignis": 2, + "thavma:ignis": 8, + "thavma:potentia": 8, "thavma:terra": 4 }, "#c:ores/copper": { "thavma:metallum": 4, - "thavma:terra": 2 + "thavma:permutatio": 4, + "thavma:terra": 4 }, "#c:ores/diamond": { - "thavma:terra": 2, + "thavma:desiderium": 8, + "thavma:terra": 4, "thavma:vitreus": 8 }, "#c:ores/emerald": { - "thavma:terra": 2, + "thavma:desiderium": 4, + "thavma:terra": 4, "thavma:vitreus": 8 }, "#c:ores/gold": { + "thavma:desiderium": 8, "thavma:metallum": 4, - "thavma:terra": 2 + "thavma:terra": 4 }, "#c:ores/iron": { "thavma:metallum": 8, - "thavma:terra": 2 + "thavma:terra": 4 }, "#c:ores/lapis": { - "thavma:cognitio": 1, - "thavma:terra": 2, + "thavma:sensus": 2, + "thavma:terra": 4, "thavma:vitreus": 4 }, "#c:ores/netherite_scrap": { "thavma:metallum": 2, "thavma:tenebrae": 1, - "thavma:terra": 4 + "thavma:terra": 6 }, "#c:ores/quartz": { "thavma:ignis": 1, - "thavma:terra": 2, + "thavma:terra": 4, "thavma:vitreus": 4 }, "#c:ores/redstone": { - "thavma:machina": 1, - "thavma:terra": 3 + "thavma:potentia": 4, + "thavma:terra": 4 }, "#c:raw_materials/copper": { "thavma:metallum": 2, + "thavma:permutatio": 2, "thavma:terra": 2 }, "#c:raw_materials/gold": { + "thavma:desiderium": 4, "thavma:metallum": 2, "thavma:terra": 2 }, @@ -145,16 +158,15 @@ "thavma:terra": 2 }, "#c:rods/blaze": { - "thavma:alkimia": 2, - "thavma:corpus": 2, - "thavma:ignis": 4 + "thavma:ignis": 8, + "thavma:potentia": 4 }, "#c:rods/breeze": { - "thavma:aether": 6, - "thavma:corpus": 2 + "thavma:aer": 8, + "thavma:motus": 4 }, "#c:rods/wooden": { - "thavma:herba": 1 + "thavma:herba": 2 }, "#c:sands": { "thavma:terra": 2 @@ -163,37 +175,44 @@ "thavma:terra": 2 }, "#c:storage_blocks/coal": { - "thavma:ignis": 18, - "thavma:terra": 18 + "thavma:ignis": 72, + "thavma:potentia": 72 }, "#c:storage_blocks/copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "#c:storage_blocks/diamond": { + "thavma:desiderium": 72, "thavma:vitreus": 72 }, "#c:storage_blocks/emerald": { + "thavma:desiderium": 36, "thavma:vitreus": 72 }, "#c:storage_blocks/gold": { + "thavma:desiderium": 72, "thavma:metallum": 36 }, "#c:storage_blocks/iron": { "thavma:metallum": 72 }, "#c:storage_blocks/lapis": { - "thavma:cognitio": 9, + "thavma:sensus": 18, "thavma:vitreus": 36 }, "#c:storage_blocks/netherite": { + "thavma:desiderium": 72, "thavma:metallum": 144, "thavma:tenebrae": 36 }, "#c:storage_blocks/raw_copper": { "thavma:metallum": 18, + "thavma:permutatio": 18, "thavma:terra": 18 }, "#c:storage_blocks/raw_gold": { + "thavma:desiderium": 36, "thavma:metallum": 18, "thavma:terra": 18 }, @@ -202,36 +221,33 @@ "thavma:terra": 18 }, "#c:storage_blocks/redstone": { - "thavma:machina": 9, + "thavma:potentia": 36, "thavma:terra": 9 }, "#c:strings": { - "thavma:corpus": 1, + "thavma:bestia": 1, "thavma:fabrico": 1 }, "#c:tools/bow": { - "thavma:fabrico": 3, - "thavma:herba": 3, - "thavma:instrumentum": 8 + "thavma:aversio": 8, + "thavma:fabrico": 2, + "thavma:herba": 2 }, "#c:tools/crossbow": { + "thavma:aversio": 8, "thavma:fabrico": 2, - "thavma:herba": 5, - "thavma:instrumentum": 8, - "thavma:machina": 2, - "thavma:metallum": 12 + "thavma:metallum": 4 }, "#minecraft:arrows": { - "thavma:herba": 1, - "thavma:instrumentum": 2, - "thavma:terra": 1 + "thavma:aversio": 2, + "thavma:motus": 1 }, "#minecraft:bamboo_blocks": { "thavma:herba": 4 }, "#minecraft:coals": { - "thavma:ignis": 2, - "thavma:terra": 2 + "thavma:ignis": 8, + "thavma:potentia": 8 }, "#minecraft:dirt": { "thavma:terra": 1 @@ -252,18 +268,18 @@ }, "#minecraft:terracotta": { "thavma:ignis": 4, - "thavma:ornatus": 1, + "thavma:sensus": 1, "thavma:terra": 4 }, "#minecraft:wool": { - "thavma:corpus": 4, + "thavma:bestia": 8, "thavma:fabrico": 4 }, "#thavma:goggles": { - "thavma:aether": 8, - "thavma:instrumentum": 8, - "thavma:metallum": 40, - "thavma:vitreus": 2 + "thavma:desiderium": 32, + "thavma:metallum": 32, + "thavma:praecantatio": 4, + "thavma:vitreus": 4 }, "minecraft:acacia_button": { "thavma:herba": 2 @@ -296,6 +312,7 @@ "thavma:herba": 6 }, "minecraft:amethyst_block": { + "thavma:sensus": 4, "thavma:vitreus": 16 }, "minecraft:andesite": { @@ -311,7 +328,7 @@ "thavma:terra": 2 }, "minecraft:armadillo_scute": { - "thavma:corpus": 2, + "thavma:bestia": 2, "thavma:praemunio": 1 }, "minecraft:bamboo": { @@ -358,7 +375,8 @@ }, "minecraft:bedrock": { "thavma:tenebrae": 25, - "thavma:terra": 25 + "thavma:terra": 25, + "thavma:vacuos": 25 }, "minecraft:birch_button": { "thavma:herba": 2 @@ -407,8 +425,9 @@ "thavma:terra": 2 }, "minecraft:blaze_powder": { - "thavma:alkimia": 1, - "thavma:ignis": 2 + "thavma:alkimia": 2, + "thavma:ignis": 2, + "thavma:potentia": 1 }, "minecraft:brick": { "thavma:ignis": 1, @@ -481,7 +500,8 @@ "thavma:herba": 6 }, "minecraft:chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:chiseled_deepslate": { "thavma:terra": 2 @@ -499,10 +519,10 @@ "thavma:vitreus": 16 }, "minecraft:chiseled_red_sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:chiseled_sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:chiseled_stone_bricks": { "thavma:terra": 2 @@ -514,16 +534,16 @@ "thavma:terra": 2 }, "minecraft:chorus_flower": { - "thavma:herba": 4, - "thavma:tenebrae": 4 + "thavma:alienis": 4, + "thavma:herba": 4 }, "minecraft:chorus_fruit": { - "thavma:herba": 2, - "thavma:tenebrae": 2 + "thavma:alienis": 2, + "thavma:herba": 2 }, "minecraft:chorus_plant": { - "thavma:herba": 2, - "thavma:tenebrae": 2 + "thavma:alienis": 2, + "thavma:herba": 2 }, "minecraft:clay": { "thavma:aqua": 4, @@ -534,7 +554,7 @@ "thavma:terra": 1 }, "minecraft:coarse_dirt": { - "thavma:terra": 2 + "thavma:terra": 1 }, "minecraft:cobbled_deepslate": { "thavma:terra": 2 @@ -561,7 +581,8 @@ "thavma:terra": 2 }, "minecraft:copper_block": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:cracked_deepslate_bricks": { "thavma:terra": 2 @@ -581,8 +602,8 @@ "thavma:terra": 2 }, "minecraft:crafting_table": { - "thavma:fabrico": 4, - "thavma:herba": 8 + "thavma:fabrico": 8, + "thavma:herba": 4 }, "minecraft:crimson_button": { "thavma:herba": 2, @@ -625,25 +646,28 @@ "thavma:ignis": 6 }, "minecraft:cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:cut_red_sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:cut_red_sandstone_slab": { - "thavma:terra": 4 + "thavma:terra": 2 }, "minecraft:cut_sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:cut_sandstone_slab": { - "thavma:terra": 4 + "thavma:terra": 2 }, "minecraft:dark_oak_button": { "thavma:herba": 2 @@ -676,19 +700,16 @@ "thavma:herba": 6 }, "minecraft:dark_prismarine": { - "thavma:aqua": 10, - "thavma:corpus": 2, - "thavma:terra": 8 + "thavma:aqua": 4, + "thavma:terra": 4 }, "minecraft:dark_prismarine_slab": { - "thavma:aqua": 5, - "thavma:corpus": 1, - "thavma:terra": 4 + "thavma:aqua": 2, + "thavma:terra": 2 }, "minecraft:dark_prismarine_stairs": { - "thavma:aqua": 10, - "thavma:corpus": 2, - "thavma:terra": 8 + "thavma:aqua": 4, + "thavma:terra": 4 }, "minecraft:deepslate": { "thavma:terra": 2 @@ -718,48 +739,54 @@ "thavma:terra": 2 }, "minecraft:diamond_axe": { - "thavma:herba": 2, + "thavma:desiderium": 24, "thavma:instrumentum": 4, "thavma:vitreus": 24 }, "minecraft:diamond_boots": { + "thavma:desiderium": 32, "thavma:praemunio": 8, "thavma:vitreus": 32 }, "minecraft:diamond_chestplate": { + "thavma:desiderium": 64, "thavma:praemunio": 18, "thavma:vitreus": 64 }, "minecraft:diamond_helmet": { + "thavma:desiderium": 40, "thavma:praemunio": 8, "thavma:vitreus": 40 }, "minecraft:diamond_hoe": { - "thavma:herba": 2, + "thavma:desiderium": 16, "thavma:instrumentum": 4, "thavma:vitreus": 16 }, "minecraft:diamond_horse_armor": { + "thavma:bestia": 8, + "thavma:desiderium": 16, "thavma:praemunio": 12, - "thavma:vitreus": 56 + "thavma:vitreus": 16 }, "minecraft:diamond_leggings": { + "thavma:desiderium": 56, "thavma:praemunio": 14, "thavma:vitreus": 56 }, "minecraft:diamond_pickaxe": { - "thavma:herba": 2, + "thavma:desiderium": 24, "thavma:instrumentum": 4, "thavma:vitreus": 24 }, "minecraft:diamond_shovel": { - "thavma:herba": 2, + "thavma:desiderium": 8, "thavma:instrumentum": 4, "thavma:vitreus": 8 }, "minecraft:diamond_sword": { - "thavma:herba": 1, - "thavma:instrumentum": 4, + "thavma:aversio": 4, + "thavma:desiderium": 16, "thavma:vitreus": 16 }, "minecraft:diorite": { @@ -775,125 +802,126 @@ "thavma:terra": 2 }, "minecraft:end_crystal": { - "thavma:aether": 2, - "thavma:alkimia": 5, - "thavma:hostilis": 4, - "thavma:ignis": 2, - "thavma:instrumentum": 4, - "thavma:tenebrae": 4, + "thavma:alienis": 4, + "thavma:ignis": 4, + "thavma:potentia": 8, "thavma:vitreus": 14 }, "minecraft:end_stone_brick_slab": { - "thavma:tenebrae": 1, + "thavma:alienis": 1, "thavma:terra": 1 }, "minecraft:end_stone_brick_stairs": { - "thavma:tenebrae": 2, + "thavma:alienis": 2, "thavma:terra": 2 }, "minecraft:end_stone_brick_wall": { - "thavma:tenebrae": 2, + "thavma:alienis": 2, "thavma:terra": 2 }, "minecraft:end_stone_bricks": { - "thavma:tenebrae": 2, + "thavma:alienis": 2, "thavma:terra": 2 }, "minecraft:ender_eye": { - "thavma:aether": 2, - "thavma:alkimia": 1, - "thavma:ignis": 2, - "thavma:instrumentum": 4, - "thavma:tenebrae": 4 + "thavma:alienis": 4, + "thavma:motus": 4, + "thavma:praecantatio": 2 }, "minecraft:exposed_chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:exposed_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:exposed_cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:exposed_cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:exposed_cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:fire_charge": { - "thavma:alkimia": 4, + "thavma:aversio": 2, "thavma:ignis": 4, - "thavma:instrumentum": 2 + "thavma:potentia": 4 }, "minecraft:firework_rocket": { - "thavma:ignis": 1, - "thavma:ornatus": 1 + "thavma:potentia": 1, + "thavma:sensus": 1 }, "minecraft:firework_star": { - "thavma:ignis": 1, - "thavma:ornatus": 2 + "thavma:potentia": 1, + "thavma:sensus": 2 }, "minecraft:flint": { - "thavma:instrumentum": 1, - "thavma:terra": 1 + "thavma:instrumentum": 2, + "thavma:terra": 4 }, "minecraft:ghast_tear": { "thavma:alkimia": 4, - "thavma:hostilis": 4 - }, - "minecraft:glow_ink_sac": { - "thavma:aqua": 2, - "thavma:corpus": 2, - "thavma:lux": 2 + "thavma:exanimis": 4 }, "minecraft:glowstone": { "thavma:lux": 16, "thavma:terra": 4 }, "minecraft:golden_axe": { - "thavma:herba": 2, + "thavma:desiderium": 24, "thavma:instrumentum": 2, "thavma:metallum": 12 }, "minecraft:golden_boots": { + "thavma:desiderium": 32, "thavma:metallum": 16, "thavma:praemunio": 2 }, "minecraft:golden_chestplate": { + "thavma:desiderium": 64, "thavma:metallum": 32, "thavma:praemunio": 10 }, "minecraft:golden_helmet": { + "thavma:desiderium": 40, "thavma:metallum": 20, "thavma:praemunio": 4 }, "minecraft:golden_hoe": { - "thavma:herba": 2, + "thavma:desiderium": 16, "thavma:instrumentum": 2, "thavma:metallum": 8 }, "minecraft:golden_horse_armor": { - "thavma:metallum": 28, + "thavma:bestia": 8, + "thavma:desiderium": 16, + "thavma:metallum": 8, "thavma:praemunio": 8 }, "minecraft:golden_leggings": { + "thavma:desiderium": 56, "thavma:metallum": 28, "thavma:praemunio": 6 }, "minecraft:golden_pickaxe": { - "thavma:herba": 2, + "thavma:desiderium": 24, "thavma:instrumentum": 2, "thavma:metallum": 12 }, "minecraft:golden_shovel": { - "thavma:herba": 2, + "thavma:desiderium": 8, "thavma:instrumentum": 2, "thavma:metallum": 4 }, "minecraft:golden_sword": { - "thavma:herba": 1, - "thavma:instrumentum": 2, + "thavma:aversio": 2, + "thavma:desiderium": 16, "thavma:metallum": 8 }, "minecraft:granite": { @@ -913,15 +941,11 @@ "thavma:terra": 1 }, "minecraft:heavy_core": { - "thavma:instrumentum": 6, - "thavma:metallum": 16 - }, - "minecraft:ink_sac": { - "thavma:aqua": 2, - "thavma:corpus": 2 + "thavma:desiderium": 8, + "thavma:metallum": 16, + "thavma:vacuos": 2 }, "minecraft:iron_axe": { - "thavma:herba": 2, "thavma:instrumentum": 3, "thavma:metallum": 24 }, @@ -938,12 +962,12 @@ "thavma:praemunio": 4 }, "minecraft:iron_hoe": { - "thavma:herba": 2, "thavma:instrumentum": 3, "thavma:metallum": 16 }, "minecraft:iron_horse_armor": { - "thavma:metallum": 56, + "thavma:bestia": 8, + "thavma:metallum": 16, "thavma:praemunio": 6 }, "minecraft:iron_leggings": { @@ -951,18 +975,15 @@ "thavma:praemunio": 10 }, "minecraft:iron_pickaxe": { - "thavma:herba": 2, "thavma:instrumentum": 3, "thavma:metallum": 24 }, "minecraft:iron_shovel": { - "thavma:herba": 2, "thavma:instrumentum": 3, "thavma:metallum": 8 }, "minecraft:iron_sword": { - "thavma:herba": 1, - "thavma:instrumentum": 3, + "thavma:aversio": 3, "thavma:metallum": 16 }, "minecraft:jungle_button": { @@ -996,29 +1017,29 @@ "thavma:herba": 6 }, "minecraft:leather_boots": { - "thavma:corpus": 12, + "thavma:bestia": 32, "thavma:praemunio": 2 }, "minecraft:leather_chestplate": { - "thavma:corpus": 24, + "thavma:bestia": 64, "thavma:praemunio": 6 }, "minecraft:leather_helmet": { - "thavma:corpus": 15, + "thavma:bestia": 40, "thavma:praemunio": 2 }, "minecraft:leather_horse_armor": { - "thavma:corpus": 21, + "thavma:bestia": 16, "thavma:praemunio": 4 }, "minecraft:leather_leggings": { - "thavma:corpus": 21, + "thavma:bestia": 56, "thavma:praemunio": 4 }, "minecraft:mace": { - "thavma:aether": 6, - "thavma:instrumentum": 6, - "thavma:metallum": 16 + "thavma:aer": 8, + "thavma:metallum": 16, + "thavma:motus": 8 }, "minecraft:mangrove_button": { "thavma:herba": 2 @@ -1051,52 +1072,55 @@ "thavma:herba": 6 }, "minecraft:mossy_cobblestone": { - "thavma:herba": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mossy_cobblestone_slab": { + "thavma:herba": 1, "thavma:terra": 1 }, "minecraft:mossy_cobblestone_stairs": { - "thavma:herba": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mossy_cobblestone_wall": { - "thavma:herba": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mossy_stone_brick_slab": { + "thavma:herba": 1, "thavma:terra": 1 }, "minecraft:mossy_stone_brick_stairs": { - "thavma:herba": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mossy_stone_brick_wall": { - "thavma:herba": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mossy_stone_bricks": { - "thavma:herba": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mud": { "thavma:aqua": 1, - "thavma:terra": 2 + "thavma:terra": 1 }, "minecraft:mud_brick_slab": { + "thavma:herba": 1, "thavma:terra": 1 }, "minecraft:mud_brick_stairs": { - "thavma:aqua": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mud_brick_wall": { - "thavma:aqua": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:mud_bricks": { - "thavma:aqua": 1, + "thavma:herba": 2, "thavma:terra": 2 }, "minecraft:nether_brick": { @@ -1128,43 +1152,43 @@ "thavma:ignis": 2 }, "minecraft:netherite_axe": { - "thavma:herba": 2, + "thavma:desiderium": 24, "thavma:instrumentum": 6, "thavma:metallum": 48, "thavma:tenebrae": 12 }, "minecraft:netherite_boots": { - "thavma:metallum": 16, + "thavma:desiderium": 32, + "thavma:metallum": 32, "thavma:praemunio": 9, - "thavma:tenebrae": 4, - "thavma:vitreus": 32 + "thavma:tenebrae": 4 }, "minecraft:netherite_chestplate": { - "thavma:metallum": 16, + "thavma:desiderium": 64, + "thavma:metallum": 64, "thavma:praemunio": 19, - "thavma:tenebrae": 4, - "thavma:vitreus": 64 + "thavma:tenebrae": 4 }, "minecraft:netherite_helmet": { - "thavma:metallum": 16, + "thavma:desiderium": 40, + "thavma:metallum": 40, "thavma:praemunio": 9, - "thavma:tenebrae": 4, - "thavma:vitreus": 40 + "thavma:tenebrae": 4 }, "minecraft:netherite_hoe": { - "thavma:herba": 2, + "thavma:desiderium": 16, "thavma:instrumentum": 6, "thavma:metallum": 32, "thavma:tenebrae": 8 }, "minecraft:netherite_leggings": { - "thavma:metallum": 16, + "thavma:desiderium": 56, + "thavma:metallum": 56, "thavma:praemunio": 15, - "thavma:tenebrae": 4, - "thavma:vitreus": 56 + "thavma:tenebrae": 4 }, "minecraft:netherite_pickaxe": { - "thavma:herba": 2, + "thavma:desiderium": 24, "thavma:instrumentum": 6, "thavma:metallum": 48, "thavma:tenebrae": 12 @@ -1175,14 +1199,14 @@ "thavma:terra": 2 }, "minecraft:netherite_shovel": { - "thavma:herba": 2, + "thavma:desiderium": 8, "thavma:instrumentum": 6, "thavma:metallum": 16, "thavma:tenebrae": 4 }, "minecraft:netherite_sword": { - "thavma:herba": 1, - "thavma:instrumentum": 6, + "thavma:aversio": 6, + "thavma:desiderium": 16, "thavma:metallum": 32, "thavma:tenebrae": 8 }, @@ -1217,25 +1241,28 @@ "thavma:herba": 6 }, "minecraft:oxidized_chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:oxidized_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:oxidized_cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:oxidized_cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:oxidized_cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:packed_mud": { - "thavma:aqua": 1, "thavma:herba": 2, - "thavma:terra": 2, - "thavma:victus": 2 + "thavma:terra": 2 }, "minecraft:paper": { "thavma:cognitio": 1, @@ -1337,11 +1364,11 @@ "thavma:terra": 2 }, "minecraft:popped_chorus_fruit": { - "thavma:herba": 2, - "thavma:tenebrae": 2 + "thavma:alienis": 2, + "thavma:herba": 2 }, "minecraft:powder_snow_bucket": { - "thavma:aqua": 2 + "thavma:gelum": 2 }, "minecraft:prismarine": { "thavma:aqua": 4, @@ -1352,21 +1379,21 @@ "thavma:terra": 4 }, "minecraft:prismarine_brick_stairs": { - "thavma:aqua": 9, - "thavma:terra": 9 + "thavma:aqua": 8, + "thavma:terra": 8 }, "minecraft:prismarine_bricks": { - "thavma:aqua": 9, - "thavma:terra": 9 + "thavma:aqua": 8, + "thavma:terra": 8 }, "minecraft:prismarine_crystals": { - "thavma:aqua": 1, - "thavma:lux": 1, - "thavma:vitreus": 2 + "thavma:aqua": 4, + "thavma:lux": 2, + "thavma:vitreus": 4 }, "minecraft:prismarine_shard": { - "thavma:aqua": 1, - "thavma:terra": 1 + "thavma:aqua": 2, + "thavma:terra": 2 }, "minecraft:prismarine_slab": { "thavma:aqua": 2, @@ -1381,16 +1408,16 @@ "thavma:terra": 4 }, "minecraft:purpur_block": { - "thavma:herba": 2, - "thavma:tenebrae": 2 + "thavma:alienis": 2, + "thavma:herba": 2 }, "minecraft:purpur_slab": { - "thavma:herba": 1, - "thavma:tenebrae": 1 + "thavma:alienis": 1, + "thavma:herba": 1 }, "minecraft:purpur_stairs": { - "thavma:herba": 2, - "thavma:tenebrae": 2 + "thavma:alienis": 2, + "thavma:herba": 2 }, "minecraft:quartz_block": { "thavma:ignis": 4, @@ -1405,60 +1432,55 @@ "thavma:vitreus": 16 }, "minecraft:red_nether_brick_slab": { - "thavma:herba": 2, - "thavma:ignis": 3, + "thavma:herba": 1, + "thavma:ignis": 1, "thavma:terra": 1 }, "minecraft:red_nether_brick_stairs": { - "thavma:herba": 4, - "thavma:ignis": 6, + "thavma:herba": 2, + "thavma:ignis": 2, "thavma:terra": 2 }, "minecraft:red_nether_brick_wall": { - "thavma:herba": 4, - "thavma:ignis": 6, + "thavma:herba": 2, + "thavma:ignis": 2, "thavma:terra": 2 }, "minecraft:red_nether_bricks": { - "thavma:herba": 4, - "thavma:ignis": 6, + "thavma:herba": 2, + "thavma:ignis": 2, "thavma:terra": 2 }, "minecraft:red_sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:red_sandstone_slab": { - "thavma:terra": 4 + "thavma:terra": 2 }, "minecraft:red_sandstone_stairs": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:red_sandstone_wall": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:rotten_flesh": { - "thavma:corpus": 2, - "thavma:hostilis": 2 + "thavma:exanimis": 2, + "thavma:humanus": 2 }, "minecraft:sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:sandstone_slab": { - "thavma:terra": 4 + "thavma:terra": 2 }, "minecraft:sandstone_stairs": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:sandstone_wall": { - "thavma:terra": 8 - }, - "minecraft:sea_lantern": { - "thavma:aqua": 41, - "thavma:lux": 5, - "thavma:terra": 36, - "thavma:vitreus": 10 + "thavma:terra": 4 }, "minecraft:short_grass": { + "thavma:aer": 1, "thavma:herba": 1 }, "minecraft:smooth_quartz": { @@ -1474,31 +1496,31 @@ "thavma:vitreus": 16 }, "minecraft:smooth_red_sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:smooth_red_sandstone_slab": { - "thavma:terra": 4 + "thavma:terra": 2 }, "minecraft:smooth_red_sandstone_stairs": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:smooth_sandstone": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:smooth_sandstone_slab": { - "thavma:terra": 4 + "thavma:terra": 2 }, "minecraft:smooth_sandstone_stairs": { - "thavma:terra": 8 + "thavma:terra": 4 }, "minecraft:snow": { - "thavma:aqua": 1 + "thavma:gelum": 1 }, "minecraft:snow_block": { - "thavma:aqua": 4 + "thavma:gelum": 4 }, "minecraft:snowball": { - "thavma:aqua": 1 + "thavma:gelum": 1 }, "minecraft:spruce_button": { "thavma:herba": 2 @@ -1534,9 +1556,8 @@ "thavma:terra": 2 }, "minecraft:stone_axe": { - "thavma:herba": 2, "thavma:instrumentum": 2, - "thavma:terra": 6 + "thavma:terra": 12 }, "minecraft:stone_brick_slab": { "thavma:terra": 1 @@ -1554,22 +1575,19 @@ "thavma:terra": 2 }, "minecraft:stone_hoe": { - "thavma:herba": 2, "thavma:instrumentum": 2, - "thavma:terra": 4 + "thavma:terra": 8 }, "minecraft:stone_pickaxe": { - "thavma:herba": 2, "thavma:instrumentum": 2, - "thavma:terra": 6 + "thavma:terra": 12 }, "minecraft:stone_pressure_plate": { "thavma:terra": 4 }, "minecraft:stone_shovel": { - "thavma:herba": 2, "thavma:instrumentum": 2, - "thavma:terra": 2 + "thavma:terra": 4 }, "minecraft:stone_slab": { "thavma:terra": 1 @@ -1578,41 +1596,42 @@ "thavma:terra": 2 }, "minecraft:stone_sword": { - "thavma:herba": 1, - "thavma:instrumentum": 2, - "thavma:terra": 4 + "thavma:aversio": 2, + "thavma:terra": 8 }, "minecraft:sugar": { "thavma:herba": 2, "thavma:victus": 1 }, "minecraft:sugar_cane": { + "thavma:aer": 1, "thavma:aqua": 1, "thavma:herba": 2 }, "minecraft:tall_grass": { + "thavma:aer": 1, "thavma:herba": 1 }, "minecraft:tnt": { - "thavma:alkimia": 10, - "thavma:ignis": 20, - "thavma:terra": 13 + "thavma:potentia": 20, + "thavma:terra": 1 }, "minecraft:torch": { "thavma:lux": 4 }, "minecraft:totem_of_undying": { - "thavma:aether": 8, + "thavma:desiderium": 8, + "thavma:praecantatio": 8, "thavma:victus": 16 }, "minecraft:trident": { "thavma:aqua": 8, - "thavma:metallum": 12 + "thavma:metallum": 12, + "thavma:motus": 8 }, "minecraft:tripwire_hook": { - "thavma:herba": 2, - "thavma:machina": 2, - "thavma:metallum": 4 + "thavma:metallum": 2, + "thavma:vinculum": 2 }, "minecraft:tuff": { "thavma:terra": 2 @@ -1640,12 +1659,12 @@ }, "minecraft:turtle_helmet": { "thavma:aqua": 5, - "thavma:corpus": 10, - "thavma:praemunio": 5 + "thavma:bestia": 10, + "thavma:praemunio": 4 }, "minecraft:turtle_scute": { "thavma:aqua": 1, - "thavma:corpus": 2, + "thavma:bestia": 2, "thavma:praemunio": 1 }, "minecraft:warped_button": { @@ -1689,99 +1708,123 @@ "thavma:ignis": 6 }, "minecraft:waxed_chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_copper_block": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:waxed_cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_exposed_chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_exposed_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_exposed_cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_exposed_cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:waxed_exposed_cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_oxidized_chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_oxidized_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_oxidized_cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_oxidized_cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:waxed_oxidized_cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_weathered_chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_weathered_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_weathered_cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:waxed_weathered_cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:waxed_weathered_cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:weathered_chiseled_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:weathered_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:weathered_cut_copper": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:weathered_cut_copper_slab": { - "thavma:metallum": 18 + "thavma:metallum": 18, + "thavma:permutatio": 18 }, "minecraft:weathered_cut_copper_stairs": { - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36 }, "minecraft:wind_charge": { - "thavma:aether": 4, - "thavma:alkimia": 4, - "thavma:instrumentum": 2 + "thavma:aer": 2, + "thavma:motus": 1 }, "minecraft:wolf_armor": { - "thavma:corpus": 12, + "thavma:bestia": 8, "thavma:praemunio": 6 }, "minecraft:wooden_axe": { - "thavma:herba": 8, + "thavma:herba": 12, "thavma:instrumentum": 1 }, "minecraft:wooden_hoe": { - "thavma:herba": 6, + "thavma:herba": 8, "thavma:instrumentum": 1 }, "minecraft:wooden_pickaxe": { - "thavma:herba": 8, + "thavma:herba": 12, "thavma:instrumentum": 1 }, "minecraft:wooden_shovel": { @@ -1789,8 +1832,17 @@ "thavma:instrumentum": 1 }, "minecraft:wooden_sword": { - "thavma:herba": 5, - "thavma:instrumentum": 1 + "thavma:aversio": 1, + "thavma:herba": 8 + }, + "thavma:aer_infused_deepslate": { + "thavma:aer": 4 + }, + "thavma:aer_infused_stone": { + "thavma:aer": 4 + }, + "thavma:aer_shard": { + "thavma:aer": 4 }, "thavma:aether_infused_deepslate": { "thavma:aether": 4 @@ -1802,18 +1854,18 @@ "thavma:aether": 4 }, "thavma:apprentice_boots": { - "thavma:aether": 4, "thavma:fabrico": 16, + "thavma:praecantatio": 4, "thavma:praemunio": 2 }, "thavma:apprentice_chestplate": { - "thavma:aether": 8, "thavma:fabrico": 32, + "thavma:praecantatio": 8, "thavma:praemunio": 2 }, "thavma:apprentice_leggings": { - "thavma:aether": 7, "thavma:fabrico": 28, + "thavma:praecantatio": 7, "thavma:praemunio": 2 }, "thavma:aqua_infused_deepslate": { @@ -1826,52 +1878,55 @@ "thavma:aqua": 4 }, "thavma:arcane_lens": { - "thavma:aether": 4, + "thavma:desiderium": 32, "thavma:metallum": 16, - "thavma:vitreus": 1 + "thavma:praecantatio": 2, + "thavma:vitreus": 2 }, "thavma:arcane_workbench": { - "thavma:aether": 2, - "thavma:fabrico": 8, - "thavma:herba": 8 + "thavma:fabrico": 12, + "thavma:herba": 4, + "thavma:praecantatio": 2 }, "thavma:cracked_elemental_stone": { - "thavma:aether": 1, + "thavma:praecantatio": 1, "thavma:terra": 4 }, "thavma:crucible": { - "thavma:aether": 2, "thavma:alkimia": 8, - "thavma:metallum": 56 + "thavma:metallum": 56, + "thavma:praecantatio": 2 }, "thavma:elemental_core": { - "thavma:aether": 2, + "thavma:praecantatio": 2, "thavma:terra": 6 }, "thavma:elemental_stone": { - "thavma:aether": 1, + "thavma:praecantatio": 1, "thavma:terra": 4 }, "thavma:elemental_stone_bricks": { - "thavma:aether": 1, + "thavma:praecantatio": 1, "thavma:terra": 4 }, "thavma:elemental_stone_slab": { "thavma:terra": 2 }, "thavma:elemental_stone_stairs": { - "thavma:aether": 1, + "thavma:praecantatio": 1, "thavma:terra": 4 }, "thavma:eternal_flame": { "thavma:ignis": 8, - "thavma:lux": 12 + "thavma:lux": 12, + "thavma:potentia": 8 }, "thavma:fabric": { - "thavma:aether": 1, - "thavma:fabrico": 4 + "thavma:fabrico": 4, + "thavma:praecantatio": 1 }, "thavma:gold_plating": { + "thavma:desiderium": 16, "thavma:metallum": 8 }, "thavma:greatwood_planks": { @@ -1896,34 +1951,35 @@ "thavma:metallum": 16 }, "thavma:orichalcum_block": { - "thavma:instrumentum": 36, - "thavma:metallum": 36 + "thavma:metallum": 36, + "thavma:permutatio": 36, + "thavma:praecantatio": 36 }, "thavma:orichalcum_ingot": { "thavma:instrumentum": 4, - "thavma:metallum": 4 + "thavma:metallum": 4, + "thavma:permutatio": 4 }, "thavma:orichalcum_plating": { "thavma:instrumentum": 8, - "thavma:metallum": 8 + "thavma:metallum": 8, + "thavma:permutatio": 8 }, "thavma:research_table": { - "thavma:aether": 2, - "thavma:herba": 12 + "thavma:herba": 12, + "thavma:praecantatio": 2 }, "thavma:rotten_brain": { - "thavma:cognitio": 12, - "thavma:corpus": 2, - "thavma:hostilis": 2 + "thavma:cognitio": 16, + "thavma:exanimis": 8 }, "thavma:sealing_jar": { - "thavma:aether": 2, - "thavma:alkimia": 2, + "thavma:praecantatio": 2, + "thavma:vacuos": 2, "thavma:vitreus": 4 }, "thavma:table": { - "thavma:fabrico": 2, - "thavma:herba": 11 + "thavma:herba": 12 }, "thavma:terra_infused_deepslate": { "thavma:terra": 4 @@ -1935,72 +1991,66 @@ "thavma:terra": 4 }, "thavma:thavmite_axe": { - "thavma:aether": 12, - "thavma:herba": 2, "thavma:instrumentum": 4, - "thavma:metallum": 24 + "thavma:metallum": 24, + "thavma:praecantatio": 12 }, "thavma:thavmite_block": { - "thavma:aether": 36, - "thavma:metallum": 72 + "thavma:metallum": 72, + "thavma:praecantatio": 36 }, "thavma:thavmite_boots": { - "thavma:aether": 16, "thavma:metallum": 32, + "thavma:praecantatio": 16, "thavma:praemunio": 5 }, "thavma:thavmite_chestplate": { - "thavma:aether": 32, "thavma:metallum": 64, + "thavma:praecantatio": 32, "thavma:praemunio": 13 }, "thavma:thavmite_hammer": { - "thavma:aether": 24, - "thavma:herba": 1, "thavma:instrumentum": 4, - "thavma:metallum": 48 + "thavma:metallum": 48, + "thavma:praecantatio": 24 }, "thavma:thavmite_helmet": { - "thavma:aether": 20, "thavma:metallum": 40, + "thavma:praecantatio": 20, "thavma:praemunio": 7 }, "thavma:thavmite_hoe": { - "thavma:aether": 8, - "thavma:herba": 2, "thavma:instrumentum": 4, - "thavma:metallum": 16 + "thavma:metallum": 16, + "thavma:praecantatio": 8 }, "thavma:thavmite_ingot": { - "thavma:aether": 4, - "thavma:metallum": 8 + "thavma:metallum": 8, + "thavma:praecantatio": 4 }, "thavma:thavmite_leggings": { - "thavma:aether": 28, "thavma:metallum": 56, + "thavma:praecantatio": 28, "thavma:praemunio": 11 }, "thavma:thavmite_pickaxe": { - "thavma:aether": 12, - "thavma:herba": 2, "thavma:instrumentum": 4, - "thavma:metallum": 24 + "thavma:metallum": 24, + "thavma:praecantatio": 12 }, "thavma:thavmite_plating": { - "thavma:aether": 8, - "thavma:metallum": 16 + "thavma:metallum": 16, + "thavma:praecantatio": 8 }, "thavma:thavmite_shovel": { - "thavma:aether": 4, - "thavma:herba": 2, "thavma:instrumentum": 4, - "thavma:metallum": 8 + "thavma:metallum": 8, + "thavma:praecantatio": 4 }, "thavma:thavmite_sword": { - "thavma:aether": 8, - "thavma:herba": 1, - "thavma:instrumentum": 4, - "thavma:metallum": 16 + "thavma:aversio": 4, + "thavma:metallum": 16, + "thavma:praecantatio": 8 } } } \ No newline at end of file diff --git a/src/generated/resources/data/thavma/data_maps/thavma/aspect/aspect_relations.json b/src/generated/resources/data/thavma/data_maps/thavma/aspect/aspect_relations.json deleted file mode 100644 index e28c797b..00000000 --- a/src/generated/resources/data/thavma/data_maps/thavma/aspect/aspect_relations.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "values": { - "thavma:aether": [ - "thavma:alkimia", - "thavma:cognitio", - "thavma:tenebrae" - ], - "thavma:alkimia": [], - "thavma:aqua": [ - "thavma:herba", - "thavma:victus", - "thavma:alkimia" - ], - "thavma:civilis": [], - "thavma:cognitio": [ - "thavma:civilis" - ], - "thavma:corpus": [], - "thavma:fabrico": [ - "thavma:cognitio", - "thavma:vas", - "thavma:ornatus", - "thavma:praemunio" - ], - "thavma:herba": [], - "thavma:hostilis": [], - "thavma:ignis": [ - "thavma:metallum", - "thavma:lux" - ], - "thavma:instrumentum": [ - "thavma:fabrico", - "thavma:machina" - ], - "thavma:lux": [], - "thavma:machina": [], - "thavma:metallum": [ - "thavma:instrumentum", - "thavma:praemunio", - "thavma:machina" - ], - "thavma:ornatus": [ - "thavma:civilis" - ], - "thavma:praemunio": [], - "thavma:tenebrae": [ - "thavma:hostilis" - ], - "thavma:terra": [ - "thavma:vitreus", - "thavma:metallum", - "thavma:herba", - "thavma:victus" - ], - "thavma:vas": [], - "thavma:victus": [ - "thavma:hostilis", - "thavma:civilis", - "thavma:corpus" - ], - "thavma:vitreus": [ - "thavma:ornatus", - "thavma:instrumentum", - "thavma:praemunio" - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/loot_table/blocks/aer_infused_deepslate.json b/src/generated/resources/data/thavma/loot_table/blocks/aer_infused_deepslate.json new file mode 100644 index 00000000..62095c94 --- /dev/null +++ b/src/generated/resources/data/thavma/loot_table/blocks/aer_infused_deepslate.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "thavma:aer_infused_deepslate" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "thavma:aer_shard" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "thavma:blocks/aer_infused_deepslate" +} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/loot_table/blocks/aer_infused_stone.json b/src/generated/resources/data/thavma/loot_table/blocks/aer_infused_stone.json new file mode 100644 index 00000000..b8955056 --- /dev/null +++ b/src/generated/resources/data/thavma/loot_table/blocks/aer_infused_stone.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "thavma:aer_infused_stone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "thavma:aer_shard" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "thavma:blocks/aer_infused_stone" +} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/recipe/aer_shard_blasting.json b/src/generated/resources/data/thavma/recipe/aer_shard_blasting.json new file mode 100644 index 00000000..46775f8f --- /dev/null +++ b/src/generated/resources/data/thavma/recipe/aer_shard_blasting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 1.0, + "ingredient": [ + { + "item": "thavma:aer_infused_stone" + }, + { + "item": "thavma:aer_infused_deepslate" + } + ], + "result": { + "count": 1, + "id": "thavma:aer_shard" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/recipe/aer_shard_smelting.json b/src/generated/resources/data/thavma/recipe/aer_shard_smelting.json new file mode 100644 index 00000000..8a19b547 --- /dev/null +++ b/src/generated/resources/data/thavma/recipe/aer_shard_smelting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 1.0, + "ingredient": [ + { + "item": "thavma:aer_infused_stone" + }, + { + "item": "thavma:aer_infused_deepslate" + } + ], + "result": { + "count": 1, + "id": "thavma:aer_shard" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/recipe/arcane_levitator_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/arcane_levitator_arcane_workbench.json index ed44aa41..3c0352a1 100644 --- a/src/generated/resources/data/thavma/recipe/arcane_levitator_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/arcane_levitator_arcane_workbench.json @@ -1,12 +1,13 @@ { "type": "thavma:arcane_workbench", "aspects": { - "thavma:aether": 8, - "thavma:terra": 8 + "thavma:aer": 12, + "thavma:aether": 4, + "thavma:terra": 4 }, "key": { "a": { - "item": "thavma:terra_shard" + "item": "thavma:aer_shard" }, "c": { "item": "thavma:elemental_core" diff --git a/src/generated/resources/data/thavma/recipe/elemental_core_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/elemental_core_arcane_workbench.json index 4ca6a4a1..fddd71c9 100644 --- a/src/generated/resources/data/thavma/recipe/elemental_core_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/elemental_core_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 8, "thavma:aether": 8, "thavma:aqua": 8, "thavma:ignis": 8, diff --git a/src/generated/resources/data/thavma/recipe/elemental_stone_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/elemental_stone_arcane_workbench.json index 40fe2e16..8488a20b 100644 --- a/src/generated/resources/data/thavma/recipe/elemental_stone_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/elemental_stone_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 16, "thavma:aether": 16, "thavma:aqua": 16, "thavma:ignis": 16, diff --git a/src/generated/resources/data/thavma/recipe/elemental_stone_bricks.json b/src/generated/resources/data/thavma/recipe/elemental_stone_bricks.json index 95ca4a4d..3a40ccc9 100644 --- a/src/generated/resources/data/thavma/recipe/elemental_stone_bricks.json +++ b/src/generated/resources/data/thavma/recipe/elemental_stone_bricks.json @@ -11,7 +11,7 @@ "ss" ], "result": { - "count": 4, + "count": 1, "id": "thavma:elemental_stone_bricks" } } \ No newline at end of file diff --git a/src/generated/resources/data/thavma/recipe/eternal_flame_crucible.json b/src/generated/resources/data/thavma/recipe/eternal_flame_crucible.json index abb1fed5..5e665160 100644 --- a/src/generated/resources/data/thavma/recipe/eternal_flame_crucible.json +++ b/src/generated/resources/data/thavma/recipe/eternal_flame_crucible.json @@ -2,7 +2,8 @@ "type": "thavma:crucible", "aspects": { "thavma:ignis": 8, - "thavma:lux": 8 + "thavma:lux": 8, + "thavma:potentia": 8 }, "catalyst": { "item": "minecraft:glowstone_dust" diff --git a/src/generated/resources/data/thavma/recipe/fabric_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/fabric_arcane_workbench.json index 08bb880d..11b4bbe0 100644 --- a/src/generated/resources/data/thavma/recipe/fabric_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/fabric_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 8, "thavma:aether": 8, "thavma:aqua": 8, "thavma:ignis": 8, diff --git a/src/generated/resources/data/thavma/recipe/focus_enderchest_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/focus_enderchest_arcane_workbench.json index b6dc91d7..e9ef6a10 100644 --- a/src/generated/resources/data/thavma/recipe/focus_enderchest_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/focus_enderchest_arcane_workbench.json @@ -1,7 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { - "thavma:aether": 12, + "thavma:aer": 12, "thavma:terra": 12 }, "key": { diff --git a/src/generated/resources/data/thavma/recipe/focus_enderpearl_infusion.json b/src/generated/resources/data/thavma/recipe/focus_enderpearl_infusion.json index dc8d0710..01137e24 100644 --- a/src/generated/resources/data/thavma/recipe/focus_enderpearl_infusion.json +++ b/src/generated/resources/data/thavma/recipe/focus_enderpearl_infusion.json @@ -1,9 +1,9 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 20, + "thavma:alienis": 16, "thavma:instrumentum": 16, - "thavma:tenebrae": 16 + "thavma:motus": 32 }, "base": { "item": "minecraft:ender_pearl" diff --git a/src/generated/resources/data/thavma/recipe/focus_exchange_infusion.json b/src/generated/resources/data/thavma/recipe/focus_exchange_infusion.json index a683c8d8..873ac866 100644 --- a/src/generated/resources/data/thavma/recipe/focus_exchange_infusion.json +++ b/src/generated/resources/data/thavma/recipe/focus_exchange_infusion.json @@ -2,7 +2,7 @@ "type": "thavma:infusion", "aspects": { "thavma:instrumentum": 16, - "thavma:ornatus": 40 + "thavma:permutatio": 40 }, "base": { "item": "minecraft:quartz_block" diff --git a/src/generated/resources/data/thavma/recipe/goggles_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/goggles_arcane_workbench.json index fd349aa0..85638baf 100644 --- a/src/generated/resources/data/thavma/recipe/goggles_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/goggles_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 4, "thavma:aether": 4, "thavma:aqua": 4, "thavma:ignis": 4, diff --git a/src/generated/resources/data/thavma/recipe/gold_plating_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/gold_plating_arcane_workbench.json index e9ba8ef6..6517a812 100644 --- a/src/generated/resources/data/thavma/recipe/gold_plating_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/gold_plating_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 8, "thavma:aether": 8, "thavma:aqua": 8, "thavma:ignis": 8, diff --git a/src/generated/resources/data/thavma/recipe/greatwood_core_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/greatwood_core_arcane_workbench.json index 003ee5b6..f6c84741 100644 --- a/src/generated/resources/data/thavma/recipe/greatwood_core_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/greatwood_core_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 8, "thavma:aether": 8, "thavma:aqua": 8, "thavma:ignis": 8, diff --git a/src/generated/resources/data/thavma/recipe/hungry_chest_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/hungry_chest_arcane_workbench.json index fa2c1e67..cce3b2cf 100644 --- a/src/generated/resources/data/thavma/recipe/hungry_chest_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/hungry_chest_arcane_workbench.json @@ -1,8 +1,8 @@ { "type": "thavma:arcane_workbench", "aspects": { - "thavma:aether": 4, - "thavma:terra": 8 + "thavma:aer": 8, + "thavma:aether": 4 }, "key": { "t": { diff --git a/src/generated/resources/data/thavma/recipe/orichalcum_plating_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/orichalcum_plating_arcane_workbench.json index fb6f5faf..be5ec803 100644 --- a/src/generated/resources/data/thavma/recipe/orichalcum_plating_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/orichalcum_plating_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 4, "thavma:aether": 4, "thavma:aqua": 4, "thavma:ignis": 4, diff --git a/src/generated/resources/data/thavma/recipe/rune_arcane_workbench.json b/src/generated/resources/data/thavma/recipe/rune_arcane_workbench.json index 1074812d..3d00df91 100644 --- a/src/generated/resources/data/thavma/recipe/rune_arcane_workbench.json +++ b/src/generated/resources/data/thavma/recipe/rune_arcane_workbench.json @@ -1,6 +1,7 @@ { "type": "thavma:arcane_workbench", "aspects": { + "thavma:aer": 8, "thavma:aether": 8, "thavma:aqua": 8, "thavma:ignis": 8, diff --git a/src/generated/resources/data/thavma/recipe/silverwood_core_infusion.json b/src/generated/resources/data/thavma/recipe/silverwood_core_infusion.json index b8166fb0..edda876e 100644 --- a/src/generated/resources/data/thavma/recipe/silverwood_core_infusion.json +++ b/src/generated/resources/data/thavma/recipe/silverwood_core_infusion.json @@ -1,7 +1,7 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 16 + "thavma:praecantatio": 16 }, "base": { "item": "thavma:silverwood_log" diff --git a/src/generated/resources/data/thavma/recipe/thavmite_ingot_crucible.json b/src/generated/resources/data/thavma/recipe/thavmite_ingot_crucible.json index dcfc3d9a..d34116d0 100644 --- a/src/generated/resources/data/thavma/recipe/thavmite_ingot_crucible.json +++ b/src/generated/resources/data/thavma/recipe/thavmite_ingot_crucible.json @@ -1,7 +1,7 @@ { "type": "thavma:crucible", "aspects": { - "thavma:aether": 4 + "thavma:praecantatio": 4 }, "catalyst": { "item": "minecraft:iron_ingot" diff --git a/src/generated/resources/data/thavma/recipe/thavmite_katana_infusion.json b/src/generated/resources/data/thavma/recipe/thavmite_katana_infusion.json index fdd64853..54831af4 100644 --- a/src/generated/resources/data/thavma/recipe/thavmite_katana_infusion.json +++ b/src/generated/resources/data/thavma/recipe/thavmite_katana_infusion.json @@ -1,8 +1,8 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 16, - "thavma:instrumentum": 16 + "thavma:aversio": 16, + "thavma:praecantatio": 16 }, "base": { "item": "thavma:thavmite_sword" diff --git a/src/generated/resources/data/thavma/recipe/thavmite_plating_infusion.json b/src/generated/resources/data/thavma/recipe/thavmite_plating_infusion.json index 954d0951..212d70a6 100644 --- a/src/generated/resources/data/thavma/recipe/thavmite_plating_infusion.json +++ b/src/generated/resources/data/thavma/recipe/thavmite_plating_infusion.json @@ -1,7 +1,7 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 16 + "thavma:praecantatio": 16 }, "base": { "item": "thavma:thavmite_ingot" diff --git a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_boots_infusion.json b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_boots_infusion.json index 970a56cc..ec837704 100644 --- a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_boots_infusion.json +++ b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_boots_infusion.json @@ -1,7 +1,7 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 16, + "thavma:praecantatio": 16, "thavma:praemunio": 32 }, "base": { diff --git a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_chestplate_infusion.json b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_chestplate_infusion.json index 65c91e12..884c7e7e 100644 --- a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_chestplate_infusion.json +++ b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_chestplate_infusion.json @@ -1,7 +1,7 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 16, + "thavma:praecantatio": 16, "thavma:praemunio": 32 }, "base": { diff --git a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_helmet_infusion.json b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_helmet_infusion.json index 6b2d4fff..8b0792c5 100644 --- a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_helmet_infusion.json +++ b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_helmet_infusion.json @@ -1,7 +1,7 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 16, + "thavma:praecantatio": 16, "thavma:praemunio": 32 }, "base": { diff --git a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_leggings_infusion.json b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_leggings_infusion.json index 394d87d9..c95d7690 100644 --- a/src/generated/resources/data/thavma/recipe/thavmite_vanguard_leggings_infusion.json +++ b/src/generated/resources/data/thavma/recipe/thavmite_vanguard_leggings_infusion.json @@ -1,7 +1,7 @@ { "type": "thavma:infusion", "aspects": { - "thavma:aether": 16, + "thavma:praecantatio": 16, "thavma:praemunio": 32 }, "base": { diff --git a/src/generated/resources/data/thavma/tags/block/infused_stones.json b/src/generated/resources/data/thavma/tags/block/infused_stones.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/thavma/tags/block/infused_stones.json +++ b/src/generated/resources/data/thavma/tags/block/infused_stones.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/thavma/tags/item/infused_stones.json b/src/generated/resources/data/thavma/tags/item/infused_stones.json index 86267856..cb5100c7 100644 --- a/src/generated/resources/data/thavma/tags/item/infused_stones.json +++ b/src/generated/resources/data/thavma/tags/item/infused_stones.json @@ -1,10 +1,12 @@ { "values": [ "thavma:ignis_infused_stone", + "thavma:aer_infused_stone", "thavma:terra_infused_stone", "thavma:aqua_infused_stone", "thavma:aether_infused_stone", "thavma:ignis_infused_deepslate", + "thavma:aer_infused_deepslate", "thavma:terra_infused_deepslate", "thavma:aqua_infused_deepslate", "thavma:aether_infused_deepslate" diff --git a/src/generated/resources/data/thavma/tags/item/shards.json b/src/generated/resources/data/thavma/tags/item/shards.json index 9b3046d5..1b8a2205 100644 --- a/src/generated/resources/data/thavma/tags/item/shards.json +++ b/src/generated/resources/data/thavma/tags/item/shards.json @@ -1,6 +1,7 @@ { "values": [ "thavma:ignis_shard", + "thavma:aer_shard", "thavma:terra_shard", "thavma:aqua_shard", "thavma:aether_shard" diff --git a/src/generated/resources/data/thavma/thavma/research/entry/thavma/arcane_lens.json b/src/generated/resources/data/thavma/thavma/research/entry/thavma/arcane_lens.json index b1cf4745..95883011 100644 --- a/src/generated/resources/data/thavma/thavma/research/entry/thavma/arcane_lens.json +++ b/src/generated/resources/data/thavma/thavma/research/entry/thavma/arcane_lens.json @@ -15,7 +15,7 @@ "locked": true }, { - "aspect": "thavma:aether", + "aspect": "thavma:praecantatio", "broken": false, "indices": { "col": 4, diff --git a/src/generated/resources/data/thavma/thavma/research/entry/thavma/infusion.json b/src/generated/resources/data/thavma/thavma/research/entry/thavma/infusion.json index ca774a8a..a1fa98fe 100644 --- a/src/generated/resources/data/thavma/thavma/research/entry/thavma/infusion.json +++ b/src/generated/resources/data/thavma/thavma/research/entry/thavma/infusion.json @@ -13,7 +13,7 @@ "locked": true }, { - "aspect": "thavma:aether", + "aspect": "thavma:praecantatio", "broken": false, "indices": { "col": 4, diff --git a/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_proficiency.json b/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_proficiency.json index 382dde7e..8baf795f 100644 --- a/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_proficiency.json +++ b/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_proficiency.json @@ -4,7 +4,7 @@ "defaultKnown": false, "defaultResearchState": [ { - "aspect": "thavma:aether", + "aspect": "thavma:praecantatio", "broken": false, "indices": { "col": 0, diff --git a/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_table.json b/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_table.json index 1edfaf76..b05d2012 100644 --- a/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_table.json +++ b/src/generated/resources/data/thavma/thavma/research/entry/thavma/research_table.json @@ -10,7 +10,7 @@ "defaultKnown": false, "defaultResearchState": [ { - "aspect": "thavma:aether", + "aspect": "thavma:praecantatio", "broken": false, "indices": { "col": 0, diff --git a/src/generated/resources/data/thavma/thavma/research/entry/thavma/technology.json b/src/generated/resources/data/thavma/thavma/research/entry/thavma/technology.json index 03f96e16..448ccb96 100644 --- a/src/generated/resources/data/thavma/thavma/research/entry/thavma/technology.json +++ b/src/generated/resources/data/thavma/thavma/research/entry/thavma/technology.json @@ -13,7 +13,7 @@ "locked": true }, { - "aspect": "thavma:civilis", + "aspect": "thavma:humanus", "broken": false, "indices": { "col": 4, diff --git a/src/generated/resources/data/thavma/thavma/research/entry/thavma/thavma.json b/src/generated/resources/data/thavma/thavma/research/entry/thavma/thavma.json index 8c91c2af..6f2e27ff 100644 --- a/src/generated/resources/data/thavma/thavma/research/entry/thavma/thavma.json +++ b/src/generated/resources/data/thavma/thavma/research/entry/thavma/thavma.json @@ -16,7 +16,7 @@ "locked": true }, { - "aspect": "thavma:aether", + "aspect": "thavma:praecantatio", "broken": false, "indices": { "col": 4, diff --git a/src/generated/resources/data/thavma/thavma/research/entry/thavma/wands.json b/src/generated/resources/data/thavma/thavma/research/entry/thavma/wands.json index 77ccd882..dbb56255 100644 --- a/src/generated/resources/data/thavma/thavma/research/entry/thavma/wands.json +++ b/src/generated/resources/data/thavma/thavma/research/entry/thavma/wands.json @@ -4,7 +4,7 @@ "defaultKnown": false, "defaultResearchState": [ { - "aspect": "thavma:aether", + "aspect": "thavma:praecantatio", "broken": false, "indices": { "col": 0, diff --git a/src/generated/resources/data/thavma/worldgen/configured_feature/ore_aer.json b/src/generated/resources/data/thavma/worldgen/configured_feature/ore_aer.json new file mode 100644 index 00000000..1c89d540 --- /dev/null +++ b/src/generated/resources/data/thavma/worldgen/configured_feature/ore_aer.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 7, + "targets": [ + { + "state": { + "Name": "thavma:aer_infused_stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "thavma:aer_infused_deepslate" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/thavma/worldgen/configured_feature/ore_infused_stone.json b/src/generated/resources/data/thavma/worldgen/configured_feature/ore_infused_stone.json index 5553d841..45718fd2 100644 --- a/src/generated/resources/data/thavma/worldgen/configured_feature/ore_infused_stone.json +++ b/src/generated/resources/data/thavma/worldgen/configured_feature/ore_infused_stone.json @@ -3,6 +3,7 @@ "config": { "features": [ "thavma:ore_ignis", + "thavma:ore_aer", "thavma:ore_terra", "thavma:ore_aqua", "thavma:ore_aether" diff --git a/src/generated/resources/data/thavma/worldgen/placed_feature/ore_aer.json b/src/generated/resources/data/thavma/worldgen/placed_feature/ore_aer.json new file mode 100644 index 00000000..5b9856be --- /dev/null +++ b/src/generated/resources/data/thavma/worldgen/placed_feature/ore_aer.json @@ -0,0 +1,4 @@ +{ + "feature": "thavma:ore_aer", + "placement": [] +} \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/client/ClientHelper.kt b/src/main/java/me/alegian/thavma/impl/client/ClientHelper.kt index 37aac7af..6266a558 100644 --- a/src/main/java/me/alegian/thavma/impl/client/ClientHelper.kt +++ b/src/main/java/me/alegian/thavma/impl/client/ClientHelper.kt @@ -39,8 +39,4 @@ fun clientSound(sound: SoundEvent, source: SoundSource, volume: Float, pitch: Fl object ClientHelper { fun hitResult() = Minecraft.getInstance().hitResult fun player() = Minecraft.getInstance().player - fun bufferSource() = Minecraft.getInstance().renderBuffers().bufferSource() - fun entityRenderDispatcher() = Minecraft.getInstance().entityRenderDispatcher - fun camera() = Minecraft.getInstance().gameRenderer.mainCamera - fun firstPerson() = Minecraft.getInstance().options.cameraType.isFirstPerson } \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/client/event/T7ClientGameEvents.kt b/src/main/java/me/alegian/thavma/impl/client/event/T7ClientGameEvents.kt index 984e7bba..fa2875af 100644 --- a/src/main/java/me/alegian/thavma/impl/client/event/T7ClientGameEvents.kt +++ b/src/main/java/me/alegian/thavma/impl/client/event/T7ClientGameEvents.kt @@ -7,10 +7,9 @@ import me.alegian.thavma.impl.client.getClientPlayerEquipmentItem import me.alegian.thavma.impl.client.gui.foci.FociScreen import me.alegian.thavma.impl.client.gui.tooltip.AspectClientTooltipComponent import me.alegian.thavma.impl.client.gui.tooltip.AspectTooltipComponent -import me.alegian.thavma.impl.client.gui.tooltip.containedAspectsComponents import me.alegian.thavma.impl.client.gui.tooltip.containedPrimalsComponent +import me.alegian.thavma.impl.client.gui.tooltip.containedAspectsComponents import me.alegian.thavma.impl.client.renderer.AspectRenderer -import me.alegian.thavma.impl.client.renderer.ExcavationRenderer import me.alegian.thavma.impl.client.renderer.HammerHighlightRenderer import me.alegian.thavma.impl.common.aspect.AspectHelper import me.alegian.thavma.impl.common.block.AuraNodeBlock @@ -160,6 +159,5 @@ fun registerClientGameEvents() { KFF_GAME_BUS.addListener(::jarTooltip) KFF_GAME_BUS.addListener(::aspectTooltip) KFF_GAME_BUS.addListener(::renderPlayerPre) - KFF_GAME_BUS.addListener(ExcavationRenderer::renderLevelAfterEntities) KFF_GAME_BUS.addListener(::clientTick) } \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/client/event/T7ClientModEvents.kt b/src/main/java/me/alegian/thavma/impl/client/event/T7ClientModEvents.kt index b634b82b..0f179c4b 100644 --- a/src/main/java/me/alegian/thavma/impl/client/event/T7ClientModEvents.kt +++ b/src/main/java/me/alegian/thavma/impl/client/event/T7ClientModEvents.kt @@ -111,7 +111,7 @@ private fun registerGeometryLoaders(event: RegisterGeometryLoaders) { } private fun registerItemColorHandlers(event: RegisterColorHandlersEvent.Item) { - for (aspect in Aspects.DATAGEN_PRIMALS) { + for (aspect in Aspects.PRIMAL_ASPECTS) { event.register( { _, tintIndex -> when (tintIndex) { @@ -156,7 +156,7 @@ private fun registerItemColorHandlers(event: RegisterColorHandlersEvent.Item) { } private fun registerBlockColorHandlers(event: RegisterColorHandlersEvent.Block) { - for (aspect in Aspects.DATAGEN_PRIMALS) { + for (aspect in Aspects.PRIMAL_ASPECTS) { event.register( { _, _, _, tintIndex -> when (tintIndex) { diff --git a/src/main/java/me/alegian/thavma/impl/client/gui/WorkbenchScreen.kt b/src/main/java/me/alegian/thavma/impl/client/gui/WorkbenchScreen.kt index df35c4e1..24a353ff 100644 --- a/src/main/java/me/alegian/thavma/impl/client/gui/WorkbenchScreen.kt +++ b/src/main/java/me/alegian/thavma/impl/client/gui/WorkbenchScreen.kt @@ -65,7 +65,7 @@ open class WorkbenchScreen(val menu: WorkbenchMenu, pPlayerInventory: Inventory, // TODO: cleanup protected open val renderAspects = Renderable { guiGraphics: GuiGraphics, _: Int, _: Int, _: Float -> val BASE_RADIUS = 50 - val ANGLE = 360f / Aspects.DATAGEN_PRIMALS.size + val ANGLE = 360f / Aspects.PRIMAL_ASPECTS.size val middleSlot = menu.craftingContainer.range.slots[4] if (middleSlot !is DynamicSlot<*>) return@Renderable @@ -74,7 +74,7 @@ open class WorkbenchScreen(val menu: WorkbenchMenu, pPlayerInventory: Inventory, translateXY((middleSlot.size - ASPECT_SOCKET.width) / 2.0, (middleSlot.size - ASPECT_SOCKET.height) / 2.0) // draw aspects at pentagon points (or N-gon if more primals are added by addons) - for ((i, a) in Aspects.DATAGEN_PRIMALS.withIndex()) { + for ((i, a) in Aspects.PRIMAL_ASPECTS.withIndex()) { val requiredAmount = menu.requiredAspects[a.get()] val requiredStack = AspectStack(a.get(), requiredAmount) guiGraphics.usePose { diff --git a/src/main/java/me/alegian/thavma/impl/client/gui/layer/WandLayer.kt b/src/main/java/me/alegian/thavma/impl/client/gui/layer/WandLayer.kt index ed95abec..ebb155f4 100644 --- a/src/main/java/me/alegian/thavma/impl/client/gui/layer/WandLayer.kt +++ b/src/main/java/me/alegian/thavma/impl/client/gui/layer/WandLayer.kt @@ -35,7 +35,7 @@ object WandLayer : LayeredDraw.Layer { rotateZ(-16f) // draw the bars with stacking rotations - for (deferredAspect in Aspects.DATAGEN_PRIMALS) { + for (deferredAspect in Aspects.PRIMAL_ASPECTS) { val a = deferredAspect.get() graphics.usePose { translateXY(0.0, CIRCLE.height) diff --git a/src/main/java/me/alegian/thavma/impl/client/gui/research_table/AspectWidget.kt b/src/main/java/me/alegian/thavma/impl/client/gui/research_table/AspectWidget.kt index 46efa581..d1b17484 100644 --- a/src/main/java/me/alegian/thavma/impl/client/gui/research_table/AspectWidget.kt +++ b/src/main/java/me/alegian/thavma/impl/client/gui/research_table/AspectWidget.kt @@ -19,7 +19,7 @@ class AspectWidget(position: Vec2, private val researchScreen: ResearchScreen, p tooltip = T7Tooltip( message, Component.translatable(descriptionTranslationId).withStyle(ChatFormatting.GRAY), - Component.translatable(costTranslationId).append(" 1").withStyle(ChatFormatting.GRAY) + Component.translatable(costTranslationId).append(" ${aspect.rank}").withStyle(ChatFormatting.GRAY) ) } diff --git a/src/main/java/me/alegian/thavma/impl/client/gui/research_table/SocketWidget.kt b/src/main/java/me/alegian/thavma/impl/client/gui/research_table/SocketWidget.kt index 1f2846f4..9d395a02 100644 --- a/src/main/java/me/alegian/thavma/impl/client/gui/research_table/SocketWidget.kt +++ b/src/main/java/me/alegian/thavma/impl/client/gui/research_table/SocketWidget.kt @@ -6,7 +6,6 @@ import me.alegian.thavma.impl.client.renderer.AspectRenderer import me.alegian.thavma.impl.client.texture.Texture import me.alegian.thavma.impl.client.util.* import me.alegian.thavma.impl.common.aspect.Aspect -import me.alegian.thavma.impl.common.aspect.relatedTo import me.alegian.thavma.impl.common.block.ResearchTableBlock import me.alegian.thavma.impl.common.payload.SocketStatePayload import me.alegian.thavma.impl.common.research.SocketState @@ -79,8 +78,9 @@ class SocketWidget(val position: Vec2, private val indices: Indices, private val private fun renderConnections(aspect: Aspect, guiGraphics: GuiGraphics) { for (neighborIdx in indices.axial.axialNeighbors) { - val neighbor = screen.socketWidgets[neighborIdx] ?: continue - if (neighbor.state.aspect?.wrapAsHolder()?.relatedTo(aspect.wrapAsHolder()) != true) continue + val neighbor = screen.socketWidgets[neighborIdx] + if (neighbor == null) continue + if (neighbor.state.aspect?.components?.map { it.get() }?.contains(aspect) != true) continue val dx = neighbor.position.x - position.x val dy = neighbor.position.y - position.y val angleDegrees = atan2(dy, dx) * 180 / Math.PI diff --git a/src/main/java/me/alegian/thavma/impl/client/gui/tooltip/TooltipHelper.kt b/src/main/java/me/alegian/thavma/impl/client/gui/tooltip/TooltipHelper.kt index 8688959e..8739451b 100644 --- a/src/main/java/me/alegian/thavma/impl/client/gui/tooltip/TooltipHelper.kt +++ b/src/main/java/me/alegian/thavma/impl/client/gui/tooltip/TooltipHelper.kt @@ -1,17 +1,17 @@ package me.alegian.thavma.impl.client.gui.tooltip import me.alegian.thavma.impl.common.aspect.AspectMap -import me.alegian.thavma.impl.init.registries.deferred.Aspects.DATAGEN_PRIMALS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRIMAL_ASPECTS import net.minecraft.network.chat.Component import net.minecraft.network.chat.MutableComponent fun containedPrimalsComponent(contents: AspectMap): MutableComponent { return Component.empty().also { - for (i in DATAGEN_PRIMALS.indices) { - val a = DATAGEN_PRIMALS[i].get() + for (i in PRIMAL_ASPECTS.indices) { + val a = PRIMAL_ASPECTS[i].get() val newPart = Component.literal(contents[a].toString()).withColor(a.color) it.append(newPart) - if (i != DATAGEN_PRIMALS.size - 1) it.append(Component.literal(" | ")) + if (i != PRIMAL_ASPECTS.size - 1) it.append(Component.literal(" | ")) } } } diff --git a/src/main/java/me/alegian/thavma/impl/client/renderer/ExcavationRenderer.kt b/src/main/java/me/alegian/thavma/impl/client/renderer/ExcavationRenderer.kt deleted file mode 100644 index 2d239124..00000000 --- a/src/main/java/me/alegian/thavma/impl/client/renderer/ExcavationRenderer.kt +++ /dev/null @@ -1,103 +0,0 @@ -package me.alegian.thavma.impl.client.renderer - -import com.mojang.blaze3d.systems.RenderSystem -import com.mojang.blaze3d.vertex.PoseStack -import com.mojang.math.Axis -import me.alegian.thavma.impl.client.ClientHelper -import me.alegian.thavma.impl.client.util.transformOrigin -import me.alegian.thavma.impl.client.util.translate -import me.alegian.thavma.impl.common.entity.lerpedPosition -import me.alegian.thavma.impl.common.item.WandItem.Companion.equippedFocus -import me.alegian.thavma.impl.common.level.Excavation -import me.alegian.thavma.impl.common.util.minus -import me.alegian.thavma.impl.common.util.use -import me.alegian.thavma.impl.init.registries.deferred.Aspects -import me.alegian.thavma.impl.init.registries.deferred.T7Items -import net.minecraft.client.Minecraft -import net.minecraft.client.player.AbstractClientPlayer -import net.minecraft.client.renderer.MultiBufferSource -import net.minecraft.client.renderer.blockentity.BeaconRenderer -import net.minecraft.client.renderer.entity.player.PlayerRenderer -import net.minecraft.world.entity.HumanoidArm -import net.minecraft.world.level.ClipContext -import net.neoforged.neoforge.client.event.RenderLevelStageEvent -import org.joml.Matrix4f -import org.joml.Quaternionf -import org.joml.Vector3f -import kotlin.math.ceil - -object ExcavationRenderer { - fun renderLevelAfterEntities(event: RenderLevelStageEvent) { - if (event.stage != RenderLevelStageEvent.Stage.AFTER_ENTITIES) return - val level = Minecraft.getInstance().level ?: return - val players = level.players() - val partialTick = event.partialTick.gameTimeDeltaTicks - - for (player in players) { - if (player.useItem.equippedFocus?.item != T7Items.FOCUS_EXCAVATION.get()) return - val playerRenderer = ClientHelper.entityRenderDispatcher().getRenderer(player) - if (playerRenderer !is PlayerRenderer) return - - val from = player.lerpedPosition(partialTick).add(0.0, player.eyeHeight.toDouble(), 0.0) - val to = from.add(player.getViewVector(partialTick).scale(Excavation.RANGE)) - val hitresult = level.clip(ClipContext(from, to, ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)) - val hitPos = hitresult.location.toVector3f() - - event.poseStack.use { - setUpWandPose(player, playerRenderer, partialTick) - render(event.poseStack, ClientHelper.bufferSource(), partialTick, player.level().gameTime, hitPos) - } - } - } - - private fun PoseStack.setUpWandPose(player: AbstractClientPlayer, playerRenderer: PlayerRenderer, partialTick: Float) { - translate(player.lerpedPosition(partialTick) - ClientHelper.camera().position) - if (player == ClientHelper.player() && ClientHelper.firstPerson()) { - translate(0f, player.eyeHeight, 0f) - mulPose(ClientHelper.camera().rotation()) - - // go to first person hand - val sideMultiplier = if (player.mainArm == HumanoidArm.RIGHT) 1.0 else -1.0 - translate(0.6 * sideMultiplier, -0.3, -0.5) - // go to the tip of the wand - translate(-0.4, 0.1, -0.2) - } else { - mulPose(Axis.YP.rotationDegrees(-player.yBodyRot)) - // go to arm pivot point (hours of reverse engineering led to this constant) - translate(0.0, 19 / 16.0, 0.0) - playerRenderer.model.translateToHand(player.mainArm, this) - // go to the tip of the wand - translate(0.0, -0.6, 0.8) - } - } - - fun render(handPose: PoseStack, bufferSource: MultiBufferSource, partialTick: Float, gameTime: Long, hitPos: Vector3f) { - handPose.use { - // rotate towards target block - val targetPos = hitPos - ClientHelper.camera().position.toVector3f() - val wandTipPos = transformOrigin() - val currentUp = Vector3f(0f, 1f, 0f) - val localDiff = (targetPos - wandTipPos).mulDirection(handPose.last().pose().invert(Matrix4f())) - val correctUp = localDiff.normalize(Vector3f()) - mulPose(Quaternionf().rotationTo(currentUp, correctUp)) - - // undo built-in translation of beacon - translate(-0.5, 0.0, -0.5) - RenderSystem.disableCull() - BeaconRenderer.renderBeaconBeam( - handPose, - bufferSource, - BeaconRenderer.BEAM_LOCATION, - partialTick, - 1f, - gameTime, - 0, - ceil(localDiff.length()).toInt(), - Aspects.TERRA.get().color, - 0.3f, - 0.3f - ) - RenderSystem.enableCull() - } - } -} \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/client/renderer/entity/VisER.kt b/src/main/java/me/alegian/thavma/impl/client/renderer/entity/VisER.kt index af66f5bd..d2bbe934 100644 --- a/src/main/java/me/alegian/thavma/impl/client/renderer/entity/VisER.kt +++ b/src/main/java/me/alegian/thavma/impl/client/renderer/entity/VisER.kt @@ -1,7 +1,6 @@ package me.alegian.thavma.impl.client.renderer.entity import com.mojang.blaze3d.vertex.PoseStack -import me.alegian.thavma.impl.client.ClientHelper import me.alegian.thavma.impl.client.T7Colors import me.alegian.thavma.impl.client.renderer.renderFlyingAspects import me.alegian.thavma.impl.client.util.translate @@ -56,7 +55,7 @@ private fun preparePlayerHandPosition(pPartialTick: Float, player: Player): Vec3 val arm = player.mainArm // for first person, if it is the client player, we follow the camera - if (player === ClientHelper.player() && ClientHelper.firstPerson()) { + if (player === Minecraft.getInstance().player && Minecraft.getInstance().options.cameraType.isFirstPerson) { val angle = Math.PI / 2 - player.getViewYRot(pPartialTick) / 360f * 2 * Math.PI val translation = player.getViewVector(pPartialTick).normalize().scale(.1) position += Vec3(0.0, player.eyeHeight + 0.01, 0.0) diff --git a/src/main/java/me/alegian/thavma/impl/common/aspect/Aspect.kt b/src/main/java/me/alegian/thavma/impl/common/aspect/Aspect.kt index 02364379..6c659429 100644 --- a/src/main/java/me/alegian/thavma/impl/common/aspect/Aspect.kt +++ b/src/main/java/me/alegian/thavma/impl/common/aspect/Aspect.kt @@ -1,36 +1,31 @@ package me.alegian.thavma.impl.common.aspect -import me.alegian.thavma.impl.init.registries.T7DataMaps -import me.alegian.thavma.impl.init.registries.T7Registries +import me.alegian.thavma.impl.init.registries.T7Registries.ASPECT import net.minecraft.Util -import net.minecraft.core.Holder import net.minecraft.network.codec.ByteBufCodecs import net.minecraft.resources.ResourceLocation +import java.util.function.Supplier -class Aspect(var id: String, var color: Int, val isPrimal: Boolean) { +class Aspect(var id: String, var color: Int, var components: List>) { + val isPrimal: Boolean + get() = components.isEmpty() val translationId by lazy { - Util.makeDescriptionId(T7Registries.ASPECT.key().location().path, T7Registries.ASPECT.getKey(this)) + Util.makeDescriptionId(ASPECT.key().location().path, ASPECT.getKey(this)) + } + val rank: Int by lazy { + if (isPrimal) 1 + else components.maxOf { a -> a.get().rank } + 1 } val resourceKey - get() = T7Registries.ASPECT.getResourceKey(this).get() + get() = ASPECT.getResourceKey(this).get() companion object { val STREAM_CODEC = ByteBufCodecs.STRING_UTF8.map( - { s -> T7Registries.ASPECT[ResourceLocation.parse(s)]!! }, - { a -> T7Registries.ASPECT.getKey(a).toString() } + { s -> ASPECT[ResourceLocation.parse(s)]!! }, + { a -> ASPECT.getKey(a).toString() } ) - val CODEC = T7Registries.ASPECT.byNameCodec() + val CODEC = ASPECT.byNameCodec() } fun defaultStack() = AspectStack.of(this, 1) - - fun wrapAsHolder() = T7Registries.ASPECT.wrapAsHolder(this) } - -fun Holder.relatedAspects() = - getData(T7DataMaps.ASPECT_RELATIONS) ?: listOf() - -fun Holder.relatedTo(other: Holder) = - this.relatedAspects().contains(other.value()) || - other.relatedAspects().contains(this.value()) - diff --git a/src/main/java/me/alegian/thavma/impl/common/aspect/AspectMap.kt b/src/main/java/me/alegian/thavma/impl/common/aspect/AspectMap.kt index caa6bf96..67e619f0 100644 --- a/src/main/java/me/alegian/thavma/impl/common/aspect/AspectMap.kt +++ b/src/main/java/me/alegian/thavma/impl/common/aspect/AspectMap.kt @@ -1,15 +1,12 @@ package me.alegian.thavma.impl.common.aspect import com.mojang.serialization.Codec -import me.alegian.thavma.impl.init.registries.deferred.Aspects.DATAGEN_PRIMALS -import net.minecraft.core.Holder +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRIMAL_ASPECTS import net.minecraft.network.codec.ByteBufCodecs import net.minecraft.network.codec.StreamCodec import java.util.* import java.util.function.Consumer import java.util.function.Supplier -import kotlin.math.round -import kotlin.math.roundToInt /** * Immutable. @@ -36,8 +33,6 @@ class AspectMap(map: Map = LinkedHashMap()) : Iterable return builder().copyOf(this).add(aspect, amount).build() } - fun add(aspectHolder: Holder, amount: Int) = add(aspectHolder.value(), amount) - fun add(other: AspectMap): AspectMap { val builder = builder().copyOf(this) other.forEach(Consumer { aspectStack: AspectStack -> builder.add(aspectStack) }) @@ -48,20 +43,12 @@ class AspectMap(map: Map = LinkedHashMap()) : Iterable return builder().copyOf(this).subtract(aspect, amount).build() } - fun subtract(aspectHolder: Holder, amount: Int) = subtract(aspectHolder.value(), amount) - fun subtract(other: AspectMap): AspectMap { val builder = builder().copyOf(this) other.forEach(Consumer { aspectStack: AspectStack -> builder.subtract(aspectStack) }) return builder.build() } - fun remove(aspectHolder: Holder): AspectMap { - val builder = builder().copyOf(this) - builder.remove(aspectHolder.value()) - return builder.build() - } - fun scale(multiplier: Number): AspectMap { return builder().copyOf(this).scale(multiplier).build() } @@ -151,13 +138,8 @@ class AspectMap(map: Map = LinkedHashMap()) : Iterable return this.subtract(aspectStack.aspect, aspectStack.amount) } - fun remove(aspect: Aspect): Builder { - map.remove(aspect) - return this - } - fun scale(multiplier: Number): Builder { - map.forEach { (k: Aspect, v: Int) -> map[k] = round(v * multiplier.toDouble()).toInt() } + map.forEach { (k: Aspect, v: Int) -> map[k] = (v * multiplier.toDouble()).toInt() } map = LinkedHashMap(map.filterValues { it > 0 }) return this } @@ -186,7 +168,7 @@ class AspectMap(map: Map = LinkedHashMap()) : Iterable fun randomPrimals(scale: Int): AspectMap { val random = Random() val map = LinkedHashMap() - val primals = ArrayList(DATAGEN_PRIMALS) + val primals = ArrayList(PRIMAL_ASPECTS) primals.shuffle() val randomPrimals = primals.subList(0, random.nextInt(primals.size) + 1) for (a in randomPrimals) map[a.get()] = random.nextInt(scale) + 1 @@ -199,7 +181,7 @@ class AspectMap(map: Map = LinkedHashMap()) : Iterable fun ofPrimals(amount: Int): AspectMap { val builder = Builder() - for (a in DATAGEN_PRIMALS) { + for (a in PRIMAL_ASPECTS) { builder.add(a.get(), amount) } return builder.build() diff --git a/src/main/java/me/alegian/thavma/impl/common/data/capability/AspectContainer.kt b/src/main/java/me/alegian/thavma/impl/common/data/capability/AspectContainer.kt index ca6e47ce..a3b28023 100644 --- a/src/main/java/me/alegian/thavma/impl/common/data/capability/AspectContainer.kt +++ b/src/main/java/me/alegian/thavma/impl/common/data/capability/AspectContainer.kt @@ -6,7 +6,7 @@ import me.alegian.thavma.impl.common.aspect.AspectStack import me.alegian.thavma.impl.common.aspect.AspectStack.Companion.of import me.alegian.thavma.impl.init.registries.T7Capabilities.AspectContainer.BLOCK import me.alegian.thavma.impl.init.registries.T7Capabilities.AspectContainer.ITEM -import me.alegian.thavma.impl.init.registries.deferred.Aspects.DATAGEN_PRIMALS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRIMAL_ASPECTS import me.alegian.thavma.impl.init.registries.deferred.T7DataComponents.ASPECTS import net.minecraft.core.BlockPos import net.minecraft.world.item.ItemStack @@ -59,7 +59,7 @@ open class AspectContainer( } open fun canTransferPrimals(): Boolean { - return DATAGEN_PRIMALS.stream() + return PRIMAL_ASPECTS.stream() .anyMatch { a -> simulateTransfer(a.get(), 1) > 0 } } @@ -84,9 +84,9 @@ open class AspectContainer( } open fun transferPrimal(indexOffset: Int, idealAmount: Int): AspectStack? { - val primals = DATAGEN_PRIMALS.size + val primals = PRIMAL_ASPECTS.size for (i in 0.. 0) level.updateBlockEntityS2C(blockPosition()) } diff --git a/src/main/java/me/alegian/thavma/impl/common/event/T7CommonGameEvents.kt b/src/main/java/me/alegian/thavma/impl/common/event/T7CommonGameEvents.kt index a9c60081..e5f4ca1a 100644 --- a/src/main/java/me/alegian/thavma/impl/common/event/T7CommonGameEvents.kt +++ b/src/main/java/me/alegian/thavma/impl/common/event/T7CommonGameEvents.kt @@ -3,8 +3,6 @@ package me.alegian.thavma.impl.common.event import me.alegian.thavma.impl.common.enchantment.ShriekResistance import me.alegian.thavma.impl.common.entity.isWearingStepHeightBoots import me.alegian.thavma.impl.common.item.EnderpearlFocus -import me.alegian.thavma.impl.common.item.WandItem -import me.alegian.thavma.impl.common.item.WandItem.Companion.equippedFocus import me.alegian.thavma.impl.common.level.Exchanging import me.alegian.thavma.impl.common.level.TreeFelling import me.alegian.thavma.impl.init.registries.T7AttributeModifiers @@ -20,11 +18,9 @@ import net.minecraft.world.damagesource.DamageTypes import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.ai.attributes.Attributes -import net.minecraft.world.item.Items import net.neoforged.neoforge.event.entity.living.LivingDamageEvent import net.neoforged.neoforge.event.entity.living.LivingFallEvent import net.neoforged.neoforge.event.entity.living.MobEffectEvent -import net.neoforged.neoforge.event.entity.player.PlayerEvent import net.neoforged.neoforge.event.tick.EntityTickEvent import kotlin.math.max import thedarkcolour.kotlinforforge.neoforge.forge.FORGE_BUS as KFF_GAME_BUS @@ -98,23 +94,12 @@ fun entityFall(event: LivingFallEvent) { event.entity.setData(T7Attachments.LEVITATES, false) } -fun harvestCheck(event: PlayerEvent.HarvestCheck) { - val stack = event.entity.mainHandItem - if (stack.item !is WandItem) return - if (stack.equippedFocus?.item != T7Items.FOCUS_EXCAVATION.asItem()) return - - // excavation focus is the same as a netherite pickaxe - val netheritePick = Items.NETHERITE_PICKAXE.defaultInstance - event.setCanHarvest(event.canHarvest() || netheritePick.isCorrectToolForDrops(event.targetBlock)) -} - fun registerCommonGameEvents() { KFF_GAME_BUS.addListener(::entityTickPre) KFF_GAME_BUS.addListener(::livingDamagePost) KFF_GAME_BUS.addListener(::mobEffectApplicable) KFF_GAME_BUS.addListener(::preLivingDamage) KFF_GAME_BUS.addListener(::entityFall) - KFF_GAME_BUS.addListener(::harvestCheck) KFF_GAME_BUS.addListener(TreeFelling::blockBreak) KFF_GAME_BUS.addListener(TreeFelling::levelTick) KFF_GAME_BUS.addListener(Exchanging::levelTick) diff --git a/src/main/java/me/alegian/thavma/impl/common/event/T7CommonModEvents.kt b/src/main/java/me/alegian/thavma/impl/common/event/T7CommonModEvents.kt index 242961e3..11eb77d8 100644 --- a/src/main/java/me/alegian/thavma/impl/common/event/T7CommonModEvents.kt +++ b/src/main/java/me/alegian/thavma/impl/common/event/T7CommonModEvents.kt @@ -74,7 +74,6 @@ private fun registerCapabilities(event: RegisterCapabilitiesEvent) { private fun registerDataMapTypes(event: RegisterDataMapTypesEvent) { event.register(T7DataMaps.AspectContent.ITEM) event.register(T7DataMaps.AspectContent.ENTITY) - event.register(T7DataMaps.ASPECT_RELATIONS) } private fun gatherData(event: GatherDataEvent) { diff --git a/src/main/java/me/alegian/thavma/impl/common/item/ExcavationFocus.kt b/src/main/java/me/alegian/thavma/impl/common/item/ExcavationFocus.kt deleted file mode 100644 index c094d23c..00000000 --- a/src/main/java/me/alegian/thavma/impl/common/item/ExcavationFocus.kt +++ /dev/null @@ -1,61 +0,0 @@ -package me.alegian.thavma.impl.common.item - -import me.alegian.thavma.impl.common.aspect.AspectMap -import me.alegian.thavma.impl.common.data.capability.AspectContainer -import me.alegian.thavma.impl.common.level.Excavation -import me.alegian.thavma.impl.init.registries.deferred.Aspects -import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResultHolder -import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.player.Player -import net.minecraft.world.item.Item -import net.minecraft.world.item.ItemStack -import net.minecraft.world.level.ClipContext -import net.minecraft.world.level.Level - -class ExcavationFocus : Item( - Properties().stacksTo(1) -) { - fun aspectCost() = AspectMap.builder().add(Aspects.TERRA, 1).build() - - override fun getUseDuration(stack: ItemStack, entity: LivingEntity) = 72000 - - override fun use(level: Level, player: Player, usedHand: InteractionHand): InteractionResultHolder { - val stack = player.getItemInHand(usedHand) - if (stack.item !is WandItem || !hasEnoughAspects(stack)) return InteractionResultHolder.pass(stack) - - player.startUsingItem(usedHand) - return InteractionResultHolder.consume(stack) - } - - override fun onUseTick(level: Level, livingEntity: LivingEntity, stack: ItemStack, remainingUseDuration: Int) { - if ( - level.gameTime % 4 != 0L || - level.isClientSide || - livingEntity !is Player - ) return - - if (!hasEnoughAspects(stack)) return livingEntity.releaseUsingItem() - - if (level.gameTime % 20 == 0L) AspectContainer.from(stack)?.extract(aspectCost()) - advanceBlockBreak(level, livingEntity) - } - - override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int) { - if ( - level.isClientSide || - livingEntity !is Player - ) return - Excavation.stopExcavation(level, livingEntity) - } - - private fun advanceBlockBreak(level: Level, player: Player) { - val from = player.eyePosition - val to = from.add(player.getViewVector(0f).scale(Excavation.RANGE)) - val hitresult = level.clip(ClipContext(from, to, ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)) - Excavation.excavate(level, player, hitresult, 4) - } - - private fun hasEnoughAspects(stack: ItemStack) = - AspectContainer.from(stack)?.aspects?.contains(aspectCost()) ?: false -} \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/common/item/ItemExtensions.kt b/src/main/java/me/alegian/thavma/impl/common/item/ItemExtensions.kt deleted file mode 100644 index 9d2eb38f..00000000 --- a/src/main/java/me/alegian/thavma/impl/common/item/ItemExtensions.kt +++ /dev/null @@ -1,8 +0,0 @@ -package me.alegian.thavma.impl.common.item - -import net.minecraft.core.registries.BuiltInRegistries -import net.minecraft.world.level.ItemLike - -val ItemLike.itemResourceKey - get() = BuiltInRegistries.ITEM.getResourceKey(this.asItem()).orElseThrow() - diff --git a/src/main/java/me/alegian/thavma/impl/common/item/WandItem.kt b/src/main/java/me/alegian/thavma/impl/common/item/WandItem.kt index adc8b4f7..77d69d18 100644 --- a/src/main/java/me/alegian/thavma/impl/common/item/WandItem.kt +++ b/src/main/java/me/alegian/thavma/impl/common/item/WandItem.kt @@ -12,6 +12,7 @@ import me.alegian.thavma.impl.common.wand.WandPlatingMaterial import me.alegian.thavma.impl.init.registries.deferred.T7BlockEntities import me.alegian.thavma.impl.init.registries.deferred.T7Blocks import me.alegian.thavma.impl.init.registries.deferred.T7DataComponents +import me.alegian.thavma.impl.rl import net.minecraft.core.BlockPos import net.minecraft.core.Direction import net.minecraft.server.level.ServerLevel @@ -20,6 +21,7 @@ import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand import net.minecraft.world.InteractionResult import net.minecraft.world.InteractionResultHolder +import net.minecraft.world.entity.Entity import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.Item @@ -30,9 +32,15 @@ import net.minecraft.world.item.context.UseOnContext import net.minecraft.world.level.Level import net.minecraft.world.level.block.Blocks import net.neoforged.neoforge.common.Tags +import software.bernie.geckolib.GeckoLibServices 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.network.packet.SingletonAnimTriggerPacket import software.bernie.geckolib.util.GeckoLibUtil import java.util.function.Consumer @@ -50,8 +58,8 @@ open class WandItem(props: Properties, val platingMaterial: WandPlatingMaterial, * 4. Creating "Elements of Thavma" books from Bookcases */ override fun useOn(context: UseOnContext): InteractionResult { - val focus = context.itemInHand.equippedFocus - if (focus != null) return focus.item.useOn(context) + val focusResult = context.itemInHand.equippedFocus?.item?.useOn(context) ?: InteractionResult.PASS + if (focusResult != InteractionResult.PASS) return focusResult val level = context.level val blockPos = context.clickedPos @@ -109,28 +117,17 @@ open class WandItem(props: Properties, val platingMaterial: WandPlatingMaterial, return InteractionResult.PASS } - override fun use(level: Level, player: Player, usedHand: InteractionHand): InteractionResultHolder { - val focus = player.getItemInHand(usedHand).equippedFocus - if (focus != null) return focus.item.use(level, player, usedHand) + override fun use(level: Level, player: Player, usedHand: InteractionHand): InteractionResultHolder { + val itemInHand = player.getItemInHand(usedHand) + val focusResult = itemInHand.equippedFocus?.item?.use(level, player, usedHand) ?: InteractionResultHolder.pass(itemInHand) + if (focusResult.result != InteractionResult.PASS) return focusResult return super.use(level, player, usedHand) } - override fun onUseTick(level: Level, livingEntity: LivingEntity, stack: ItemStack, remainingUseDuration: Int) { - val focus = stack.equippedFocus - if (focus != null) return focus.item.onUseTick(level, livingEntity, stack, remainingUseDuration) - super.onUseTick(level, livingEntity, stack, remainingUseDuration) - } - - override fun releaseUsing(stack: ItemStack, level: Level, livingEntity: LivingEntity, timeCharged: Int) { - val focus = stack.equippedFocus - if (focus != null) return focus.item.releaseUsing(stack, level, livingEntity, timeCharged) - super.releaseUsing(stack, level, livingEntity, timeCharged) - } - override fun interactLivingEntity(stack: ItemStack, player: Player, interactionTarget: LivingEntity, usedHand: InteractionHand): InteractionResult { - val focus = stack.equippedFocus - if (focus != null) return focus.item.interactLivingEntity(stack, player, interactionTarget, usedHand) + val focusResult = stack.equippedFocus?.item?.interactLivingEntity(stack, player, interactionTarget, usedHand) ?: InteractionResult.PASS + if (focusResult != InteractionResult.PASS) return focusResult return super.interactLivingEntity(stack, player, interactionTarget, usedHand) } @@ -139,9 +136,8 @@ open class WandItem(props: Properties, val platingMaterial: WandPlatingMaterial, return UseAnim.CUSTOM } - override fun getUseDuration(stack: ItemStack, entity: LivingEntity): Int { - val focusDuration = stack.equippedFocus?.item?.getUseDuration(stack, entity) - return focusDuration ?: 72000 + override fun getUseDuration(pStack: ItemStack, pEntity: LivingEntity): Int { + return 72000 } /** diff --git a/src/main/java/me/alegian/thavma/impl/common/level/Excavation.kt b/src/main/java/me/alegian/thavma/impl/common/level/Excavation.kt deleted file mode 100644 index b93e7932..00000000 --- a/src/main/java/me/alegian/thavma/impl/common/level/Excavation.kt +++ /dev/null @@ -1,50 +0,0 @@ -package me.alegian.thavma.impl.common.level - -import net.minecraft.core.BlockPos -import net.minecraft.network.protocol.game.ClientboundLevelEventPacket -import net.minecraft.server.level.ServerPlayer -import net.minecraft.world.entity.player.Player -import net.minecraft.world.level.Level -import net.minecraft.world.level.block.Block -import net.minecraft.world.level.block.LevelEvent -import net.minecraft.world.level.block.state.BlockState -import net.minecraft.world.phys.BlockHitResult -import net.minecraft.world.phys.HitResult - -object Excavation { - const val RANGE = 10.0 - private val instances = mutableMapOf() - - fun excavate(level: Level, player: Player, hitResult: BlockHitResult, speed: Int) { - if (level.isClientSide || player !is ServerPlayer) return - if (hitResult.type == HitResult.Type.MISS) return - - val blockPos = hitResult.blockPos - val blockState = level.getBlockState(blockPos) - - val progressObject = instances.compute(player.id) { _, v -> - if (v == null || v.blockPos != blockPos || v.blockState != blockState) - ExcavationProgress(blockPos, blockState, speed) - else - ExcavationProgress(blockPos, blockState, (v.progress + speed).coerceIn(0, 10)) - } ?: return - - level.destroyBlockProgress(-player.id, blockPos, progressObject.progress) - - if (progressObject.progress < 10) return - player.gameMode.destroyBlock(blockPos) - // due to the internals of the previous function, we need to separately send sound to the breaking player - player.connection.send(ClientboundLevelEventPacket(LevelEvent.PARTICLES_DESTROY_BLOCK, blockPos, Block.getId(blockState), false)) - } - - fun stopExcavation(level: Level, player: Player) { - if (level.isClientSide) return - instances.remove(player.id) - } -} - -data class ExcavationProgress( - val blockPos: BlockPos, - val blockState: BlockState, - val progress: Int -) \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/common/research/ResearchState.kt b/src/main/java/me/alegian/thavma/impl/common/research/ResearchState.kt index eab344fd..0535b276 100644 --- a/src/main/java/me/alegian/thavma/impl/common/research/ResearchState.kt +++ b/src/main/java/me/alegian/thavma/impl/common/research/ResearchState.kt @@ -2,7 +2,6 @@ package me.alegian.thavma.impl.common.research import com.mojang.serialization.Codec import com.mojang.serialization.codecs.RecordCodecBuilder -import me.alegian.thavma.impl.common.aspect.relatedTo import me.alegian.thavma.impl.common.util.Indices import me.alegian.thavma.impl.init.registries.T7DatapackRegistries import net.minecraft.core.Holder @@ -75,7 +74,9 @@ private fun calculateCompleted(defaultStates: List, socketStates: M if (explored.contains(neighborIdx)) continue val neighbor = graph[neighborIdx] ?: continue val neighborAspect = neighbor.aspect ?: continue - if (!currAspect.wrapAsHolder().relatedTo(neighborAspect.wrapAsHolder())) continue + val connected = currAspect.components.map { it.get() }.contains(neighborAspect) + || neighborAspect.components.map { it.get() }.contains(currAspect) + if (!connected) continue connections.add(neighborIdx) toExplore.add(neighborIdx) diff --git a/src/main/java/me/alegian/thavma/impl/common/scanning/ScanHelper.kt b/src/main/java/me/alegian/thavma/impl/common/scanning/ScanHelper.kt index d63789c5..39f292fa 100644 --- a/src/main/java/me/alegian/thavma/impl/common/scanning/ScanHelper.kt +++ b/src/main/java/me/alegian/thavma/impl/common/scanning/ScanHelper.kt @@ -3,10 +3,8 @@ package me.alegian.thavma.impl.common.scanning import com.google.common.primitives.Doubles.max import me.alegian.thavma.impl.common.aspect.AspectHelper import me.alegian.thavma.impl.common.aspect.AspectMap -import me.alegian.thavma.impl.common.aspect.relatedAspects import me.alegian.thavma.impl.common.entity.addKnowledge import me.alegian.thavma.impl.common.entity.knowsAspect -import me.alegian.thavma.impl.common.item.itemResourceKey import me.alegian.thavma.impl.common.payload.ScanResultPayload import me.alegian.thavma.impl.common.util.serialize import me.alegian.thavma.impl.init.registries.deferred.T7Attachments @@ -36,11 +34,11 @@ fun Player.hasScanned(entity: Entity): Boolean { // blocks fall back to items fun Player.hasScanned(blockState: BlockState): Boolean { - return hasScanned(blockState.block.itemResourceKey) + return hasScanned(itemKey(blockState.block.asItem())) } fun Player.hasScanned(itemStack: ItemStack): Boolean { - return hasScanned(itemStack.item.itemResourceKey) + return hasScanned(itemKey(itemStack.item)) } private fun ServerPlayer.tryScan(key: ResourceKey<*>, aspectMap: AspectMap?) { @@ -49,7 +47,7 @@ private fun ServerPlayer.tryScan(key: ResourceKey<*>, aspectMap: AspectMap?) { else if (hasScanned(key)) scanResult = ScanResult.SUCCESS else { val aspects = aspectMap.map { it.aspect } - if (aspects.any { it.wrapAsHolder().relatedAspects().none { !knowsAspect(it) } }) scanResult = ScanResult.LOCKED + if (aspects.flatMap { it.components }.any { !knowsAspect(it.get()) }) scanResult = ScanResult.LOCKED else addKnowledge( aspects @@ -67,18 +65,21 @@ private fun ServerPlayer.tryScan(key: ResourceKey<*>, aspectMap: AspectMap?) { // itemEntities fall back to items fun ServerPlayer.tryScan(entity: Entity) { - if (entity is ItemEntity) return tryScan(entity.item.item.itemResourceKey, AspectHelper.getAspects(entity.item)) + if (entity is ItemEntity) return tryScan(itemKey(entity.item.item), AspectHelper.getAspects(entity.item)) tryScan(entityKey(entity.type), AspectHelper.getAspects(entity)) } fun ServerPlayer.tryScan(blockState: BlockState) { - tryScan(blockState.block.itemResourceKey, AspectHelper.getAspects(blockState.block)) + tryScan(itemKey(blockState.block.asItem()), AspectHelper.getAspects(blockState.block)) } private fun entityKey(entityType: EntityType<*>) = BuiltInRegistries.ENTITY_TYPE.getResourceKey(entityType).get() +private fun itemKey(item: Item) = + BuiltInRegistries.ITEM.getResourceKey(item).get() + fun Player.getScanHitResult(): HitResult { val rayVec = getViewVector(0.0f).scale(max(blockInteractionRange(), entityInteractionRange())) val predicate = { entity: Entity -> !entity.isSpectator && (entity.isPickable || entity is ItemEntity) } diff --git a/src/main/java/me/alegian/thavma/impl/common/util/T7StreamCodecs.kt b/src/main/java/me/alegian/thavma/impl/common/util/T7StreamCodecs.kt deleted file mode 100644 index 5b03e55c..00000000 --- a/src/main/java/me/alegian/thavma/impl/common/util/T7StreamCodecs.kt +++ /dev/null @@ -1,17 +0,0 @@ -package me.alegian.thavma.impl.common.util - -import net.minecraft.network.codec.ByteBufCodecs -import net.minecraft.network.codec.StreamCodec -import net.minecraft.world.phys.Vec3 - -object T7StreamCodecs{ - val VEC3 = StreamCodec.composite( - ByteBufCodecs.DOUBLE, - {it.x}, - ByteBufCodecs.DOUBLE, - {it.y}, - ByteBufCodecs.DOUBLE, - {it.z}, - ::Vec3 - ) -} \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/common/util/Vector2iExtensions.kt b/src/main/java/me/alegian/thavma/impl/common/util/Vector2iExtensions.kt index 70e29bab..2a253f16 100644 --- a/src/main/java/me/alegian/thavma/impl/common/util/Vector2iExtensions.kt +++ b/src/main/java/me/alegian/thavma/impl/common/util/Vector2iExtensions.kt @@ -2,4 +2,4 @@ package me.alegian.thavma.impl.common.util import org.joml.Vector2i -operator fun Vector2i.minus(other: Vector2i) = this.sub(other) \ No newline at end of file +operator fun Vector2i.minus(other: Vector2i) = Vector2i(x - other.x, y - other.y) \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/common/util/Vector3fExtensions.kt b/src/main/java/me/alegian/thavma/impl/common/util/Vector3fExtensions.kt deleted file mode 100644 index 1d90ec44..00000000 --- a/src/main/java/me/alegian/thavma/impl/common/util/Vector3fExtensions.kt +++ /dev/null @@ -1,6 +0,0 @@ -package me.alegian.thavma.impl.common.util - -import org.joml.Vector3f - -operator fun Vector3f.minus(other: Vector3f) = this.sub(other) -operator fun Vector3f.plus(other: Vector3f) = this.add(other) diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7BlockLootSubProvider.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7BlockLootSubProvider.kt index 3c5bb204..b01e39fe 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7BlockLootSubProvider.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7BlockLootSubProvider.kt @@ -3,7 +3,7 @@ package me.alegian.thavma.impl.init.data.providers import me.alegian.thavma.impl.common.block.InfusedBlock import me.alegian.thavma.impl.common.item.ShardItem import me.alegian.thavma.impl.init.registries.T7BlockStateProperties -import me.alegian.thavma.impl.init.registries.deferred.Aspects.DATAGEN_PRIMALS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRIMAL_ASPECTS import me.alegian.thavma.impl.init.registries.deferred.T7Blocks import me.alegian.thavma.impl.init.registries.deferred.T7Blocks.ARCANE_LEVITATOR import me.alegian.thavma.impl.init.registries.deferred.T7Blocks.ARCANE_WORKBENCH @@ -92,7 +92,7 @@ class T7BlockLootSubProvider(lookupProvider: HolderLookup.Provider) : BlockLootS add(T7Blocks.SEALING_JAR.get()) { b -> createJarTable(b) } - for (aspect in DATAGEN_PRIMALS) { + for (aspect in PRIMAL_ASPECTS) { infusedBlock(INFUSED_STONES[aspect], SHARDS[aspect]) infusedBlock(INFUSED_DEEPSLATES[aspect], SHARDS[aspect]) } diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DataMapProvider.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DataMapProvider.kt index a932e891..153bb450 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DataMapProvider.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DataMapProvider.kt @@ -2,12 +2,53 @@ package me.alegian.thavma.impl.init.data.providers import me.alegian.thavma.impl.common.aspect.AspectMap import me.alegian.thavma.impl.init.data.providers.aspects.* +import me.alegian.thavma.impl.init.registries.T7DataMaps +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AER +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AETHER +import me.alegian.thavma.impl.init.registries.deferred.Aspects.ALIENIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.ALKIMIA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AQUA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AVERSIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.BESTIA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.COGNITIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.DESIDERIUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.EXANIMIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.FABRICO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.GELUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.HERBA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.HUMANUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.IGNIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.INSTRUMENTUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.LUX +import me.alegian.thavma.impl.init.registries.deferred.Aspects.METALLUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.MOTUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.POTENTIA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRAECANTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRAEMUNIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.SENSUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TENEBRAE +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TERRA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VACUOS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VICTUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VINCULUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VITREUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VOLATUS +import me.alegian.thavma.impl.init.registries.deferred.T7Blocks +import me.alegian.thavma.impl.init.registries.deferred.T7Items import net.minecraft.core.HolderLookup import net.minecraft.core.registries.BuiltInRegistries +import net.minecraft.data.BlockFamily import net.minecraft.data.PackOutput import net.minecraft.resources.ResourceKey +import net.minecraft.tags.ItemTags import net.minecraft.tags.TagKey import net.minecraft.world.entity.EntityType +import net.minecraft.world.item.Item +import net.minecraft.world.item.Items +import net.minecraft.world.level.ItemLike +import net.minecraft.world.level.block.Block +import net.minecraft.world.level.block.Blocks +import net.neoforged.neoforge.common.Tags import net.neoforged.neoforge.common.data.DataMapProvider import net.neoforged.neoforge.common.data.DataMapProvider.Builder import java.util.concurrent.CompletableFuture @@ -17,17 +58,315 @@ import java.util.function.Supplier class T7DataMapProvider(packOutput: PackOutput, lookupProvider: CompletableFuture) : DataMapProvider(packOutput, lookupProvider) { override fun gather(lookupProvider: HolderLookup.Provider) { - AspectRelations.gather(this) - - BlockAndItemAspects.gather(this, lookupProvider) EntityAspects.gather(this, lookupProvider) MineralAspects.gather(this, lookupProvider) ToolAspects.gather(this, lookupProvider) ArmorAspects.gather(this, lookupProvider) BlockFamilyAspects.gather(this, lookupProvider) + + val i = builder(T7DataMaps.AspectContent.ITEM) + + i.item(Items.BLAZE_POWDER) { + it.add(IGNIS, 2) + .add(POTENTIA, 1) + .add(ALKIMIA, 2) + } + i.item(Tags.Items.GUNPOWDERS) { + it.add(POTENTIA, 4) + .add(ALKIMIA, 2) + .add(TERRA, 1) + } + i.item(Tags.Items.RODS_BLAZE) { + it.add(IGNIS, 8) + .add(POTENTIA, 4) + } + i.item(Tags.Items.RODS_BREEZE) { + it.add(AER, 8) + .add(MOTUS, 4) + } + i.item(Items.WIND_CHARGE) { + it.add(AER, 2) + .add(MOTUS, 1) + } + i.item(Items.FIRE_CHARGE) { + it.add(POTENTIA, 4) + .add(IGNIS, 4) + .add(AVERSIO, 2) + } + i.item(Tags.Items.LEATHERS) { + it.add(BESTIA, 8) + } + i.item(T7Items.FABRIC) { + it.add(FABRICO, 4).add(PRAECANTATIO, 1) + } + i.item(T7Items.ARCANE_LENS) { + it.add(METALLUM, 16) + .add(DESIDERIUM, 32) + .add(PRAECANTATIO, 2) + .add(VITREUS, 2) + } + i.item(T7Items.ROTTEN_BRAIN) { + it.add(COGNITIO, 16) + .add(EXANIMIS, 8) + } + i.item(Items.ROTTEN_FLESH) { + it.add(HUMANUS, 2) + .add(EXANIMIS, 2) + } + i.item(Items.ARMADILLO_SCUTE) { + it.add(BESTIA, 2) + .add(PRAEMUNIO, 1) + } + i.item(Items.TURTLE_SCUTE) { + it.add(BESTIA, 2) + .add(PRAEMUNIO, 1) + .add(AQUA, 1) + } + i.item(Items.FLINT) { + it.add(TERRA, 4) + .add(INSTRUMENTUM, 2) + } + i.item(Tags.Items.FEATHERS) { + it.add(VOLATUS, 4) + .add(AER, 4) + } + i.item(Tags.Items.ENDER_PEARLS) { + it.add(MOTUS, 4) + .add(ALIENIS, 4) + } + i.item(Items.ENDER_EYE) { + it.add(MOTUS, 4) + .add(ALIENIS, 4) + .add(PRAECANTATIO, 2) + } + i.item(Tags.Items.STRINGS) { + it.add(BESTIA, 1) + .add(FABRICO, 1) + } + i.item(Items.GHAST_TEAR) { + it.add(EXANIMIS, 4) + .add(ALKIMIA, 4) + } + i.item(Items.SUGAR) { + it.add(HERBA, 2) + .add(VICTUS, 1) + } + i.item(Items.PAPER) { + it.add(COGNITIO, 1) + .add(HERBA, 1) + } + i.item(Items.FIREWORK_ROCKET) { + it.add(POTENTIA, 1) + .add(SENSUS, 1) + } + i.item(Items.FIREWORK_STAR) { + it.add(POTENTIA, 1) + .add(SENSUS, 2) + } + i.item(Items.SNOWBALL) { it.add(GELUM, 1) } + i.item(Items.NETHER_BRICK) { it.add(TERRA, 1).add(IGNIS, 1) } + i.item(Items.PRISMARINE_CRYSTALS) { it.add(VITREUS, 4).add(AQUA, 4).add(LUX, 2) } + i.item(Items.PRISMARINE_SHARD) { it.add(AQUA, 2).add(TERRA, 2) } + i.item(Items.CHORUS_FRUIT) { it.add(HERBA, 2).add(ALIENIS, 2) } + i.item(Items.POPPED_CHORUS_FRUIT) { it.add(HERBA, 2).add(ALIENIS, 2) } + i.item(Items.CLAY_BALL) { it.add(TERRA, 1).add(AQUA, 1) } + i.item(Items.BRICK) { it.add(TERRA, 1).add(IGNIS, 1) } + + i.item(Tags.Items.RODS_WOODEN) { it.add(HERBA, 2) } + + i.item(Tags.Items.EGGS) { it.add(VICTUS, 4).add(BESTIA, 2) } + + i.item(Tags.Items.CROPS_WHEAT) { it.add(VICTUS, 2).add(HERBA, 2) } + + i.item(Items.END_CRYSTAL) { + it.add(VITREUS, 14) + .add(POTENTIA, 8) + .add(ALIENIS, 4) + .add(IGNIS, 4) + } + + i.item(Blocks.NETHER_WART) { it.add(HERBA, 2).add(IGNIS, 2) } + i.item(Blocks.CHORUS_PLANT) { it.add(HERBA, 2).add(ALIENIS, 2) } + i.item(Blocks.CHORUS_FLOWER) { it.add(HERBA, 4).add(ALIENIS, 4) } + i.item(Tags.Items.NETHERRACKS) { it.add(TERRA, 1).add(IGNIS, 1) } + i.item(Blocks.MUD) { it.add(TERRA, 1).add(AQUA, 1) } + i.item(Blocks.PACKED_MUD) { it.add(TERRA, 2).add(HERBA, 2) } + i.item(ItemTags.DIRT) { it.add(TERRA, 1) } + i.item(Blocks.COARSE_DIRT) { it.add(TERRA, 1) } + i.item(Tags.Items.GRAVELS) { it.add(TERRA, 2) } + i.item(Tags.Items.STONES) { it.add(TERRA, 2) } + i.item(Tags.Items.COBBLESTONES) { it.add(TERRA, 2) } + i.item(Tags.Items.SANDS) { it.add(TERRA, 2) } + i.item(Blocks.CLAY) { it.add(TERRA, 4).add(AQUA, 4) } + + i.item(Blocks.GRASS_BLOCK) { + it.add(TERRA, 1).add(HERBA, 1) + } + i.item(Blocks.PODZOL) { + it.add(TERRA, 1).add(HERBA, 1) + } + i.item(Blocks.SHORT_GRASS) { + it.add(HERBA, 1).add(AER, 1) + } + i.item(Blocks.TALL_GRASS) { + it.add(HERBA, 1).add(AER, 1) + } + + i.item(ItemTags.TERRACOTTA) { + it.add(TERRA, 4) + .add(IGNIS, 4) + .add(SENSUS, 1) + } + i.item(Tags.Items.CONCRETE_POWDERS) { + it.add(TERRA, 3) + } + i.item(Tags.Items.CONCRETES) { + it.add(TERRA, 3) + .add(AQUA, 1) + .add(AETHER, 1) + } + + i.item(ItemTags.LEAVES) { it.add(HERBA, 2) } + i.item(ItemTags.SAPLINGS) { it.add(HERBA, 4).add(VICTUS, 4) } + i.item(ItemTags.LOGS) { it.add(HERBA, 8) } + i.item(ItemTags.FLOWERS) { it.add(HERBA, 4).add(VICTUS, 1) } + + i.item(Blocks.SUGAR_CANE) { + it.add(HERBA, 2) + .add(AQUA, 1) + .add(AER, 1) + } + + i.item(T7Blocks.TABLE) { it.add(HERBA, 12) } + i.item(T7Blocks.RESEARCH_TABLE) { + it.add(HERBA, 12) + .add(PRAECANTATIO, 2) + } + + i.item(ItemTags.WOOL) { + it.add(BESTIA, 4).add(SENSUS, 2).add(FABRICO, 4) + } + + i.item(Tags.Items.GLASS_BLOCKS_CHEAP) { it.add(VITREUS, 2) } + i.item(Tags.Items.GLASS_PANES) { it.add(VITREUS, 1) } + + i.item(ItemTags.WOOL) { it.add(BESTIA, 8).add(FABRICO, 4) } + + i.item(Blocks.TORCH) { it.add(LUX, 4) } + + i.item(Blocks.SNOW) { it.add(GELUM, 1) } + i.item(Blocks.SNOW_BLOCK) { it.add(GELUM, 4) } + i.item(Blocks.POWDER_SNOW) { it.add(GELUM, 2) } + + i.item(Blocks.BEDROCK) { + it.add(VACUOS, 25) + .add(TERRA, 25) + .add(TENEBRAE, 25) + } + i.item(T7Blocks.ETERNAL_FLAME) { + it.add(LUX, 12) + .add(POTENTIA, 8) + .add(IGNIS, 8) + } + i.item(T7Blocks.CRACKED_ELEMENTAL_STONE) { + it.add(TERRA, 4) + .add(PRAECANTATIO, 1) + } + i.item(T7Blocks.ELEMENTAL_STONE_BRICKS) { + it.add(TERRA, 4) + .add(PRAECANTATIO, 1) + } + i.item(T7Blocks.ELEMENTAL_CORE) { + it.add(TERRA, 6) + .add(PRAECANTATIO, 2) + } + i.item(Blocks.CRAFTING_TABLE) { + it.add(FABRICO, 8) + .add(HERBA, 4) + } + i.item(T7Blocks.ARCANE_WORKBENCH) { + it.add(FABRICO, 12) + .add(HERBA, 4) + .add(PRAECANTATIO, 2) + } + i.item(Items.CAULDRON) { + it.add(METALLUM, 56) + .add(ALKIMIA, 8) + } + i.item(T7Blocks.CRUCIBLE) { + it.add(METALLUM, 56) + .add(ALKIMIA, 8) + .add(PRAECANTATIO, 2) + } + i.item(T7Blocks.SEALING_JAR) { + it.add(VITREUS, 4) + .add(VACUOS, 2) + .add(PRAECANTATIO, 2) + } + i.item(Blocks.TNT) { + it.add(POTENTIA, 20) + .add(TERRA, 1) + } + i.item(Blocks.TRIPWIRE_HOOK) { + it.add(VINCULUM, 2) + .add(METALLUM, 2) + } + i.item(Blocks.HEAVY_CORE) { + it.add(METALLUM, 16) + .add(DESIDERIUM, 8) + .add(VACUOS, 2) + } + i.item(Blocks.BAMBOO) { it.add(HERBA, 1) } + i.item(ItemTags.BAMBOO_BLOCKS) { it.add(HERBA, 4) } } } +fun Builder.blockFamily(blockFamily: BlockFamily, builderConsumer: Consumer) { + val aspectBuilder = AspectMap.builder() + builderConsumer.accept(aspectBuilder) + val aspects = aspectBuilder.build() + + fun addFamilyVariant(block: Block?, multiplier: Number) { + if (block == null) return + add(key(block.asItem()), aspects.scale(multiplier), false) + } + + addFamilyVariant(blockFamily.baseBlock, 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.BUTTON), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.CHISELED), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.CRACKED), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.CUT), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.DOOR), 2) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.CUSTOM_FENCE), 1.5) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.FENCE), 1.5) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.CUSTOM_FENCE_GATE), 4) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.FENCE_GATE), 4) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.MOSAIC), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.SIGN), 2) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.SLAB), 0.5) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.STAIRS), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.PRESSURE_PLATE), 2) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.POLISHED), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.TRAPDOOR), 3) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.WALL), 1) + addFamilyVariant(blockFamily.get(BlockFamily.Variant.WALL_SIGN), 2) +} + +fun Builder.item(item: ItemLike, builderConsumer: Consumer) { + val aspectBuilder = AspectMap.builder() + builderConsumer.accept(aspectBuilder) + add(key(item.asItem()), aspectBuilder.build(), false) +} + +fun Builder.item(sup: Supplier, builderConsumer: Consumer) = + item(sup.get(), builderConsumer) + +fun Builder.item(tag: TagKey, builderConsumer: Consumer) { + val aspectBuilder = AspectMap.builder() + builderConsumer.accept(aspectBuilder) + add(tag, aspectBuilder.build(), false) +} + fun Builder>.entity(entityType: EntityType<*>, builderConsumer: Consumer) { val aspectBuilder = AspectMap.builder() builderConsumer.accept(aspectBuilder) @@ -46,3 +385,7 @@ fun Builder>.entity(tag: TagKey>, builder private fun key(entityType: EntityType<*>): ResourceKey> { return BuiltInRegistries.ENTITY_TYPE.getResourceKey(entityType).orElseThrow() } + +private fun key(item: Item): ResourceKey { + return BuiltInRegistries.ITEM.getResourceKey(item).orElseThrow() +} diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DatapackBuiltinEntriesProvider.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DatapackBuiltinEntriesProvider.kt index 14da7e58..f219bfa1 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DatapackBuiltinEntriesProvider.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7DatapackBuiltinEntriesProvider.kt @@ -117,7 +117,7 @@ class T7DatapackBuiltinEntriesProvider(output: PackOutput, registries: Completab } .add(T7DatapackRegistries.RESEARCH_ENTRY) { ctx -> ResearchEntryBuilder(ResearchEntries.Thavma.THAVMA, Vector2i(0, -6), false, T7Items.BOOK.get().defaultInstance) - .research(lockedAspect(2, 0, Aspects.AETHER), lockedAspect(2, 4, Aspects.AETHER)) + .research(lockedAspect(2, 0, Aspects.AETHER), lockedAspect(2, 4, Aspects.PRAECANTATIO)) .addPage(simpleTextPage(3, true)) .addPage(simpleTextPage(1, false)) .addChild(ResearchEntries.Thavma.TREES) @@ -136,13 +136,13 @@ class T7DatapackBuiltinEntriesProvider(output: PackOutput, registries: Completab .build(ctx) ResearchEntryBuilder(ResearchEntries.Thavma.ARCANE_LENS, Vector2i(2, -2), false, T7Items.ARCANE_LENS.get().defaultInstance) - .research(lockedAspect(2, 0, Aspects.LUX), lockedAspect(2, 4, Aspects.AETHER), broken(2, 2)) + .research(lockedAspect(2, 0, Aspects.LUX), lockedAspect(2, 4, Aspects.PRAECANTATIO), broken(2, 2)) .addChild(ResearchEntries.Thavma.RESEARCH_TABLE) .addPage(simpleTextPage(3, true)) .build(ctx) ResearchEntryBuilder(ResearchEntries.Thavma.RESEARCH_TABLE, Vector2i(0, 0), true, T7Blocks.RESEARCH_TABLE.get().asItem().defaultInstance) - .research(lockedAspect(2, 0, Aspects.AETHER), lockedAspect(2, 4, Aspects.HERBA)) + .research(lockedAspect(2, 0, Aspects.PRAECANTATIO), lockedAspect(2, 4, Aspects.HERBA)) .addPage { _, _ -> CraftingPage(Recipes.CHEST) } .addChild(ResearchEntries.Thavma.WANDS) .addChild(ResearchEntries.Thavma.TECHNOLOGY) @@ -152,7 +152,7 @@ class T7DatapackBuiltinEntriesProvider(output: PackOutput, registries: Completab .build(ctx) ResearchEntryBuilder(ResearchEntries.Thavma.RESEARCH_PROFICIENCY, Vector2i(-1, -1), false, T7Blocks.RESEARCH_TABLE.get().asItem().defaultInstance) - .research(lockedAspect(2, 0, Aspects.AETHER), lockedAspect(2, 4, Aspects.HERBA)) + .research(lockedAspect(2, 0, Aspects.PRAECANTATIO), lockedAspect(2, 4, Aspects.HERBA)) .build(ctx) ResearchEntryBuilder(ResearchEntries.Thavma.ALCHEMY, Vector2i(-2, 2), true, T7Blocks.CRUCIBLE.get().asItem().defaultInstance) @@ -160,15 +160,15 @@ class T7DatapackBuiltinEntriesProvider(output: PackOutput, registries: Completab .build(ctx) ResearchEntryBuilder(ResearchEntries.Thavma.WANDS, Vector2i(-2, 4), true, T7Items.wandOrThrow(WandPlatingMaterials.THAVMITE.get(), WandCoreMaterials.SILVERWOOD.get()).defaultInstance) - .research(lockedAspect(2, 0, Aspects.AETHER), lockedAspect(2, 4, Aspects.INSTRUMENTUM)) + .research(lockedAspect(2, 0, Aspects.PRAECANTATIO), lockedAspect(2, 4, Aspects.INSTRUMENTUM)) .build(ctx) ResearchEntryBuilder(ResearchEntries.Thavma.INFUSION, Vector2i(2, 2), true, T7Blocks.MATRIX.get().asItem().defaultInstance) - .research(lockedAspect(2, 0, Aspects.TERRA), lockedAspect(2, 4, Aspects.AETHER)) + .research(lockedAspect(2, 0, Aspects.TERRA), lockedAspect(2, 4, Aspects.PRAECANTATIO)) .build(ctx) ResearchEntryBuilder(ResearchEntries.Thavma.TECHNOLOGY, Vector2i(2, 4), true, T7Items.GOGGLES.get().defaultInstance) - .research(lockedAspect(2, 0, Aspects.INSTRUMENTUM), lockedAspect(2, 4, Aspects.CIVILIS)) + .research(lockedAspect(2, 0, Aspects.INSTRUMENTUM), lockedAspect(2, 4, Aspects.HUMANUS)) .build(ctx) ResearchEntryBuilder(ResearchEntries.Alchemy.ALCHEMY, Vector2i(0, 0), false, T7Blocks.CRUCIBLE.get().asItem().defaultInstance) diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7RecipeProvider.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7RecipeProvider.kt index 07da7e96..1ee0ad9a 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/T7RecipeProvider.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/T7RecipeProvider.kt @@ -11,6 +11,8 @@ import me.alegian.thavma.impl.init.registries.deferred.T7Items import me.alegian.thavma.impl.init.registries.deferred.T7Items.wandOrThrow import me.alegian.thavma.impl.init.registries.deferred.WandCoreMaterials import me.alegian.thavma.impl.init.registries.deferred.WandPlatingMaterials +import net.minecraft.advancements.Criterion +import net.minecraft.advancements.critereon.InventoryChangeTrigger import net.minecraft.advancements.critereon.ItemPredicate import net.minecraft.core.HolderLookup import net.minecraft.core.registries.BuiltInRegistries @@ -46,7 +48,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< wandPlatingCrafting(pRecipeOutput, T7Items.IRON_PLATING.get(), Items.IRON_INGOT, Items.IRON_NUGGET) wandPlatingWorkbench(pRecipeOutput, T7Items.GOLD_PLATING.get(), Items.GOLD_INGOT, Items.GOLD_NUGGET, AspectMap.ofPrimals(8)) wandPlatingWorkbench(pRecipeOutput, T7Items.ORICHALCUM_PLATING.get(), T7Items.ORICHALCUM_INGOT, T7Items.ORICHALCUM_NUGGET, AspectMap.ofPrimals(4)) - wandPlatingInfusion(pRecipeOutput, T7Items.THAVMITE_PLATING.get(), T7Items.THAVMITE_INGOT, T7Items.THAVMITE_NUGGET, AspectMap.builder().add(Aspects.AETHER, 16).build()) + wandPlatingInfusion(pRecipeOutput, T7Items.THAVMITE_PLATING.get(), T7Items.THAVMITE_INGOT, T7Items.THAVMITE_NUGGET, AspectMap.builder().add(Aspects.PRAECANTATIO, 16).build()) ShapedRecipeBuilder.shaped(RecipeCategory.COMBAT, T7Items.THAVMITE_SWORD.get()) .define('a', T7Items.THAVMITE_INGOT.get()) @@ -118,7 +120,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< T7Items.APPRENTICE_BOOTS, ) - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, T7Blocks.ELEMENTAL_STONE_BRICKS, 4) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, T7Blocks.ELEMENTAL_STONE_BRICKS) .define('s', T7Blocks.ELEMENTAL_STONE) .pattern("ss") .pattern("ss") @@ -223,7 +225,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(T7Blocks.SILVERWOOD_LOG), listOf(Ingredient.of(T7Items.SHARDS[Aspects.AETHER]!!), Ingredient.of(T7Items.SHARDS[Aspects.AETHER]!!), Ingredient.of(T7Items.SHARDS[Aspects.AETHER]!!), Ingredient.of(T7Items.SHARDS[Aspects.AETHER]!!)), AspectMap.builder() - .add(Aspects.AETHER, 16) + .add(Aspects.PRAECANTATIO, 16) .build(), ).save(pRecipeOutput) @@ -231,7 +233,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< .unlockedBy(T7Blocks.ELEMENTAL_STONE) .save(pRecipeOutput) - for (a in Aspects.DATAGEN_PRIMALS) { + for (a in Aspects.PRIMAL_ASPECTS) { SimpleCookingRecipeBuilder.blasting(Ingredient.of(T7Blocks.INFUSED_STONES[a], T7Blocks.INFUSED_DEEPSLATES[a]), RecipeCategory.MISC, T7Items.SHARDS[a]!!, 1f, 100) .unlockedBy(T7Tags.Items.INFUSED_STONES) .save(pRecipeOutput, T7Items.SHARDS[a]!!.id.withSuffix("_blasting")) @@ -243,7 +245,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< CrucibleRecipeBuilder( T7Items.THAVMITE_INGOT.get().defaultInstance, AspectMap.builder() - .add(Aspects.AETHER.get(), 4) + .add(Aspects.PRAECANTATIO.get(), 4) .build(), Ingredient.of(Items.IRON_INGOT) ).save(pRecipeOutput) @@ -261,6 +263,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< AspectMap.builder() .add(Aspects.IGNIS.get(), 8) .add(Aspects.LUX.get(), 8) + .add(Aspects.POTENTIA.get(), 8) .build(), Ingredient.of(Items.GLOWSTONE_DUST) ).save(pRecipeOutput) @@ -270,7 +273,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(T7Items.THAVMITE_HELMET), listOf(Ingredient.of(Items.NETHERITE_INGOT), Ingredient.of(Items.DIAMOND), Ingredient.of(Items.LEATHER)), AspectMap.builder() - .add(Aspects.AETHER, 16) + .add(Aspects.PRAECANTATIO, 16) .add(Aspects.PRAEMUNIO, 32) .build(), ).save(pRecipeOutput) @@ -279,7 +282,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(T7Items.THAVMITE_CHESTPLATE), listOf(Ingredient.of(Items.NETHERITE_INGOT), Ingredient.of(Items.DIAMOND), Ingredient.of(Items.LEATHER)), AspectMap.builder() - .add(Aspects.AETHER, 16) + .add(Aspects.PRAECANTATIO, 16) .add(Aspects.PRAEMUNIO, 32) .build(), ).save(pRecipeOutput) @@ -288,7 +291,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(T7Items.THAVMITE_LEGGINGS), listOf(Ingredient.of(Items.NETHERITE_INGOT), Ingredient.of(Items.DIAMOND), Ingredient.of(Items.LEATHER)), AspectMap.builder() - .add(Aspects.AETHER, 16) + .add(Aspects.PRAECANTATIO, 16) .add(Aspects.PRAEMUNIO, 32) .build(), ).save(pRecipeOutput) @@ -297,7 +300,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(T7Items.THAVMITE_BOOTS), listOf(Ingredient.of(Items.NETHERITE_INGOT), Ingredient.of(Items.DIAMOND), Ingredient.of(Items.LEATHER)), AspectMap.builder() - .add(Aspects.AETHER, 16) + .add(Aspects.PRAECANTATIO, 16) .add(Aspects.PRAEMUNIO, 32) .build(), ).save(pRecipeOutput) @@ -325,8 +328,8 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(T7Items.THAVMITE_SWORD), listOf(Ingredient.of(T7Items.THAVMITE_PLATING), Ingredient.of(T7Items.THAVMITE_PLATING), Ingredient.of(T7Items.GREATWOOD_CORE), Ingredient.of(Items.NETHERITE_INGOT)), AspectMap.builder() - .add(Aspects.AETHER, 16) - .add(Aspects.INSTRUMENTUM, 16) + .add(Aspects.PRAECANTATIO, 16) + .add(Aspects.AVERSIO, 16) .build(), ).save(pRecipeOutput) @@ -335,8 +338,8 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(Items.ENDER_PEARL), listOf(Ingredient.of(T7Items.THAVMITE_PLATING), Ingredient.of(T7Items.THAVMITE_PLATING), Ingredient.of(Blocks.DISPENSER)), AspectMap.builder() - .add(Aspects.AETHER, 20) - .add(Aspects.TENEBRAE, 16) + .add(Aspects.MOTUS, 32) + .add(Aspects.ALIENIS, 16) .add(Aspects.INSTRUMENTUM, 16) .build(), ).save(pRecipeOutput) @@ -345,7 +348,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< Ingredient.of(Items.QUARTZ_BLOCK), listOf(Ingredient.of(Items.GOLD_INGOT), Ingredient.of(Items.GOLD_INGOT), Ingredient.of(Items.LAPIS_LAZULI)), AspectMap.builder() - .add(Aspects.ORNATUS, 40) + .add(Aspects.PERMUTATIO, 40) .add(Aspects.INSTRUMENTUM, 16) .build(), ).save(pRecipeOutput) @@ -362,7 +365,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< .unlockedBy(Tags.Items.STORAGE_BLOCKS_COAL) .save(pRecipeOutput) WorkbenchRecipeBuilder.shaped(T7Items.FOCUS_ENDERCHEST, 1) - .requireAspects(AspectMap.builder().add(Aspects.TERRA, 12).add(Aspects.AETHER, 12).build()) + .requireAspects(AspectMap.builder().add(Aspects.TERRA, 12).add(Aspects.AER, 12).build()) .define('e', Blocks.ENDER_CHEST) .define('o', Tags.Items.OBSIDIANS) .define('b', Items.BUNDLE) @@ -375,7 +378,7 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< .save(pRecipeOutput) WorkbenchRecipeBuilder.shaped(T7Blocks.HUNGRY_CHEST, 1) - .requireAspects(AspectMap.builder().add(Aspects.TERRA, 8).add(Aspects.AETHER, 4).build()) + .requireAspects(AspectMap.builder().add(Aspects.AER, 8).add(Aspects.AETHER, 4).build()) .define('t', ItemTags.TRAPDOORS) .define('w', T7Blocks.GREATWOOD_PLANKS) .pattern("wtw") @@ -443,13 +446,14 @@ open class T7RecipeProvider(pOutput: PackOutput, pRegistries: CompletableFuture< WorkbenchRecipeBuilder.shaped(T7Blocks.ARCANE_LEVITATOR, 1) .requireAspects( AspectMap.builder() - .add(Aspects.TERRA, 8) - .add(Aspects.AETHER, 8) + .add(Aspects.AER, 12) + .add(Aspects.TERRA, 4) + .add(Aspects.AETHER, 4) .build() ) .define('s', T7Blocks.ELEMENTAL_STONE) .define('c', T7Blocks.ELEMENTAL_CORE) - .define('a', T7Items.SHARDS[Aspects.TERRA]!!) + .define('a', T7Items.SHARDS[Aspects.AER]!!) .pattern("sas") .pattern("scs") .pattern("sas") diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ArmorAspects.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ArmorAspects.kt index 386763b2..c91ed1db 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ArmorAspects.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ArmorAspects.kt @@ -1,111 +1,217 @@ package me.alegian.thavma.impl.init.data.providers.aspects import me.alegian.thavma.impl.init.data.providers.T7DataMapProvider +import me.alegian.thavma.impl.init.data.providers.item import me.alegian.thavma.impl.init.registries.T7DataMaps import me.alegian.thavma.impl.init.registries.T7Tags -import me.alegian.thavma.impl.init.registries.deferred.Aspects +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AQUA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.BESTIA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.DESIDERIUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.FABRICO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.METALLUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRAECANTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRAEMUNIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TENEBRAE +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VITREUS import me.alegian.thavma.impl.init.registries.deferred.T7Items import net.minecraft.core.HolderLookup import net.minecraft.world.item.Items object ArmorAspects { - val ironHelmet = MineralAspects.iron.mutate(Mutations.helmet(4)) - val ironChestplate = MineralAspects.iron.mutate(Mutations.chestplate(12)) - val ironLeggings = MineralAspects.iron.mutate(Mutations.leggings(10)) - val ironBoots = MineralAspects.iron.mutate(Mutations.boots(4)) - val ironHorseArmor = MineralAspects.iron.mutate(Mutations.horseArmor(6)) - - val goldHelmet = MineralAspects.gold.mutate(Mutations.helmet(4)) - val goldChestplate = MineralAspects.gold.mutate(Mutations.chestplate(10)) - val goldLeggings = MineralAspects.gold.mutate(Mutations.leggings(6)) - val goldBoots = MineralAspects.gold.mutate(Mutations.boots(2)) - val goldHorseArmor = MineralAspects.gold.mutate(Mutations.horseArmor(8)) - - val diamondHelmet = MineralAspects.diamond.mutate(Mutations.helmet(8)) - val diamondChestplate = MineralAspects.diamond.mutate(Mutations.chestplate(18)) - val diamondLeggings = MineralAspects.diamond.mutate(Mutations.leggings(14)) - val diamondBoots = MineralAspects.diamond.mutate(Mutations.boots(8)) - val diamondHorseArmor = MineralAspects.diamond.mutate(Mutations.horseArmor(12)) - - private val netheriteUpgrade = MineralAspects.netherite.mutate { it.add(Aspects.PRAEMUNIO, 1) } - val netheriteHelmet = diamondHelmet.add(netheriteUpgrade) - val netheriteChestplate = diamondChestplate.add(netheriteUpgrade) - val netheriteLeggings = diamondLeggings.add(netheriteUpgrade) - val netheriteBoots = diamondBoots.add(netheriteUpgrade) - - val thavmiteHelmet = MineralAspects.thavmite.mutate(Mutations.helmet(7)) - val thavmiteChestplate = MineralAspects.thavmite.mutate(Mutations.chestplate(13)) - val thavmiteLeggings = MineralAspects.thavmite.mutate(Mutations.leggings(11)) - val thavmiteBoots = MineralAspects.thavmite.mutate(Mutations.boots(5)) - - private val chainBase = MineralAspects.iron.mutate { it.scale(0.5) } - val chainHelmet = chainBase.mutate(Mutations.helmet(4)) - val chainChestplate = chainBase.mutate(Mutations.chestplate(10)) - val chainLeggings = chainBase.mutate(Mutations.leggings(8)) - val chainBoots = chainBase.mutate(Mutations.boots(2)) - - val leatherHelmet = BlockAndItemAspects.leather.mutate(Mutations.helmet(2)) - val leatherChestplate = BlockAndItemAspects.leather.mutate(Mutations.chestplate(6)) - val leatherLeggings = BlockAndItemAspects.leather.mutate(Mutations.leggings(4)) - val leatherBoots = BlockAndItemAspects.leather.mutate(Mutations.boots(2)) - val leatherHorseArmor = BlockAndItemAspects.leather.mutate(Mutations.horseArmor(4)) - - val goggles = BlockAndItemAspects.arcaneLens.mutate { it.scale(2) }.add(MineralAspects.orichalcum.mutate { it.scale(2) }) - val apprenticeChestplate = BlockAndItemAspects.fabric.mutate(Mutations.chestplate(2)) - val apprenticeLeggings = BlockAndItemAspects.fabric.mutate(Mutations.leggings(2)) - val apprenticeBoots = BlockAndItemAspects.fabric.mutate(Mutations.boots(2)) - - val wolfArmor = BlockAndItemAspects.armadilloScute.mutate(Mutations.wolfArmor(0)) - val turtleHelmet = BlockAndItemAspects.turtleScute.mutate(Mutations.helmet(0)) - fun gather(datamapProvider: T7DataMapProvider, lookupProvider: HolderLookup.Provider) { datamapProvider.builder(T7DataMaps.AspectContent.ITEM).run { - leatherHelmet.save(this, Items.LEATHER_HELMET) - leatherChestplate.save(this, Items.LEATHER_CHESTPLATE) - leatherLeggings.save(this, Items.LEATHER_LEGGINGS) - leatherBoots.save(this, Items.LEATHER_BOOTS) - leatherHorseArmor.save(this, Items.LEATHER_HORSE_ARMOR) - - goggles.save(this, T7Tags.Items.GOGGLES) - apprenticeChestplate.save(this, T7Items.APPRENTICE_CHESTPLATE) - apprenticeLeggings.save(this, T7Items.APPRENTICE_LEGGINGS) - apprenticeBoots.save(this, T7Items.APPRENTICE_BOOTS) - - chainHelmet.save(this, Items.CHAINMAIL_HELMET) - chainChestplate.save(this, Items.CHAINMAIL_CHESTPLATE) - chainLeggings.save(this, Items.CHAINMAIL_LEGGINGS) - chainBoots.save(this, Items.CHAINMAIL_BOOTS) - - ironHelmet.save(this, Items.IRON_HELMET) - ironChestplate.save(this, Items.IRON_CHESTPLATE) - ironLeggings.save(this, Items.IRON_LEGGINGS) - ironBoots.save(this, Items.IRON_BOOTS) - ironHorseArmor.save(this, Items.IRON_HORSE_ARMOR) - - goldHelmet.save(this, Items.GOLDEN_HELMET) - goldChestplate.save(this, Items.GOLDEN_CHESTPLATE) - goldLeggings.save(this, Items.GOLDEN_LEGGINGS) - goldBoots.save(this, Items.GOLDEN_BOOTS) - goldHorseArmor.save(this, Items.GOLDEN_HORSE_ARMOR) - - diamondHelmet.save(this, Items.DIAMOND_HELMET) - diamondChestplate.save(this, Items.DIAMOND_CHESTPLATE) - diamondLeggings.save(this, Items.DIAMOND_LEGGINGS) - diamondBoots.save(this, Items.DIAMOND_BOOTS) - diamondHorseArmor.save(this, Items.DIAMOND_HORSE_ARMOR) - - netheriteHelmet.save(this, Items.NETHERITE_HELMET) - netheriteChestplate.save(this, Items.NETHERITE_CHESTPLATE) - netheriteLeggings.save(this, Items.NETHERITE_LEGGINGS) - netheriteBoots.save(this, Items.NETHERITE_BOOTS) - - thavmiteHelmet.save(this, T7Items.THAVMITE_HELMET) - thavmiteChestplate.save(this, T7Items.THAVMITE_CHESTPLATE) - thavmiteLeggings.save(this, T7Items.THAVMITE_LEGGINGS) - thavmiteBoots.save(this, T7Items.THAVMITE_BOOTS) - - wolfArmor.save(this, Items.WOLF_ARMOR) - turtleHelmet.save(this, Items.TURTLE_HELMET) + item(Items.LEATHER_HELMET) { + it.add(BESTIA, 40) + .add(PRAEMUNIO, 2) + } + item(Items.LEATHER_CHESTPLATE) { + it.add(BESTIA, 64) + .add(PRAEMUNIO, 6) + } + item(Items.LEATHER_LEGGINGS) { + it.add(BESTIA, 56) + .add(PRAEMUNIO, 4) + } + item(Items.LEATHER_BOOTS) { + it.add(BESTIA, 32) + .add(PRAEMUNIO, 2) + } + + item(T7Tags.Items.GOGGLES) { + it.add(METALLUM, 32) + .add(DESIDERIUM, 32) + .add(PRAECANTATIO, 4) + .add(VITREUS, 4) + } + item(T7Items.APPRENTICE_CHESTPLATE) { + it.add(FABRICO, 32) + .add(PRAECANTATIO, 8) + .add(PRAEMUNIO, 2) + } + item(T7Items.APPRENTICE_LEGGINGS) { + it.add(FABRICO, 28) + .add(PRAECANTATIO, 7) + .add(PRAEMUNIO, 2) + } + item(T7Items.APPRENTICE_BOOTS) { + it.add(FABRICO, 16) + .add(PRAECANTATIO, 4) + .add(PRAEMUNIO, 2) + } + + item(Items.CHAINMAIL_HELMET) { + it.add(METALLUM, 20) + .add(PRAEMUNIO, 4) + } + item(Items.CHAINMAIL_CHESTPLATE) { + it.add(METALLUM, 32) + .add(PRAEMUNIO, 10) + } + item(Items.CHAINMAIL_LEGGINGS) { + it.add(METALLUM, 28) + .add(PRAEMUNIO, 8) + } + item(Items.CHAINMAIL_BOOTS) { + it.add(METALLUM, 16) + .add(PRAEMUNIO, 2) + } + + item(Items.IRON_HELMET) { + it.add(METALLUM, 40) + .add(PRAEMUNIO, 4) + } + item(Items.IRON_CHESTPLATE) { + it.add(METALLUM, 64) + .add(PRAEMUNIO, 12) + } + item(Items.IRON_LEGGINGS) { + it.add(METALLUM, 56) + .add(PRAEMUNIO, 10) + } + item(Items.IRON_BOOTS) { + it.add(METALLUM, 32) + .add(PRAEMUNIO, 4) + } + + item(T7Items.THAVMITE_HELMET) { + it.add(METALLUM, 40) + .add(PRAECANTATIO, 20) + .add(PRAEMUNIO, 7) + } + item(T7Items.THAVMITE_CHESTPLATE) { + it.add(METALLUM, 64) + .add(PRAECANTATIO, 32) + .add(PRAEMUNIO, 13) + } + item(T7Items.THAVMITE_LEGGINGS) { + it.add(METALLUM, 56) + .add(PRAECANTATIO, 28) + .add(PRAEMUNIO, 11) + } + item(T7Items.THAVMITE_BOOTS) { + it.add(METALLUM, 32) + .add(PRAECANTATIO, 16) + .add(PRAEMUNIO, 5) + } + + item(Items.GOLDEN_HELMET) { + it.add(METALLUM, 20) + .add(DESIDERIUM, 40) + .add(PRAEMUNIO, 4) + } + item(Items.GOLDEN_CHESTPLATE) { + it.add(METALLUM, 32) + .add(DESIDERIUM, 64) + .add(PRAEMUNIO, 10) + } + item(Items.GOLDEN_LEGGINGS) { + it.add(METALLUM, 28) + .add(DESIDERIUM, 56) + .add(PRAEMUNIO, 6) + } + item(Items.GOLDEN_BOOTS) { + it.add(METALLUM, 16) + .add(DESIDERIUM, 32) + .add(PRAEMUNIO, 2) + } + + item(Items.DIAMOND_HELMET) { + it.add(VITREUS, 40) + .add(DESIDERIUM, 40) + .add(PRAEMUNIO, 8) + } + item(Items.DIAMOND_CHESTPLATE) { + it.add(VITREUS, 64) + .add(DESIDERIUM, 64) + .add(PRAEMUNIO, 18) + } + item(Items.DIAMOND_LEGGINGS) { + it.add(VITREUS, 56) + .add(DESIDERIUM, 56) + .add(PRAEMUNIO, 14) + } + item(Items.DIAMOND_BOOTS) { + it.add(VITREUS, 32) + .add(DESIDERIUM, 32) + .add(PRAEMUNIO, 8) + } + + item(Items.NETHERITE_HELMET) { + it.add(METALLUM, 40) + .add(DESIDERIUM, 40) + .add(PRAEMUNIO, 9) + .add(TENEBRAE, 4) + } + item(Items.NETHERITE_CHESTPLATE) { + it.add(METALLUM, 64) + .add(DESIDERIUM, 64) + .add(PRAEMUNIO, 19) + .add(TENEBRAE, 4) + } + item(Items.NETHERITE_LEGGINGS) { + it.add(METALLUM, 56) + .add(DESIDERIUM, 56) + .add(PRAEMUNIO, 15) + .add(TENEBRAE, 4) + } + item(Items.NETHERITE_BOOTS) { + it.add(METALLUM, 32) + .add(DESIDERIUM, 32) + .add(PRAEMUNIO, 9) + .add(TENEBRAE, 4) + } + + item(Items.WOLF_ARMOR) { + it.add(BESTIA, 8) + .add(PRAEMUNIO, 6) + } + item(Items.LEATHER_HORSE_ARMOR) { + it.add(BESTIA, 16) + .add(PRAEMUNIO, 4) + } + item(Items.IRON_HORSE_ARMOR) { + it.add(METALLUM, 16) + .add(PRAEMUNIO, 6) + .add(BESTIA, 8) + } + item(Items.GOLDEN_HORSE_ARMOR) { + it.add(METALLUM, 8) + .add(DESIDERIUM, 16) + .add(PRAEMUNIO, 8) + .add(BESTIA, 8) + } + item(Items.DIAMOND_HORSE_ARMOR) { + it.add(VITREUS, 16) + .add(DESIDERIUM, 16) + .add(PRAEMUNIO, 12) + .add(BESTIA, 8) + } + + item(Items.TURTLE_HELMET) { + it.add(BESTIA, 10) + .add(PRAEMUNIO, 4) + .add(AQUA, 5) + } } } } \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectDatagenHelper.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectDatagenHelper.kt deleted file mode 100644 index 05c20dc5..00000000 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectDatagenHelper.kt +++ /dev/null @@ -1,116 +0,0 @@ -package me.alegian.thavma.impl.init.data.providers.aspects - -import me.alegian.thavma.impl.common.aspect.AspectMap -import me.alegian.thavma.impl.common.item.itemResourceKey -import me.alegian.thavma.impl.init.registries.deferred.Aspects -import net.minecraft.resources.ResourceKey -import net.minecraft.tags.TagKey -import net.minecraft.world.item.Item -import net.minecraft.world.level.ItemLike -import net.neoforged.neoforge.common.data.DataMapProvider -import java.util.function.UnaryOperator - -class AspectGen(val aspects: AspectMap) { - constructor() : this(AspectMap()) - - fun mutate(mutation: UnaryOperator) = - AspectGen(mutation.apply(aspects)) - - fun add(other: AspectGen): AspectGen { - return AspectGen(aspects.add(other.aspects)) - } - - fun save(builder: DataMapProvider.Builder, tag: TagKey) { - builder.add(tag, aspects, false) - } - - fun save(builder: DataMapProvider.Builder, key: ResourceKey) { - builder.add(key, aspects, false) - } - - fun save(builder: DataMapProvider.Builder, itemLike: ItemLike) = - save(builder, itemLike.itemResourceKey) -} - -object Mutations { - val ORE = { it: AspectMap -> - it.add(Aspects.TERRA, 2) - } - val RAW = { it: AspectMap -> - it.scale(0.5).add(Aspects.TERRA, 2) - } - val STORAGE_BLOCK_4 = { it: AspectMap -> - it.scale(4) - } - val STORAGE_BLOCK_9 = { it: AspectMap -> - it.scale(9) - } - val PLATING = { it: AspectMap -> - it.scale(2) - } - - val BUTTON = { it: AspectMap -> it.scale(1) } - val CHISELED = { it: AspectMap -> it.scale(1) } - val CRACKED = { it: AspectMap -> it.scale(1) } - val CUT = { it: AspectMap -> it.scale(1) } - val MOSAIC = { it: AspectMap -> it.scale(1) } - val STAIRS = { it: AspectMap -> it.scale(1) } - val POLISHED = { it: AspectMap -> it.scale(1) } - val WALL = { it: AspectMap -> it.scale(1) } - val DOOR = { it: AspectMap -> it.scale(2) } - val SIGN = { it: AspectMap -> it.scale(2) } - val PRESSURE_PLATE = { it: AspectMap -> it.scale(2) } - val WALL_SIGN = { it: AspectMap -> it.scale(2) } - val FENCE = { it: AspectMap -> it.scale(1.5) } - val FENCE_GATE = { it: AspectMap -> it.scale(4) } - val SLAB = { it: AspectMap -> it.scale(0.5) } - val TRAPDOOR = { it: AspectMap -> it.scale(3) } - - fun helmet(praemunio: Int) = { it: AspectMap -> - it.scale(5).add(Aspects.PRAEMUNIO, praemunio) - } - - fun chestplate(praemunio: Int) = { it: AspectMap -> - it.scale(8).add(Aspects.PRAEMUNIO, praemunio) - } - - fun leggings(praemunio: Int) = { it: AspectMap -> - it.scale(7).add(Aspects.PRAEMUNIO, praemunio) - } - - fun boots(praemunio: Int) = { it: AspectMap -> - it.scale(4).add(Aspects.PRAEMUNIO, praemunio) - } - - fun horseArmor(praemunio: Int) = { it: AspectMap -> - it.scale(7).add(Aspects.PRAEMUNIO, praemunio) - } - - fun wolfArmor(praemunio: Int) = { it: AspectMap -> - it.scale(6).add(Aspects.PRAEMUNIO, praemunio) - } - - fun sword(stick: AspectGen, instrumentum: Int) = { it: AspectMap -> - it.scale(2).add(stick.aspects).add(Aspects.INSTRUMENTUM, instrumentum) - } - - fun pickaxe(stick: AspectGen, instrumentum: Int) = { it: AspectMap -> - it.scale(3).add(stick.aspects.scale(2)).add(Aspects.INSTRUMENTUM, instrumentum) - } - - fun axe(stick: AspectGen, instrumentum: Int) = { it: AspectMap -> - it.scale(3).add(stick.aspects.scale(2)).add(Aspects.INSTRUMENTUM, instrumentum) - } - - fun hoe(stick: AspectGen, instrumentum: Int) = { it: AspectMap -> - it.scale(2).add(stick.aspects.scale(2)).add(Aspects.INSTRUMENTUM, instrumentum) - } - - fun shovel(stick: AspectGen, instrumentum: Int) = { it: AspectMap -> - it.scale(1).add(stick.aspects.scale(2)).add(Aspects.INSTRUMENTUM, instrumentum) - } - - fun hammer(stick: AspectGen, instrumentum: Int) = { it: AspectMap -> - it.scale(6).add(stick.aspects).add(Aspects.INSTRUMENTUM, instrumentum) - } -} diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectRelations.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectRelations.kt deleted file mode 100644 index ed56255e..00000000 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/AspectRelations.kt +++ /dev/null @@ -1,40 +0,0 @@ -package me.alegian.thavma.impl.init.data.providers.aspects - -import me.alegian.thavma.impl.common.aspect.Aspect -import me.alegian.thavma.impl.init.data.providers.T7DataMapProvider -import me.alegian.thavma.impl.init.registries.T7DataMaps -import me.alegian.thavma.impl.init.registries.deferred.Aspects -import net.minecraft.core.Holder -import net.neoforged.neoforge.common.data.DataMapProvider - -object AspectRelations { - fun gather(datamapProvider: T7DataMapProvider) = - datamapProvider.builder(T7DataMaps.ASPECT_RELATIONS).run { - add(Aspects.TERRA, listOf(Aspects.VITREUS, Aspects.METALLUM, Aspects.HERBA, Aspects.VICTUS)) - add(Aspects.IGNIS, listOf(Aspects.METALLUM, Aspects.LUX)) - add(Aspects.AQUA, listOf(Aspects.HERBA, Aspects.VICTUS, Aspects.ALKIMIA)) - add(Aspects.AETHER, listOf(Aspects.ALKIMIA, Aspects.COGNITIO, Aspects.TENEBRAE)) - - add(Aspects.LUX, listOf()) - add(Aspects.VITREUS, listOf(Aspects.ORNATUS, Aspects.INSTRUMENTUM, Aspects.PRAEMUNIO)) - add(Aspects.METALLUM, listOf(Aspects.INSTRUMENTUM, Aspects.PRAEMUNIO, Aspects.MACHINA)) - add(Aspects.VICTUS, listOf(Aspects.HOSTILIS, Aspects.CIVILIS, Aspects.CORPUS)) - add(Aspects.HERBA, listOf()) - - add(Aspects.ALKIMIA, listOf()) - add(Aspects.TENEBRAE, listOf(Aspects.HOSTILIS)) - add(Aspects.INSTRUMENTUM, listOf(Aspects.FABRICO, Aspects.MACHINA)) - add(Aspects.FABRICO, listOf(Aspects.COGNITIO, Aspects.VAS, Aspects.ORNATUS, Aspects.PRAEMUNIO)) - add(Aspects.MACHINA, listOf()) - add(Aspects.VAS, listOf()) - add(Aspects.COGNITIO, listOf(Aspects.CIVILIS)) - add(Aspects.ORNATUS, listOf(Aspects.CIVILIS)) - add(Aspects.HOSTILIS, listOf()) - add(Aspects.CORPUS, listOf()) - add(Aspects.PRAEMUNIO, listOf()) - add(Aspects.CIVILIS, listOf()) - } - - private fun DataMapProvider.Builder, Aspect>.add(aspect: Holder, relations: List>) = - add(aspect, relations.map { it.value() }, false) -} \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockAndItemAspects.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockAndItemAspects.kt deleted file mode 100644 index 43d6afaa..00000000 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockAndItemAspects.kt +++ /dev/null @@ -1,231 +0,0 @@ -package me.alegian.thavma.impl.init.data.providers.aspects - -import me.alegian.thavma.impl.init.data.providers.T7DataMapProvider -import me.alegian.thavma.impl.init.registries.T7DataMaps -import me.alegian.thavma.impl.init.registries.deferred.Aspects -import me.alegian.thavma.impl.init.registries.deferred.T7Blocks -import me.alegian.thavma.impl.init.registries.deferred.T7Items -import net.minecraft.core.HolderLookup -import net.minecraft.tags.ItemTags -import net.minecraft.world.item.Items -import net.minecraft.world.level.block.Blocks -import net.neoforged.neoforge.common.Tags - -object BlockAndItemAspects { - val stone = AspectGen().mutate { it.add(Aspects.TERRA, 2) } - val cobblestone = stone.mutate { it } - val dirt = AspectGen().mutate { it.add(Aspects.TERRA, 1) } - val gravel = AspectGen().mutate { it.add(Aspects.TERRA, 2) } - val sand = AspectGen().mutate { it.add(Aspects.TERRA, 2) } - val brick = AspectGen().mutate { it.add(Aspects.TERRA, 1).add(Aspects.IGNIS, 1) } - val rodsWooden = AspectGen().mutate { it.add(Aspects.HERBA, 1) } - val woodenPlanks = rodsWooden.mutate { it.scale(2) } - val netherPlanks = woodenPlanks.mutate { it.add(Aspects.IGNIS, 2) } - val bambooMosaic = woodenPlanks.mutate { it } - val inkSac = AspectGen().mutate { it.add(Aspects.AQUA, 2).add(Aspects.CORPUS, 2) } - val glowInkSac = inkSac.mutate { it.add(Aspects.LUX, 2) } - val cropsWheat = AspectGen().mutate { it.add(Aspects.VICTUS, 2).add(Aspects.HERBA, 2) } - val mud = AspectGen().mutate { it.add(Aspects.TERRA, 2).add(Aspects.AQUA, 1) } - val packedMud = mud.add(cropsWheat) - val mudBricks = mud.mutate { it } - val andesite = stone.mutate { it } - val polishedAndesite = andesite.mutate { it } - val blackstone = stone.mutate { it.add(Aspects.IGNIS, 2) } - val polishedBlackstone = blackstone.mutate { it } - val polishedBlackstoneBricks = polishedBlackstone.mutate { it } - val bricks = brick.mutate(Mutations.STORAGE_BLOCK_4) - val endStone = AspectGen().mutate { it.add(Aspects.TERRA, 2).add(Aspects.TENEBRAE, 2) } - val endStoneBricks = endStone.mutate { it } - val stoneBrick = stone.mutate { it } - val mossyStoneBricks = stoneBrick.mutate { it.add(Aspects.HERBA, 1) } - val mossyCobblestone = cobblestone.mutate { it.add(Aspects.HERBA, 1) } - val diorite = stone.mutate { it } - val polishedDiorite = diorite.mutate { it } - val granite = stone.mutate { it } - val polishedGranite = granite.mutate { it } - val tuff = stone.mutate { it } - val polishedTuff = tuff.mutate { it } - val tuffBricks = tuff.mutate { it } - val netherrack = AspectGen().mutate { it.add(Aspects.TERRA, 1).add(Aspects.IGNIS, 1) } - val netherBrick = netherrack.mutate { it } - val netherBricks = netherBrick.mutate(Mutations.STORAGE_BLOCK_4) - val netherWart = AspectGen().mutate { it.add(Aspects.HERBA, 2).add(Aspects.IGNIS, 2) } - val redNetherBricks = netherBrick.mutate { it.scale(2) }.add(netherWart.mutate { it.scale(2) }) - val prismarineCrystals = AspectGen().mutate { it.add(Aspects.VITREUS, 2).add(Aspects.AQUA, 1).add(Aspects.LUX, 1) } - val prismarineShard = AspectGen().mutate { it.add(Aspects.AQUA, 1).add(Aspects.TERRA, 1) } - val prismarine = prismarineShard.mutate(Mutations.STORAGE_BLOCK_4) - val chorusFruit = AspectGen().mutate { it.add(Aspects.HERBA, 2).add(Aspects.TENEBRAE, 2) } - val poppedChorusFruit = chorusFruit.mutate { it } - val purpur = poppedChorusFruit.mutate { it } - val prismarineBricks = prismarineShard.mutate(Mutations.STORAGE_BLOCK_9) - val darkPrismarine = prismarineShard.mutate { it.scale(8) }.add(inkSac) - val seaLantern = prismarineCrystals.mutate { it.scale(5) }.add(prismarineBricks.mutate { it.scale(4) }) - val smoothQuartz = MineralAspects.quartzBlock.mutate { it } - val sandstone = sand.mutate(Mutations.STORAGE_BLOCK_4) - val cutSandstone = sandstone.mutate { it } - val smoothSandstone = sandstone.mutate { it } - val deepslate = stone.mutate { it } - val cobbledDeepslate = deepslate.mutate { it } - val polishedDeepslate = deepslate.mutate { it } - val deepslateBricks = deepslate.mutate { it } - val deepslateTiles = deepslate.mutate { it } - val elementalStone = stone.mutate { it.scale(2).add(Aspects.AETHER, 1) } - val leather = AspectGen().mutate { it.add(Aspects.CORPUS, 3) } - val string = AspectGen().mutate { it.add(Aspects.CORPUS, 1).add(Aspects.FABRICO, 1) } - val wool = string.mutate(Mutations.STORAGE_BLOCK_4) - val fabric = wool.mutate { it.remove(Aspects.CORPUS).add(Aspects.AETHER, 1) } - val glassPanes = AspectGen().mutate { it.add(Aspects.VITREUS, 1) } - val glassBlocksCheap = glassPanes.mutate { it.scale(2) } - val arcaneLens = MineralAspects.gold.mutate { it.scale(4).add(Aspects.AETHER, 4) }.add(glassPanes) - val armadilloScute = AspectGen().mutate { it.add(Aspects.CORPUS, 2).add(Aspects.PRAEMUNIO, 1) } - val turtleScute = AspectGen().mutate { it.add(Aspects.CORPUS, 2).add(Aspects.PRAEMUNIO, 1).add(Aspects.AQUA, 1) } - val blazePowder = AspectGen().mutate { it.add(Aspects.IGNIS, 2).add(Aspects.ALKIMIA, 1) } - val gunpowders = AspectGen().mutate { it.add(Aspects.IGNIS, 4).add(Aspects.ALKIMIA, 2).add(Aspects.TERRA, 1) } - val rodsBlaze = blazePowder.mutate { it.scale(2).add(Aspects.CORPUS, 2) } - val rodsBreeze = AspectGen().mutate { it.add(Aspects.AETHER, 6).add(Aspects.CORPUS, 2) } - val windCharge = AspectGen().mutate { it.add(Aspects.ALKIMIA, 4).add(Aspects.AETHER, 4).add(Aspects.INSTRUMENTUM, 2) } - val fireCharge = AspectGen().mutate { it.add(Aspects.ALKIMIA, 4).add(Aspects.IGNIS, 4).add(Aspects.INSTRUMENTUM, 2) } - val rottenFlesh = AspectGen().mutate { it.add(Aspects.HOSTILIS, 2).add(Aspects.CORPUS, 2) } - val rottenBrain = rottenFlesh.mutate { it.add(Aspects.COGNITIO, 12) } - val flint = gravel.mutate { it.scale(0.5).add(Aspects.INSTRUMENTUM, 1) } - val feathers = AspectGen().mutate { it.add(Aspects.INSTRUMENTUM, 1).add(Aspects.CORPUS, 2) } - val enderPearls = AspectGen().mutate { it.add(Aspects.INSTRUMENTUM, 4).add(Aspects.TENEBRAE, 4).add(Aspects.CORPUS, 2) } - val enderEye = enderPearls.add(blazePowder).mutate { it.remove(Aspects.CORPUS).add(Aspects.AETHER, 2) } - val ghastTear = AspectGen().mutate { it.add(Aspects.HOSTILIS, 4).add(Aspects.ALKIMIA, 4) } - val sugar = AspectGen().mutate { it.add(Aspects.HERBA, 2).add(Aspects.VICTUS, 1) } - val paper = AspectGen().mutate { it.add(Aspects.COGNITIO, 1).add(Aspects.HERBA, 1) } - val fireworkRocket = AspectGen().mutate { it.add(Aspects.IGNIS, 1).add(Aspects.ORNATUS, 1) } - val fireworkStar = AspectGen().mutate { it.add(Aspects.IGNIS, 1).add(Aspects.ORNATUS, 2) } - val snowball = AspectGen().mutate { it.add(Aspects.AQUA, 1) } - val clayBall = AspectGen().mutate { it.add(Aspects.TERRA, 1).add(Aspects.AQUA, 1) } - val eggs = AspectGen().mutate { it.add(Aspects.VICTUS, 4).add(Aspects.CORPUS, 2) } - val endCrystal = glassBlocksCheap.mutate { it.scale(7) }.add(enderEye).add(ghastTear) - val chorusPlant = AspectGen().mutate { it.add(Aspects.HERBA, 2).add(Aspects.TENEBRAE, 2) } - val chorusFlower = chorusPlant.mutate { it.scale(2) } - val coarseDirt = dirt.add(gravel).mutate { it.scale(0.5) } - val clay = clayBall.mutate(Mutations.STORAGE_BLOCK_4) - val grassBlock = AspectGen().mutate { it.add(Aspects.TERRA, 1).add(Aspects.HERBA, 1) } - val podzol = grassBlock.mutate { it } - val grass = AspectGen().mutate { it.add(Aspects.HERBA, 1) } - val terracotta = bricks.mutate { it.add(Aspects.ORNATUS, 1) } - val concretePowders = sand.add(gravel).mutate { it.scale(0.5) } - val concretes = concretePowders.mutate { it.add(Aspects.AQUA, 1) } - val leaves = AspectGen().mutate { it.add(Aspects.HERBA, 2) } - val saplings = AspectGen().mutate { it.add(Aspects.HERBA, 4).add(Aspects.VICTUS, 4) } - val logs = AspectGen().mutate { it.add(Aspects.HERBA, 8) } - val flowers = AspectGen().mutate { it.add(Aspects.HERBA, 4).add(Aspects.VICTUS, 1) } - val sugarCane = AspectGen().mutate { it.add(Aspects.HERBA, 2).add(Aspects.AQUA, 1) } - val table = woodenPlanks.mutate { it.scale(5.5).add(Aspects.FABRICO, 2) } - val researchTable = AspectGen().mutate { it.add(Aspects.HERBA, 12).add(Aspects.AETHER, 2) } - val torch = AspectGen().mutate { it.add(Aspects.LUX, 4) } - val snow = snowball.mutate { it } - val snowBlock = snowball.mutate(Mutations.STORAGE_BLOCK_4) - val powderSnow = snowball.mutate { it.scale(2) } - val bedrock = AspectGen().mutate { it.add(Aspects.TERRA, 25).add(Aspects.TENEBRAE, 25) } - val eternalFlame = AspectGen().mutate { it.add(Aspects.LUX, 12).add(Aspects.IGNIS, 8) } - val crackedElementalStone = elementalStone.mutate { it } - val elementalStoneBricks = elementalStone.mutate { it } - val elementalCore = AspectGen().mutate { it.add(Aspects.TERRA, 6).add(Aspects.AETHER, 2) } - val craftingTable = woodenPlanks.mutate { it.scale(4).add(Aspects.FABRICO, 4) } - val arcaneWorkbench = craftingTable.mutate { it.add(Aspects.AETHER, 2).add(Aspects.FABRICO, 4) } - val cauldron = MineralAspects.iron.mutate { it.scale(7).add(Aspects.ALKIMIA, 8) } - val crucible = cauldron.mutate { it.add(Aspects.AETHER, 2) } - val sealingJar = AspectGen().mutate { it.add(Aspects.VITREUS, 4).add(Aspects.ALKIMIA, 2).add(Aspects.AETHER, 2) } - val tnt = gunpowders.mutate { it.scale(5) }.add(sand.mutate { it.scale(4) }) - val tripwireHook = MineralAspects.iron.add(rodsWooden).add(woodenPlanks).mutate { it.scale(0.5).add(Aspects.MACHINA, 2) } - val heavyCore = AspectGen().mutate { it.add(Aspects.METALLUM, 16).add(Aspects.INSTRUMENTUM, 6) } - val bamboo = rodsWooden.mutate { it } - val bambooBlocks = woodenPlanks.mutate { it.scale(2) } - - fun gather(datamapProvider: T7DataMapProvider, lookupProvider: HolderLookup.Provider) { - datamapProvider.builder(T7DataMaps.AspectContent.ITEM).run { - leather.save(this, Tags.Items.LEATHERS) - fabric.save(this, T7Items.FABRIC) - arcaneLens.save(this, T7Items.ARCANE_LENS) - armadilloScute.save(this, Items.ARMADILLO_SCUTE) - turtleScute.save(this, Items.TURTLE_SCUTE) - blazePowder.save(this, Items.BLAZE_POWDER) - gunpowders.save(this, Tags.Items.GUNPOWDERS) - rodsBlaze.save(this, Tags.Items.RODS_BLAZE) - rodsBreeze.save(this, Tags.Items.RODS_BREEZE) - windCharge.save(this, Items.WIND_CHARGE) - fireCharge.save(this, Items.FIRE_CHARGE) - rottenBrain.save(this, T7Items.ROTTEN_BRAIN) - rottenFlesh.save(this, Items.ROTTEN_FLESH) - flint.save(this, Items.FLINT) - feathers.save(this, Tags.Items.FEATHERS) - enderPearls.save(this, Tags.Items.ENDER_PEARLS) - enderEye.save(this, Items.ENDER_EYE) - string.save(this, Tags.Items.STRINGS) - ghastTear.save(this, Items.GHAST_TEAR) - sugar.save(this, Items.SUGAR) - paper.save(this, Items.PAPER) - fireworkRocket.save(this, Items.FIREWORK_ROCKET) - fireworkStar.save(this, Items.FIREWORK_STAR) - snowball.save(this, Items.SNOWBALL) - netherBrick.save(this, Items.NETHER_BRICK) - prismarineCrystals.save(this, Items.PRISMARINE_CRYSTALS) - prismarineShard.save(this, Items.PRISMARINE_SHARD) - chorusFruit.save(this, Items.CHORUS_FRUIT) - poppedChorusFruit.save(this, Items.POPPED_CHORUS_FRUIT) - clayBall.save(this, Items.CLAY_BALL) - brick.save(this, Items.BRICK) - rodsWooden.save(this, Tags.Items.RODS_WOODEN) - eggs.save(this, Tags.Items.EGGS) - cropsWheat.save(this, Tags.Items.CROPS_WHEAT) - endCrystal.save(this, Items.END_CRYSTAL) - netherWart.save(this, Blocks.NETHER_WART) - chorusPlant.save(this, Blocks.CHORUS_PLANT) - chorusFlower.save(this, Blocks.CHORUS_FLOWER) - netherrack.save(this, Tags.Items.NETHERRACKS) - mud.save(this, Blocks.MUD) - packedMud.save(this, Blocks.PACKED_MUD) - dirt.save(this, ItemTags.DIRT) - coarseDirt.save(this, Blocks.COARSE_DIRT) - gravel.save(this, Tags.Items.GRAVELS) - stone.save(this, Tags.Items.STONES) - cobblestone.save(this, Tags.Items.COBBLESTONES) - sand.save(this, Tags.Items.SANDS) - clay.save(this, Blocks.CLAY) - grassBlock.save(this, Blocks.GRASS_BLOCK) - podzol.save(this, Blocks.PODZOL) - grass.save(this, Blocks.SHORT_GRASS) - grass.save(this, Blocks.TALL_GRASS) - terracotta.save(this, ItemTags.TERRACOTTA) - concretePowders.save(this, Tags.Items.CONCRETE_POWDERS) - concretes.save(this, Tags.Items.CONCRETES) - leaves.save(this, ItemTags.LEAVES) - saplings.save(this, ItemTags.SAPLINGS) - logs.save(this, ItemTags.LOGS) - flowers.save(this, ItemTags.FLOWERS) - sugarCane.save(this, Blocks.SUGAR_CANE) - table.save(this, T7Blocks.TABLE) - researchTable.save(this, T7Blocks.RESEARCH_TABLE) - wool.save(this, ItemTags.WOOL) - glassBlocksCheap.save(this, Tags.Items.GLASS_BLOCKS_CHEAP) - glassPanes.save(this, Tags.Items.GLASS_PANES) - torch.save(this, Blocks.TORCH) - snow.save(this, Blocks.SNOW) - snowBlock.save(this, Blocks.SNOW_BLOCK) - powderSnow.save(this, Blocks.POWDER_SNOW) - bedrock.save(this, Blocks.BEDROCK) - eternalFlame.save(this, T7Blocks.ETERNAL_FLAME) - crackedElementalStone.save(this, T7Blocks.CRACKED_ELEMENTAL_STONE) - elementalStoneBricks.save(this, T7Blocks.ELEMENTAL_STONE_BRICKS) - elementalCore.save(this, T7Blocks.ELEMENTAL_CORE) - craftingTable.save(this, Blocks.CRAFTING_TABLE) - arcaneWorkbench.save(this, T7Blocks.ARCANE_WORKBENCH) - cauldron.save(this, Items.CAULDRON) - crucible.save(this, T7Blocks.CRUCIBLE) - sealingJar.save(this, T7Blocks.SEALING_JAR) - tnt.save(this, Blocks.TNT) - tripwireHook.save(this, Blocks.TRIPWIRE_HOOK) - heavyCore.save(this, Blocks.HEAVY_CORE) - bamboo.save(this, Blocks.BAMBOO) - bambooBlocks.save(this, ItemTags.BAMBOO_BLOCKS) - inkSac.save(this, Items.INK_SAC) - glowInkSac.save(this, Items.GLOW_INK_SAC) - seaLantern.save(this, Items.SEA_LANTERN) - } - } -} diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockFamilyAspects.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockFamilyAspects.kt index 125b1fb6..3380db36 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockFamilyAspects.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/BlockFamilyAspects.kt @@ -1,115 +1,249 @@ package me.alegian.thavma.impl.init.data.providers.aspects -import me.alegian.thavma.impl.common.aspect.AspectMap import me.alegian.thavma.impl.init.data.T7BlockFamilies import me.alegian.thavma.impl.init.data.providers.T7DataMapProvider +import me.alegian.thavma.impl.init.data.providers.blockFamily import me.alegian.thavma.impl.init.registries.T7DataMaps +import me.alegian.thavma.impl.init.registries.deferred.Aspects.ALIENIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AQUA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.HERBA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.IGNIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.METALLUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PERMUTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRAECANTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TERRA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VITREUS import net.minecraft.core.HolderLookup import net.minecraft.data.BlockFamilies -import net.minecraft.data.BlockFamily -import net.minecraft.world.item.Item -import net.minecraft.world.level.block.Block -import net.neoforged.neoforge.common.data.DataMapProvider.Builder object BlockFamilyAspects { - fun gather(datamapProvider: T7DataMapProvider, lookupProvider: HolderLookup.Provider) = datamapProvider.builder(T7DataMaps.AspectContent.ITEM).run { - blockFamily(BlockFamilies.ACACIA_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.CHERRY_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.BIRCH_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.CRIMSON_PLANKS, BlockAndItemAspects.netherPlanks) - blockFamily(BlockFamilies.JUNGLE_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.OAK_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.DARK_OAK_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.SPRUCE_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.WARPED_PLANKS, BlockAndItemAspects.netherPlanks) - blockFamily(BlockFamilies.MANGROVE_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.BAMBOO_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(BlockFamilies.BAMBOO_MOSAIC, BlockAndItemAspects.bambooMosaic) - blockFamily(BlockFamilies.MUD_BRICKS, BlockAndItemAspects.mudBricks) - blockFamily(BlockFamilies.ANDESITE, BlockAndItemAspects.andesite) - blockFamily(BlockFamilies.POLISHED_ANDESITE, BlockAndItemAspects.polishedAndesite) - blockFamily(BlockFamilies.BLACKSTONE, BlockAndItemAspects.blackstone) - blockFamily(BlockFamilies.POLISHED_BLACKSTONE, BlockAndItemAspects.polishedBlackstone) - blockFamily(BlockFamilies.POLISHED_BLACKSTONE_BRICKS, BlockAndItemAspects.polishedBlackstoneBricks) - blockFamily(BlockFamilies.BRICKS, BlockAndItemAspects.bricks) - blockFamily(BlockFamilies.END_STONE_BRICKS, BlockAndItemAspects.endStoneBricks) - blockFamily(BlockFamilies.MOSSY_STONE_BRICKS, BlockAndItemAspects.mossyStoneBricks) - blockFamily(BlockFamilies.COPPER_BLOCK, MineralAspects.copperBlock) - blockFamily(BlockFamilies.CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_COPPER_BLOCK, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.EXPOSED_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.EXPOSED_CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_EXPOSED_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_EXPOSED_CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WEATHERED_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WEATHERED_CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_WEATHERED_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_WEATHERED_CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.OXIDIZED_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.OXIDIZED_CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_OXIDIZED_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.WAXED_OXIDIZED_CUT_COPPER, MineralAspects.copperBlock) - blockFamily(BlockFamilies.COBBLESTONE, BlockAndItemAspects.cobblestone) - blockFamily(BlockFamilies.MOSSY_COBBLESTONE, BlockAndItemAspects.mossyCobblestone) - blockFamily(BlockFamilies.DIORITE, BlockAndItemAspects.diorite) - blockFamily(BlockFamilies.POLISHED_DIORITE, BlockAndItemAspects.polishedDiorite) - blockFamily(BlockFamilies.GRANITE, BlockAndItemAspects.granite) - blockFamily(BlockFamilies.POLISHED_GRANITE, BlockAndItemAspects.polishedGranite) - blockFamily(BlockFamilies.TUFF, BlockAndItemAspects.tuff) - blockFamily(BlockFamilies.POLISHED_TUFF, BlockAndItemAspects.polishedTuff) - blockFamily(BlockFamilies.TUFF_BRICKS, BlockAndItemAspects.tuffBricks) - blockFamily(BlockFamilies.NETHER_BRICKS, BlockAndItemAspects.netherBricks) - blockFamily(BlockFamilies.RED_NETHER_BRICKS, BlockAndItemAspects.redNetherBricks) - blockFamily(BlockFamilies.PRISMARINE, BlockAndItemAspects.prismarine) - blockFamily(BlockFamilies.PURPUR, BlockAndItemAspects.purpur) - blockFamily(BlockFamilies.PRISMARINE_BRICKS, BlockAndItemAspects.prismarineBricks) - blockFamily(BlockFamilies.DARK_PRISMARINE, BlockAndItemAspects.darkPrismarine) - blockFamily(BlockFamilies.QUARTZ, MineralAspects.quartzBlock) - blockFamily(BlockFamilies.SMOOTH_QUARTZ, BlockAndItemAspects.smoothQuartz) - blockFamily(BlockFamilies.SANDSTONE, BlockAndItemAspects.sandstone) - blockFamily(BlockFamilies.CUT_SANDSTONE, BlockAndItemAspects.cutSandstone) - blockFamily(BlockFamilies.SMOOTH_SANDSTONE, BlockAndItemAspects.smoothSandstone) - blockFamily(BlockFamilies.RED_SANDSTONE, BlockAndItemAspects.sandstone) - blockFamily(BlockFamilies.CUT_RED_SANDSTONE, BlockAndItemAspects.cutSandstone) - blockFamily(BlockFamilies.SMOOTH_RED_SANDSTONE, BlockAndItemAspects.smoothSandstone) - blockFamily(BlockFamilies.STONE, BlockAndItemAspects.stone) - blockFamily(BlockFamilies.STONE_BRICK, BlockAndItemAspects.stoneBrick) - blockFamily(BlockFamilies.DEEPSLATE, BlockAndItemAspects.deepslate) - blockFamily(BlockFamilies.COBBLED_DEEPSLATE, BlockAndItemAspects.cobbledDeepslate) - blockFamily(BlockFamilies.POLISHED_DEEPSLATE, BlockAndItemAspects.polishedDeepslate) - blockFamily(BlockFamilies.DEEPSLATE_BRICKS, BlockAndItemAspects.deepslateBricks) - blockFamily(BlockFamilies.DEEPSLATE_TILES, BlockAndItemAspects.deepslateTiles) - blockFamily(T7BlockFamilies.GREATWOOD_PLANKS, BlockAndItemAspects.woodenPlanks) - blockFamily(T7BlockFamilies.ELEMENTAL_STONE, BlockAndItemAspects.elementalStone) + blockFamily(BlockFamilies.ACACIA_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.CHERRY_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.BIRCH_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.CRIMSON_PLANKS) { + it.add(HERBA, 2).add(IGNIS, 2) + } + blockFamily(BlockFamilies.JUNGLE_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.OAK_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.DARK_OAK_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.SPRUCE_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.WARPED_PLANKS) { + it.add(HERBA, 2).add(IGNIS, 2) + } + blockFamily(BlockFamilies.MANGROVE_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.BAMBOO_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.BAMBOO_MOSAIC) { + it.add(HERBA, 2) + } + blockFamily(BlockFamilies.MUD_BRICKS) { + it.add(TERRA, 2).add(HERBA, 2) + } + blockFamily(BlockFamilies.ANDESITE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.POLISHED_ANDESITE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.BLACKSTONE) { + it.add(TERRA, 2).add(IGNIS, 2) + } + blockFamily(BlockFamilies.POLISHED_BLACKSTONE) { + it.add(TERRA, 2).add(IGNIS, 2) + } + blockFamily(BlockFamilies.POLISHED_BLACKSTONE_BRICKS) { + it.add(TERRA, 2).add(IGNIS, 2) + } + blockFamily(BlockFamilies.BRICKS) { + it.add(TERRA, 4).add(IGNIS, 4) + } + blockFamily(BlockFamilies.END_STONE_BRICKS) { + it.add(TERRA, 2).add(ALIENIS, 2) + } + blockFamily(BlockFamilies.MOSSY_STONE_BRICKS) { + it.add(TERRA, 2).add(HERBA, 2) + } + blockFamily(BlockFamilies.COPPER_BLOCK) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_COPPER_BLOCK) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.EXPOSED_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.EXPOSED_CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_EXPOSED_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_EXPOSED_CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WEATHERED_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WEATHERED_CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_WEATHERED_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_WEATHERED_CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.OXIDIZED_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.OXIDIZED_CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_OXIDIZED_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.WAXED_OXIDIZED_CUT_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + blockFamily(BlockFamilies.COBBLESTONE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.MOSSY_COBBLESTONE) { + it.add(TERRA, 2).add(HERBA, 2) + } + blockFamily(BlockFamilies.DIORITE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.POLISHED_DIORITE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.GRANITE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.POLISHED_GRANITE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.TUFF) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.POLISHED_TUFF) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.TUFF_BRICKS) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.NETHER_BRICKS) { + it.add(TERRA, 4).add(IGNIS, 4) + } + blockFamily(BlockFamilies.RED_NETHER_BRICKS) { + it.add(TERRA, 2).add(IGNIS, 2).add(HERBA, 2) + } + blockFamily(BlockFamilies.PRISMARINE) { + it.add(AQUA, 4).add(TERRA, 4) + } + blockFamily(BlockFamilies.PURPUR) { + it.add(ALIENIS, 2).add(HERBA, 2) + } + blockFamily(BlockFamilies.PRISMARINE_BRICKS) { + it.add(AQUA, 8).add(TERRA, 8) + } + blockFamily(BlockFamilies.DARK_PRISMARINE) { + it.add(AQUA, 4).add(TERRA, 4) + } + blockFamily(BlockFamilies.QUARTZ) { + it.add(VITREUS, 16) + .add(IGNIS, 4) + } + blockFamily(BlockFamilies.SMOOTH_QUARTZ) { + it.add(VITREUS, 16) + .add(IGNIS, 4) + } + blockFamily(BlockFamilies.SANDSTONE) { + it.add(TERRA, 4) + } + blockFamily(BlockFamilies.CUT_SANDSTONE) { + it.add(TERRA, 4) + } + blockFamily(BlockFamilies.SMOOTH_SANDSTONE) { + it.add(TERRA, 4) + } + blockFamily(BlockFamilies.RED_SANDSTONE) { + it.add(TERRA, 4) + } + blockFamily(BlockFamilies.CUT_RED_SANDSTONE) { + it.add(TERRA, 4) + } + blockFamily(BlockFamilies.SMOOTH_RED_SANDSTONE) { + it.add(TERRA, 4) + } + blockFamily(BlockFamilies.STONE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.STONE_BRICK) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.DEEPSLATE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.COBBLED_DEEPSLATE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.POLISHED_DEEPSLATE) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.DEEPSLATE_BRICKS) { + it.add(TERRA, 2) + } + blockFamily(BlockFamilies.DEEPSLATE_TILES) { + it.add(TERRA, 2) + } + blockFamily(T7BlockFamilies.GREATWOOD_PLANKS) { + it.add(HERBA, 2) + } + blockFamily(T7BlockFamilies.ELEMENTAL_STONE) { + it.add(TERRA, 4) + .add(PRAECANTATIO, 1) + } } -} - -private fun Builder.blockFamily(blockFamily: BlockFamily, baseGen: AspectGen) { - fun saveVariant(block: Block?, mutation: (AspectMap) -> AspectMap) { - if (block == null) return - baseGen.mutate(mutation).save(this, block) - } - - baseGen.save(this, blockFamily.baseBlock) - saveVariant(blockFamily.get(BlockFamily.Variant.BUTTON), Mutations.BUTTON) - saveVariant(blockFamily.get(BlockFamily.Variant.CHISELED), Mutations.CHISELED) - saveVariant(blockFamily.get(BlockFamily.Variant.CRACKED), Mutations.CRACKED) - saveVariant(blockFamily.get(BlockFamily.Variant.CUT), Mutations.CUT) - saveVariant(blockFamily.get(BlockFamily.Variant.DOOR), Mutations.DOOR) - saveVariant(blockFamily.get(BlockFamily.Variant.CUSTOM_FENCE), Mutations.FENCE) - saveVariant(blockFamily.get(BlockFamily.Variant.FENCE), Mutations.FENCE) - saveVariant(blockFamily.get(BlockFamily.Variant.CUSTOM_FENCE_GATE), Mutations.FENCE_GATE) - saveVariant(blockFamily.get(BlockFamily.Variant.FENCE_GATE), Mutations.FENCE_GATE) - saveVariant(blockFamily.get(BlockFamily.Variant.MOSAIC), Mutations.MOSAIC) - saveVariant(blockFamily.get(BlockFamily.Variant.SIGN), Mutations.SIGN) - saveVariant(blockFamily.get(BlockFamily.Variant.SLAB), Mutations.SLAB) - saveVariant(blockFamily.get(BlockFamily.Variant.STAIRS), Mutations.STAIRS) - saveVariant(blockFamily.get(BlockFamily.Variant.PRESSURE_PLATE), Mutations.PRESSURE_PLATE) - saveVariant(blockFamily.get(BlockFamily.Variant.POLISHED), Mutations.POLISHED) - saveVariant(blockFamily.get(BlockFamily.Variant.TRAPDOOR), Mutations.TRAPDOOR) - saveVariant(blockFamily.get(BlockFamily.Variant.WALL), Mutations.WALL) - saveVariant(blockFamily.get(BlockFamily.Variant.WALL_SIGN), Mutations.WALL_SIGN) -} +} \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/EntityAspects.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/EntityAspects.kt index 54bc105b..0f2060ed 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/EntityAspects.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/EntityAspects.kt @@ -3,7 +3,19 @@ package me.alegian.thavma.impl.init.data.providers.aspects import me.alegian.thavma.impl.init.data.providers.T7DataMapProvider import me.alegian.thavma.impl.init.data.providers.entity import me.alegian.thavma.impl.init.registries.T7DataMaps -import me.alegian.thavma.impl.init.registries.deferred.Aspects +import me.alegian.thavma.impl.init.registries.deferred.Aspects.ALIENIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.ALKIMIA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AQUA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.BESTIA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.DESIDERIUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.EXANIMIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.HERBA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.HUMANUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.IGNIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.MOTUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TERRA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VICTUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VINCULUM import me.alegian.thavma.impl.init.registries.deferred.T7EntityTypes import net.minecraft.core.HolderLookup import net.minecraft.world.entity.EntityType @@ -26,29 +38,30 @@ object EntityAspects { entity(EntityType.CHICKEN) {} entity(EntityType.COD) {} entity(EntityType.COW) { - it.add(Aspects.TERRA, 8) - .add(Aspects.VICTUS, 8) + it.add(TERRA, 15) + .add(BESTIA, 15) } entity(EntityType.CREEPER) { - it.add(Aspects.IGNIS, 15) - .add(Aspects.HERBA, 15) + it.add(IGNIS, 15) + .add(HERBA, 15) } entity(EntityType.DOLPHIN) {} entity(EntityType.DONKEY) {} entity(EntityType.DROWNED) {} entity(EntityType.ELDER_GUARDIAN) {} entity(EntityType.ENDERMAN) { - it.add(Aspects.TENEBRAE, 8) - .add(Aspects.HOSTILIS, 4) - .add(Aspects.CIVILIS, 4) + it.add(MOTUS, 12) + .add(ALIENIS, 8) + .add(HUMANUS, 4) + .add(DESIDERIUM, 4) } entity(EntityType.ENDERMITE) {} entity(EntityType.EVOKER) {} entity(EntityType.FOX) {} entity(EntityType.FROG) {} entity(EntityType.GHAST) { - it.add(Aspects.HOSTILIS, 12) - .add(Aspects.IGNIS, 8) + it.add(EXANIMIS, 12) + .add(IGNIS, 8) } entity(EntityType.GLOW_SQUID) {} entity(EntityType.GOAT) {} @@ -66,8 +79,9 @@ object EntityAspects { entity(EntityType.PARROT) {} entity(EntityType.PHANTOM) {} entity(EntityType.PIG) { - it.add(Aspects.TERRA, 8) - .add(Aspects.VICTUS, 8) + it.add(DESIDERIUM, 5) + .add(TERRA, 10) + .add(BESTIA, 10) } entity(EntityType.PIGLIN) {} entity(EntityType.PIGLIN_BRUTE) {} @@ -78,26 +92,27 @@ object EntityAspects { entity(EntityType.RAVAGER) {} entity(EntityType.SALMON) {} entity(EntityType.SHEEP) { - it.add(Aspects.TERRA, 8) - .add(Aspects.VICTUS, 8) + it.add(TERRA, 10) + .add(BESTIA, 10) } entity(EntityType.SHULKER) {} entity(EntityType.SILVERFISH) {} entity(EntityType.SKELETON) { - it.add(Aspects.TERRA, 8) - .add(Aspects.HOSTILIS, 8) + it.add(TERRA, 5) + .add(HUMANUS, 5) + .add(EXANIMIS, 20) } entity(EntityType.SKELETON_HORSE) {} entity(EntityType.SLIME) { - it.add(Aspects.ALKIMIA, 5) - .add(Aspects.AQUA, 10) - .add(Aspects.VICTUS, 10) + it.add(ALKIMIA, 5) + .add(AQUA, 10) + .add(VICTUS, 10) } entity(EntityType.SNIFFER) {} entity(EntityType.SNOW_GOLEM) {} entity(EntityType.SPIDER) { - it.add(Aspects.TERRA, 8) - .add(Aspects.HOSTILIS, 8) + it.add(VINCULUM, 10) + .add(BESTIA, 10) } entity(EntityType.SQUID) {} entity(EntityType.STRAY) {} @@ -108,7 +123,7 @@ object EntityAspects { entity(EntityType.TURTLE) {} entity(EntityType.VEX) {} entity(EntityType.VILLAGER) { - it.add(Aspects.CIVILIS, 12) + it.add(HUMANUS, 15) } entity(EntityType.VINDICATOR) {} entity(EntityType.WANDERING_TRADER) {} @@ -118,8 +133,9 @@ object EntityAspects { entity(EntityType.WOLF) {} entity(EntityType.ZOGLIN) {} entity(EntityType.ZOMBIE) { - it.add(Aspects.TERRA, 8) - .add(Aspects.HOSTILIS, 8) + it.add(TERRA, 5) + .add(HUMANUS, 10) + .add(EXANIMIS, 20) } entity(EntityType.ZOMBIE_HORSE) {} entity(EntityType.ZOMBIE_VILLAGER) {} diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/MineralAspects.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/MineralAspects.kt index 10215708..eb4831dd 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/MineralAspects.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/MineralAspects.kt @@ -1,10 +1,20 @@ package me.alegian.thavma.impl.init.data.providers.aspects -import me.alegian.thavma.impl.common.aspect.AspectMap -import me.alegian.thavma.impl.common.item.itemResourceKey import me.alegian.thavma.impl.init.data.providers.T7DataMapProvider +import me.alegian.thavma.impl.init.data.providers.item import me.alegian.thavma.impl.init.registries.T7DataMaps -import me.alegian.thavma.impl.init.registries.deferred.Aspects +import me.alegian.thavma.impl.init.registries.deferred.Aspects.DESIDERIUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.IGNIS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.INSTRUMENTUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.LUX +import me.alegian.thavma.impl.init.registries.deferred.Aspects.METALLUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PERMUTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.POTENTIA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRAECANTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.SENSUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TENEBRAE +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TERRA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VITREUS import me.alegian.thavma.impl.init.registries.deferred.T7Blocks import me.alegian.thavma.impl.init.registries.deferred.T7Blocks.INFUSED_DEEPSLATES import me.alegian.thavma.impl.init.registries.deferred.T7Blocks.INFUSED_STONES @@ -17,171 +27,221 @@ import net.minecraft.world.level.block.Blocks import net.neoforged.neoforge.common.Tags object MineralAspects { - val coal = AspectGen().mutate { - it.add(Aspects.IGNIS, 2) - .add(Aspects.TERRA, 2) - } - val coalOre = coal.mutate(Mutations.ORE) - val coalBlock = coal.mutate(Mutations.STORAGE_BLOCK_9) - - val copper = AspectGen().mutate { - it.add(Aspects.METALLUM, 4) - } - val rawCopper = copper.mutate(Mutations.RAW) - val copperOre = copper.mutate(Mutations.ORE) - val copperBlock = copper.mutate(Mutations.STORAGE_BLOCK_9) - val rawCopperBlock = rawCopper.mutate(Mutations.STORAGE_BLOCK_9) - - val iron = AspectGen().mutate { - it.add(Aspects.METALLUM, 8) - } - val rawIron = iron.mutate(Mutations.RAW) - val ironOre = iron.mutate(Mutations.ORE) - val ironBlock = iron.mutate(Mutations.STORAGE_BLOCK_9) - val rawIronBlock = rawIron.mutate(Mutations.STORAGE_BLOCK_9) - - val gold = AspectGen().mutate { - it.add(Aspects.METALLUM, 4) - } - val rawGold = gold.mutate(Mutations.RAW) - val goldOre = gold.mutate(Mutations.ORE) - val goldBlock = gold.mutate(Mutations.STORAGE_BLOCK_9) - val rawGoldBlock = rawGold.mutate(Mutations.STORAGE_BLOCK_9) - - val thavmite = AspectGen().mutate { - it.add(Aspects.METALLUM, 8) - .add(Aspects.AETHER, 4) - } - val thavmiteBlock = thavmite.mutate(Mutations.STORAGE_BLOCK_9) - - val orichalcum = AspectGen().mutate { - it.add(Aspects.METALLUM, 4) - .add(Aspects.INSTRUMENTUM, 4) - } - val orichalcumBlock = orichalcum.mutate(Mutations.STORAGE_BLOCK_9) - - val diamond = AspectGen().mutate { - it.add(Aspects.VITREUS, 8) - } - val diamondOre = diamond.mutate(Mutations.ORE) - val diamondBlock = diamond.mutate(Mutations.STORAGE_BLOCK_9) - - val emerald = AspectGen().mutate { - it.add(Aspects.VITREUS, 8) - } - val emeraldOre = emerald.mutate(Mutations.ORE) - val emeraldBlock = emerald.mutate(Mutations.STORAGE_BLOCK_9) - - val lapis = AspectGen().mutate { - it.add(Aspects.VITREUS, 4) - .add(Aspects.COGNITIO, 1) - } - val lapisOre = lapis.mutate(Mutations.ORE) - val lapisBlock = lapis.mutate(Mutations.STORAGE_BLOCK_9) - - val amethyst = AspectGen().mutate { - it.add(Aspects.VITREUS, 4) - } - val amethystBlock = amethyst.mutate(Mutations.STORAGE_BLOCK_4) - - val quartz = AspectGen().mutate { - it.add(Aspects.VITREUS, 4) - .add(Aspects.IGNIS, 1) - } - val quartzOre = quartz.mutate(Mutations.ORE) - val quartzBlock = quartz.mutate(Mutations.STORAGE_BLOCK_4) - - val glowstone = AspectGen().mutate { - it.add(Aspects.LUX, 4) - .add(Aspects.TERRA, 1) - } - val glowstoneBlock = glowstone.mutate(Mutations.STORAGE_BLOCK_4) - - val redstone = AspectGen().mutate { - it.add(Aspects.MACHINA, 1) - .add(Aspects.TERRA, 1) - } - val redstoneOre = redstone.mutate(Mutations.ORE) - val redstoneBlock = redstone.mutate(Mutations.STORAGE_BLOCK_9) - - val nugget = AspectGen().mutate { it.add(Aspects.TERRA, 1) } - - val netheriteScrap = AspectGen().mutate { - it.add(Aspects.METALLUM, 2) - .add(Aspects.TERRA, 2) - .add(Aspects.TENEBRAE, 1) - } - val netheriteOre = netheriteScrap.mutate(Mutations.ORE) - val netherite = gold.mutate { it.scale(4).add(Aspects.TENEBRAE, 4) } - val netheriteBlock = netherite.mutate(Mutations.STORAGE_BLOCK_9) - fun gather(datamapProvider: T7DataMapProvider, lookupProvider: HolderLookup.Provider) { datamapProvider.builder(T7DataMaps.AspectContent.ITEM).run { - coal.save(this, ItemTags.COALS) - coalOre.save(this, Tags.Items.ORES_COAL) - coalBlock.save(this, Tags.Items.STORAGE_BLOCKS_COAL) - - copper.save(this, Tags.Items.INGOTS_COPPER) - rawCopper.save(this, Tags.Items.RAW_MATERIALS_COPPER) - copperOre.save(this, Tags.Items.ORES_COPPER) - copperBlock.save(this, Tags.Items.STORAGE_BLOCKS_COPPER) - rawCopperBlock.save(this, Tags.Items.STORAGE_BLOCKS_RAW_COPPER) - - iron.save(this, Tags.Items.INGOTS_IRON) - rawIron.save(this, Tags.Items.RAW_MATERIALS_IRON) - ironOre.save(this, Tags.Items.ORES_IRON) - ironBlock.save(this, Tags.Items.STORAGE_BLOCKS_IRON) - rawIronBlock.save(this, Tags.Items.STORAGE_BLOCKS_RAW_IRON) - - gold.save(this, Tags.Items.INGOTS_GOLD) - rawGold.save(this, Tags.Items.RAW_MATERIALS_GOLD) - goldOre.save(this, Tags.Items.ORES_GOLD) - goldBlock.save(this, Tags.Items.STORAGE_BLOCKS_GOLD) - rawGoldBlock.save(this, Tags.Items.STORAGE_BLOCKS_RAW_GOLD) - - thavmite.save(this, (T7Items.THAVMITE_INGOT)) - thavmiteBlock.save(this, (T7Blocks.THAVMITE_BLOCK)) - - orichalcum.save(this, (T7Items.ORICHALCUM_INGOT)) - orichalcumBlock.save(this, (T7Blocks.ORICHALCUM_BLOCK)) - - diamond.save(this, Tags.Items.GEMS_DIAMOND) - diamondOre.save(this, Tags.Items.ORES_DIAMOND) - diamondBlock.save(this, Tags.Items.STORAGE_BLOCKS_DIAMOND) - - emerald.save(this, Tags.Items.GEMS_EMERALD) - emeraldOre.save(this, Tags.Items.ORES_EMERALD) - emeraldBlock.save(this, Tags.Items.STORAGE_BLOCKS_EMERALD) - - lapis.save(this, Tags.Items.GEMS_LAPIS) - lapisOre.save(this, Tags.Items.ORES_LAPIS) - lapisBlock.save(this, Tags.Items.STORAGE_BLOCKS_LAPIS) - - amethyst.save(this, Tags.Items.GEMS_AMETHYST) - amethystBlock.save(this, (Blocks.AMETHYST_BLOCK)) - - quartz.save(this, Tags.Items.GEMS_QUARTZ) - quartzOre.save(this, Tags.Items.ORES_QUARTZ) - quartzBlock.save(this, (Blocks.QUARTZ_BLOCK)) - - glowstone.save(this, Tags.Items.DUSTS_GLOWSTONE) - glowstoneBlock.save(this, (Blocks.GLOWSTONE)) + item(Tags.Items.ORES_COAL) { + it.add(IGNIS, 8) + .add(POTENTIA, 8) + .add(TERRA, 4) + } + item(Tags.Items.STORAGE_BLOCKS_COAL) { + it.add(IGNIS, 72) + .add(POTENTIA, 72) + } + item(Tags.Items.ORES_COPPER) { + it.add(METALLUM, 4) + .add(PERMUTATIO, 4) + .add(TERRA, 4) + } + item(Tags.Items.STORAGE_BLOCKS_RAW_COPPER) { + it.add(METALLUM, 18) + .add(PERMUTATIO, 18) + .add(TERRA, 18) + } + item(Tags.Items.STORAGE_BLOCKS_COPPER) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + } + item(Tags.Items.ORES_IRON) { + it.add(METALLUM, 8) + .add(TERRA, 4) + } + item(Tags.Items.STORAGE_BLOCKS_RAW_IRON) { + it.add(METALLUM, 36) + .add(TERRA, 18) + } + item(Tags.Items.STORAGE_BLOCKS_IRON) { + it.add(METALLUM, 72) + } + item(T7Blocks.THAVMITE_BLOCK) { + it.add(METALLUM, 72) + .add(PRAECANTATIO, 36) + } + item(T7Blocks.ORICHALCUM_BLOCK) { + it.add(METALLUM, 36) + .add(PERMUTATIO, 36) + .add(PRAECANTATIO, 36) + } + item(Tags.Items.ORES_GOLD) { + it.add(METALLUM, 4) + .add(DESIDERIUM, 8) + .add(TERRA, 4) + } + item(Tags.Items.STORAGE_BLOCKS_RAW_GOLD) { + it.add(METALLUM, 18) + .add(DESIDERIUM, 36) + .add(TERRA, 18) + } + item(Tags.Items.STORAGE_BLOCKS_GOLD) { + it.add(METALLUM, 36) + .add(DESIDERIUM, 72) + } + item(Tags.Items.ORES_DIAMOND) { + it.add(VITREUS, 8) + .add(DESIDERIUM, 8) + .add(TERRA, 4) + } + item(Tags.Items.STORAGE_BLOCKS_DIAMOND) { + it.add(VITREUS, 72) + .add(DESIDERIUM, 72) + } + item(Tags.Items.ORES_EMERALD) { + it.add(VITREUS, 8) + .add(DESIDERIUM, 4) + .add(TERRA, 4) + } + item(Tags.Items.STORAGE_BLOCKS_EMERALD) { + it.add(VITREUS, 72) + .add(DESIDERIUM, 36) + } + item(Tags.Items.ORES_NETHERITE_SCRAP) { + it.add(METALLUM, 2) + .add(TERRA, 6) + .add(TENEBRAE, 1) + } + item(Tags.Items.STORAGE_BLOCKS_NETHERITE) { + it.add(METALLUM, 144) + .add(DESIDERIUM, 72) + .add(TENEBRAE, 36) + } + item(Blocks.GLOWSTONE) { + it.add(LUX, 16) + .add(TERRA, 4) + } + item(Tags.Items.ORES_QUARTZ) { + it.add(VITREUS, 4) + .add(TERRA, 4) + .add(IGNIS, 1) + } + item(Blocks.QUARTZ_BLOCK) { + it.add(VITREUS, 16) + .add(IGNIS, 4) + } + item(Tags.Items.ORES_LAPIS) { + it.add(VITREUS, 4) + .add(TERRA, 4) + .add(SENSUS, 2) + } + item(Tags.Items.STORAGE_BLOCKS_LAPIS) { + it.add(VITREUS, 36) + .add(SENSUS, 18) + } + item(Tags.Items.ORES_REDSTONE) { + it.add(POTENTIA, 4) + .add(TERRA, 4) + } + item(Tags.Items.STORAGE_BLOCKS_REDSTONE) { + it.add(POTENTIA, 36) + .add(TERRA, 9) + } + item(Blocks.AMETHYST_BLOCK) { + it.add(VITREUS, 16) + .add(SENSUS, 4) + } - redstone.save(this, Tags.Items.DUSTS_REDSTONE) - redstoneOre.save(this, Tags.Items.ORES_REDSTONE) - redstoneBlock.save(this, Tags.Items.STORAGE_BLOCKS_REDSTONE) + for (infusedBlock in (INFUSED_STONES.values + INFUSED_DEEPSLATES.values)) { + item(infusedBlock) { + it.add(infusedBlock.get().getAspect(), 4) + } + } + } - nugget.save(this, Tags.Items.NUGGETS) + datamapProvider.builder(T7DataMaps.AspectContent.ITEM).run { + item(ItemTags.COALS) { + it.add(IGNIS, 8) + .add(POTENTIA, 8) + } + item(Tags.Items.RAW_MATERIALS_COPPER) { + it.add(METALLUM, 2) + .add(PERMUTATIO, 2) + .add(TERRA, 2) + } + item(Tags.Items.INGOTS_COPPER) { + it.add(METALLUM, 4) + .add(PERMUTATIO, 4) + } + item(Tags.Items.RAW_MATERIALS_IRON) { + it.add(METALLUM, 4) + .add(TERRA, 2) + } + item(Tags.Items.INGOTS_IRON) { + it.add(METALLUM, 8) + } + item(T7Items.THAVMITE_INGOT) { + it.add(METALLUM, 8) + .add(PRAECANTATIO, 4) + } + item(T7Items.ORICHALCUM_INGOT) { + it.add(METALLUM, 4) + .add(PERMUTATIO, 4) + .add(INSTRUMENTUM, 4) + } + item(Tags.Items.RAW_MATERIALS_GOLD) { + it.add(METALLUM, 2) + .add(DESIDERIUM, 4) + .add(TERRA, 2) + } + item(Tags.Items.INGOTS_GOLD) { + it.add(METALLUM, 4) + .add(DESIDERIUM, 8) + } + item(Tags.Items.GEMS_DIAMOND) { + it.add(VITREUS, 8) + .add(DESIDERIUM, 8) + } + item(Tags.Items.GEMS_EMERALD) { + it.add(VITREUS, 8) + .add(DESIDERIUM, 4) + } + item(Items.NETHERITE_SCRAP) { + it.add(METALLUM, 2) + .add(TERRA, 2) + .add(TENEBRAE, 1) + } + item(Tags.Items.INGOTS_NETHERITE) { + it.add(METALLUM, 16) + .add(DESIDERIUM, 8) + .add(TENEBRAE, 4) + } + item(Tags.Items.DUSTS_GLOWSTONE) { + it.add(LUX, 4) + .add(TERRA, 1) + } + item(Tags.Items.GEMS_QUARTZ) { + it.add(VITREUS, 4) + .add(IGNIS, 1) + } + item(Tags.Items.GEMS_LAPIS) { + it.add(VITREUS, 4) + .add(SENSUS, 2) + } + item(Tags.Items.DUSTS_REDSTONE) { + it.add(POTENTIA, 4) + .add(TERRA, 1) + } + item(Tags.Items.GEMS_AMETHYST) { + it.add(VITREUS, 4) + .add(SENSUS, 1) + } - netheriteScrap.save(this, (Items.NETHERITE_SCRAP)) - netheriteOre.save(this, Tags.Items.ORES_NETHERITE_SCRAP) - netherite.save(this, Tags.Items.INGOTS_NETHERITE) - netheriteBlock.save(this, Tags.Items.STORAGE_BLOCKS_NETHERITE) + for (shard in SHARDS.values) { + item(shard) { + it.add(shard.get().aspect, 4) + } + } - for (primal in Aspects.DATAGEN_PRIMALS) { - INFUSED_STONES[primal]?.let { add((it.itemResourceKey), AspectMap().add(primal, 4), false) } - INFUSED_DEEPSLATES[primal]?.let { add((it.itemResourceKey), AspectMap().add(primal, 4), false) } - SHARDS[primal]?.let { add((it.itemResourceKey), AspectMap().add(primal, 4), false) } + item(Tags.Items.NUGGETS) { + it.add(TERRA, 1) } } } diff --git a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ToolAspects.kt b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ToolAspects.kt index 66f93a8b..47c88b90 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ToolAspects.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/providers/aspects/ToolAspects.kt @@ -1,8 +1,23 @@ package me.alegian.thavma.impl.init.data.providers.aspects import me.alegian.thavma.impl.init.data.providers.T7DataMapProvider +import me.alegian.thavma.impl.init.data.providers.item import me.alegian.thavma.impl.init.registries.T7DataMaps -import me.alegian.thavma.impl.init.registries.deferred.Aspects +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AER +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AQUA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.AVERSIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.DESIDERIUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.FABRICO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.HERBA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.INSTRUMENTUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.METALLUM +import me.alegian.thavma.impl.init.registries.deferred.Aspects.MOTUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PERMUTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.PRAECANTATIO +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TENEBRAE +import me.alegian.thavma.impl.init.registries.deferred.Aspects.TERRA +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VICTUS +import me.alegian.thavma.impl.init.registries.deferred.Aspects.VITREUS import me.alegian.thavma.impl.init.registries.deferred.T7Items import net.minecraft.core.HolderLookup import net.minecraft.tags.ItemTags @@ -10,117 +25,231 @@ import net.minecraft.world.item.Items import net.neoforged.neoforge.common.Tags object ToolAspects { - val woodenSword = BlockAndItemAspects.woodenPlanks.mutate(Mutations.sword(BlockAndItemAspects.rodsWooden, 1)) - val woodenPickaxe = BlockAndItemAspects.woodenPlanks.mutate(Mutations.pickaxe(BlockAndItemAspects.rodsWooden, 1)) - val woodenAxe = BlockAndItemAspects.woodenPlanks.mutate(Mutations.axe(BlockAndItemAspects.rodsWooden, 1)) - val woodenShovel = BlockAndItemAspects.woodenPlanks.mutate(Mutations.shovel(BlockAndItemAspects.rodsWooden, 1)) - val woodenHoe = BlockAndItemAspects.woodenPlanks.mutate(Mutations.hoe(BlockAndItemAspects.rodsWooden, 1)) - - val stoneSword = BlockAndItemAspects.cobblestone.mutate(Mutations.sword(BlockAndItemAspects.rodsWooden, 2)) - val stonePickaxe = BlockAndItemAspects.cobblestone.mutate(Mutations.pickaxe(BlockAndItemAspects.rodsWooden, 2)) - val stoneAxe = BlockAndItemAspects.cobblestone.mutate(Mutations.axe(BlockAndItemAspects.rodsWooden, 2)) - val stoneShovel = BlockAndItemAspects.cobblestone.mutate(Mutations.shovel(BlockAndItemAspects.rodsWooden, 2)) - val stoneHoe = BlockAndItemAspects.cobblestone.mutate(Mutations.hoe(BlockAndItemAspects.rodsWooden, 2)) - - val ironSword = MineralAspects.iron.mutate(Mutations.sword(BlockAndItemAspects.rodsWooden, 3)) - val ironPickaxe = MineralAspects.iron.mutate(Mutations.pickaxe(BlockAndItemAspects.rodsWooden, 3)) - val ironAxe = MineralAspects.iron.mutate(Mutations.axe(BlockAndItemAspects.rodsWooden, 3)) - val ironShovel = MineralAspects.iron.mutate(Mutations.shovel(BlockAndItemAspects.rodsWooden, 3)) - val ironHoe = MineralAspects.iron.mutate(Mutations.hoe(BlockAndItemAspects.rodsWooden, 3)) - - val thavmiteSword = MineralAspects.thavmite.mutate(Mutations.sword(BlockAndItemAspects.rodsWooden, 4)) - val thavmitePickaxe = MineralAspects.thavmite.mutate(Mutations.pickaxe(BlockAndItemAspects.rodsWooden, 4)) - val thavmiteAxe = MineralAspects.thavmite.mutate(Mutations.axe(BlockAndItemAspects.rodsWooden, 4)) - val thavmiteShovel = MineralAspects.thavmite.mutate(Mutations.shovel(BlockAndItemAspects.rodsWooden, 4)) - val thavmiteHoe = MineralAspects.thavmite.mutate(Mutations.hoe(BlockAndItemAspects.rodsWooden, 4)) - val thavmiteHammer = MineralAspects.thavmite.mutate(Mutations.hammer(BlockAndItemAspects.rodsWooden, 4)) - - val goldenSword = MineralAspects.gold.mutate(Mutations.sword(BlockAndItemAspects.rodsWooden, 2)) - val goldenPickaxe = MineralAspects.gold.mutate(Mutations.pickaxe(BlockAndItemAspects.rodsWooden, 2)) - val goldenAxe = MineralAspects.gold.mutate(Mutations.axe(BlockAndItemAspects.rodsWooden, 2)) - val goldenShovel = MineralAspects.gold.mutate(Mutations.shovel(BlockAndItemAspects.rodsWooden, 2)) - val goldenHoe = MineralAspects.gold.mutate(Mutations.hoe(BlockAndItemAspects.rodsWooden, 2)) - - val diamondSword = MineralAspects.diamond.mutate(Mutations.sword(BlockAndItemAspects.rodsWooden, 4)) - val diamondPickaxe = MineralAspects.diamond.mutate(Mutations.pickaxe(BlockAndItemAspects.rodsWooden, 4)) - val diamondAxe = MineralAspects.diamond.mutate(Mutations.axe(BlockAndItemAspects.rodsWooden, 4)) - val diamondShovel = MineralAspects.diamond.mutate(Mutations.shovel(BlockAndItemAspects.rodsWooden, 4)) - val diamondHoe = MineralAspects.diamond.mutate(Mutations.hoe(BlockAndItemAspects.rodsWooden, 4)) - - val netheriteSword = MineralAspects.netherite.mutate(Mutations.sword(BlockAndItemAspects.rodsWooden, 6)) - val netheritePickaxe = MineralAspects.netherite.mutate(Mutations.pickaxe(BlockAndItemAspects.rodsWooden, 6)) - val netheriteAxe = MineralAspects.netherite.mutate(Mutations.axe(BlockAndItemAspects.rodsWooden, 6)) - val netheriteShovel = MineralAspects.netherite.mutate(Mutations.shovel(BlockAndItemAspects.rodsWooden, 6)) - val netheriteHoe = MineralAspects.netherite.mutate(Mutations.hoe(BlockAndItemAspects.rodsWooden, 6)) - - val ironPlating = MineralAspects.iron.mutate(Mutations.PLATING) - val goldPlating = MineralAspects.gold.mutate(Mutations.PLATING) - val orichalcumPlating = MineralAspects.orichalcum.mutate(Mutations.PLATING) - val thavmitePlating = MineralAspects.thavmite.mutate(Mutations.PLATING) - - val arrows = BlockAndItemAspects.rodsWooden.add(BlockAndItemAspects.flint).add(BlockAndItemAspects.feathers).mutate { it.remove(Aspects.CORPUS) } - val mace = BlockAndItemAspects.heavyCore.add(BlockAndItemAspects.rodsBreeze).mutate { it.remove(Aspects.CORPUS) } - val trident = AspectGen().mutate { it.add(Aspects.METALLUM, 12).add(Aspects.AQUA, 8) } - val bow = BlockAndItemAspects.rodsWooden.mutate { it.scale(3) }.add(BlockAndItemAspects.string.mutate { it.scale(3) }).mutate { it.add(Aspects.INSTRUMENTUM, 8).remove(Aspects.CORPUS) } - val crossbow = BlockAndItemAspects.rodsWooden.mutate { it.scale(3) }.add(BlockAndItemAspects.string.mutate { it.scale(2) }).add(BlockAndItemAspects.tripwireHook).add(MineralAspects.iron).mutate { it.add(Aspects.INSTRUMENTUM, 8).remove(Aspects.CORPUS) } - val totemOfUndying = AspectGen().mutate { it.add(Aspects.VICTUS, 16).add(Aspects.AETHER, 8) } - fun gather(datamapProvider: T7DataMapProvider, lookupProvider: HolderLookup.Provider) { datamapProvider.builder(T7DataMaps.AspectContent.ITEM).run { - woodenSword.save(this, Items.WOODEN_SWORD) - woodenPickaxe.save(this, Items.WOODEN_PICKAXE) - woodenAxe.save(this, Items.WOODEN_AXE) - woodenShovel.save(this, Items.WOODEN_SHOVEL) - woodenHoe.save(this, Items.WOODEN_HOE) - - stoneSword.save(this, Items.STONE_SWORD) - stonePickaxe.save(this, Items.STONE_PICKAXE) - stoneAxe.save(this, Items.STONE_AXE) - stoneShovel.save(this, Items.STONE_SHOVEL) - stoneHoe.save(this, Items.STONE_HOE) - - ironSword.save(this, Items.IRON_SWORD) - ironPickaxe.save(this, Items.IRON_PICKAXE) - ironAxe.save(this, Items.IRON_AXE) - ironShovel.save(this, Items.IRON_SHOVEL) - ironHoe.save(this, Items.IRON_HOE) - - thavmiteSword.save(this, T7Items.THAVMITE_SWORD) - thavmitePickaxe.save(this, T7Items.THAVMITE_PICKAXE) - thavmiteAxe.save(this, T7Items.THAVMITE_AXE) - thavmiteShovel.save(this, T7Items.THAVMITE_SHOVEL) - thavmiteHoe.save(this, T7Items.THAVMITE_HOE) - thavmiteHammer.save(this, T7Items.THAVMITE_HAMMER) - - goldenSword.save(this, Items.GOLDEN_SWORD) - goldenPickaxe.save(this, Items.GOLDEN_PICKAXE) - goldenAxe.save(this, Items.GOLDEN_AXE) - goldenShovel.save(this, Items.GOLDEN_SHOVEL) - goldenHoe.save(this, Items.GOLDEN_HOE) - - diamondSword.save(this, Items.DIAMOND_SWORD) - diamondPickaxe.save(this, Items.DIAMOND_PICKAXE) - diamondAxe.save(this, Items.DIAMOND_AXE) - diamondShovel.save(this, Items.DIAMOND_SHOVEL) - diamondHoe.save(this, Items.DIAMOND_HOE) - - netheriteSword.save(this, Items.NETHERITE_SWORD) - netheritePickaxe.save(this, Items.NETHERITE_PICKAXE) - netheriteAxe.save(this, Items.NETHERITE_AXE) - netheriteShovel.save(this, Items.NETHERITE_SHOVEL) - netheriteHoe.save(this, Items.NETHERITE_HOE) - - ironPlating.save(this, T7Items.IRON_PLATING) - goldPlating.save(this, T7Items.GOLD_PLATING) - orichalcumPlating.save(this, T7Items.ORICHALCUM_PLATING) - thavmitePlating.save(this, T7Items.THAVMITE_PLATING) - - arrows.save(this, ItemTags.ARROWS) - mace.save(this, Items.MACE) - trident.save(this, Items.TRIDENT) - bow.save(this, Tags.Items.TOOLS_BOW) - crossbow.save(this, Tags.Items.TOOLS_CROSSBOW) - totemOfUndying.save(this, Items.TOTEM_OF_UNDYING) + item(Items.WOODEN_SWORD) { + it.add(HERBA, 8) + .add(AVERSIO, 1) + } + item(Items.WOODEN_PICKAXE) { + it.add(HERBA, 12) + .add(INSTRUMENTUM, 1) + } + item(Items.WOODEN_AXE) { + it.add(HERBA, 12) + .add(INSTRUMENTUM, 1) + } + item(Items.WOODEN_SHOVEL) { + it.add(HERBA, 4) + .add(INSTRUMENTUM, 1) + } + item(Items.WOODEN_HOE) { + it.add(HERBA, 8) + .add(INSTRUMENTUM, 1) + } + + item(Items.STONE_SWORD) { + it.add(TERRA, 8) + .add(AVERSIO, 2) + } + item(Items.STONE_PICKAXE) { + it.add(TERRA, 12) + .add(INSTRUMENTUM, 2) + } + item(Items.STONE_AXE) { + it.add(TERRA, 12) + .add(INSTRUMENTUM, 2) + } + item(Items.STONE_SHOVEL) { + it.add(TERRA, 4) + .add(INSTRUMENTUM, 2) + } + item(Items.STONE_HOE) { + it.add(TERRA, 8) + .add(INSTRUMENTUM, 2) + } + + item(Items.IRON_SWORD) { + it.add(METALLUM, 16) + .add(AVERSIO, 3) + } + item(Items.IRON_PICKAXE) { + it.add(METALLUM, 24) + .add(INSTRUMENTUM, 3) + } + item(Items.IRON_AXE) { + it.add(METALLUM, 24) + .add(INSTRUMENTUM, 3) + } + item(Items.IRON_SHOVEL) { + it.add(METALLUM, 8) + .add(INSTRUMENTUM, 3) + } + item(Items.IRON_HOE) { + it.add(METALLUM, 16) + .add(INSTRUMENTUM, 3) + } + + item(T7Items.THAVMITE_SWORD) { + it.add(METALLUM, 16) + .add(PRAECANTATIO, 8) + .add(AVERSIO, 4) + } + item(T7Items.THAVMITE_PICKAXE) { + it.add(METALLUM, 24) + .add(PRAECANTATIO, 12) + .add(INSTRUMENTUM, 4) + } + item(T7Items.THAVMITE_AXE) { + it.add(METALLUM, 24) + .add(PRAECANTATIO, 12) + .add(INSTRUMENTUM, 4) + } + item(T7Items.THAVMITE_SHOVEL) { + it.add(METALLUM, 8) + .add(PRAECANTATIO, 4) + .add(INSTRUMENTUM, 4) + } + item(T7Items.THAVMITE_HOE) { + it.add(METALLUM, 16) + .add(PRAECANTATIO, 8) + .add(INSTRUMENTUM, 4) + } + item(T7Items.THAVMITE_HAMMER) { + it.add(METALLUM, 48) + .add(PRAECANTATIO, 24) + .add(INSTRUMENTUM, 4) + } + + item(Items.GOLDEN_SWORD) { + it.add(METALLUM, 8) + .add(DESIDERIUM, 16) + .add(AVERSIO, 2) + } + item(Items.GOLDEN_PICKAXE) { + it.add(METALLUM, 12) + .add(DESIDERIUM, 24) + .add(INSTRUMENTUM, 2) + } + item(Items.GOLDEN_AXE) { + it.add(METALLUM, 12) + .add(DESIDERIUM, 24) + .add(INSTRUMENTUM, 2) + } + item(Items.GOLDEN_SHOVEL) { + it.add(METALLUM, 4) + .add(DESIDERIUM, 8) + .add(INSTRUMENTUM, 2) + } + item(Items.GOLDEN_HOE) { + it.add(METALLUM, 8) + .add(DESIDERIUM, 16) + .add(INSTRUMENTUM, 2) + } + + item(Items.DIAMOND_SWORD) { + it.add(VITREUS, 16) + .add(DESIDERIUM, 16) + .add(AVERSIO, 4) + } + item(Items.DIAMOND_PICKAXE) { + it.add(VITREUS, 24) + .add(DESIDERIUM, 24) + .add(INSTRUMENTUM, 4) + } + item(Items.DIAMOND_AXE) { + it.add(VITREUS, 24) + .add(DESIDERIUM, 24) + .add(INSTRUMENTUM, 4) + } + item(Items.DIAMOND_SHOVEL) { + it.add(VITREUS, 8) + .add(DESIDERIUM, 8) + .add(INSTRUMENTUM, 4) + } + item(Items.DIAMOND_HOE) { + it.add(VITREUS, 16) + .add(DESIDERIUM, 16) + .add(INSTRUMENTUM, 4) + } + + item(Items.NETHERITE_SWORD) { + it.add(METALLUM, 32) + .add(DESIDERIUM, 16) + .add(AVERSIO, 6) + .add(TENEBRAE, 8) + } + item(Items.NETHERITE_PICKAXE) { + it.add(METALLUM, 48) + .add(DESIDERIUM, 24) + .add(INSTRUMENTUM, 6) + .add(TENEBRAE, 12) + } + item(Items.NETHERITE_AXE) { + it.add(METALLUM, 48) + .add(DESIDERIUM, 24) + .add(INSTRUMENTUM, 6) + .add(TENEBRAE, 12) + } + item(Items.NETHERITE_SHOVEL) { + it.add(METALLUM, 16) + .add(DESIDERIUM, 8) + .add(INSTRUMENTUM, 6) + .add(TENEBRAE, 4) + } + item(Items.NETHERITE_HOE) { + it.add(METALLUM, 32) + .add(DESIDERIUM, 16) + .add(INSTRUMENTUM, 6) + .add(TENEBRAE, 8) + } + + item(T7Items.IRON_PLATING) { + it.add(METALLUM, 16) + } + item(T7Items.GOLD_PLATING) { + it.add(METALLUM, 8) + .add(DESIDERIUM, 16) + } + item(T7Items.ORICHALCUM_PLATING) { + it.add(METALLUM, 8) + .add(PERMUTATIO, 8) + .add(INSTRUMENTUM, 8) + } + item(T7Items.THAVMITE_PLATING) { + it.add(METALLUM, 16) + .add(PRAECANTATIO, 8) + } + + item(ItemTags.ARROWS) { + it.add(AVERSIO, 2) + .add(MOTUS, 1) + } + item(Items.MACE) { + it.add(METALLUM, 16) + .add(AER, 8) + .add(MOTUS, 8) + } + item(Items.TRIDENT) { + it.add(METALLUM, 12) + .add(AQUA, 8) + .add(MOTUS, 8) + } + item(Tags.Items.TOOLS_BOW) { + it.add(AVERSIO, 8) + .add(HERBA, 2) + .add(FABRICO, 2) + } + item(Tags.Items.TOOLS_CROSSBOW) { + it.add(AVERSIO, 8) + .add(METALLUM, 4) + .add(FABRICO, 2) + } + item(Items.TOTEM_OF_UNDYING) { + it.add(VICTUS, 16) + .add(PRAECANTATIO, 8) + .add(DESIDERIUM, 8) + } } } -} +} \ No newline at end of file diff --git a/src/main/java/me/alegian/thavma/impl/init/data/worldgen/ore/InfusedOre.kt b/src/main/java/me/alegian/thavma/impl/init/data/worldgen/ore/InfusedOre.kt index 16fc9245..e276fec5 100644 --- a/src/main/java/me/alegian/thavma/impl/init/data/worldgen/ore/InfusedOre.kt +++ b/src/main/java/me/alegian/thavma/impl/init/data/worldgen/ore/InfusedOre.kt @@ -20,13 +20,13 @@ object InfusedOre { } fun registerConfigured(context: BootstrapContext>) { - Aspects.DATAGEN_PRIMALS.forEach { + Aspects.PRIMAL_ASPECTS.forEach { registerConfiguredInfusedStone(context, CONFIGURED_FEATURES[it], T7Blocks.INFUSED_STONES[it]!!.get().defaultBlockState(), T7Blocks.INFUSED_DEEPSLATES[it]!!.get().defaultBlockState()) } } fun registerPlaced(context: BootstrapContext) { - Aspects.DATAGEN_PRIMALS.forEach { + Aspects.PRIMAL_ASPECTS.forEach { registerPlacedInfusedStone(context, CONFIGURED_FEATURES[it], PLACED_FEATURES[it]) } } diff --git a/src/main/java/me/alegian/thavma/impl/init/registries/T7DataMaps.kt b/src/main/java/me/alegian/thavma/impl/init/registries/T7DataMaps.kt index 0f824198..1d1957f9 100644 --- a/src/main/java/me/alegian/thavma/impl/init/registries/T7DataMaps.kt +++ b/src/main/java/me/alegian/thavma/impl/init/registries/T7DataMaps.kt @@ -1,23 +1,19 @@ package me.alegian.thavma.impl.init.registries -import me.alegian.thavma.impl.common.aspect.Aspect import me.alegian.thavma.impl.common.aspect.AspectMap import me.alegian.thavma.impl.rl import net.minecraft.core.registries.Registries -import net.neoforged.neoforge.registries.datamaps.AdvancedDataMapType import net.neoforged.neoforge.registries.datamaps.DataMapType -import net.neoforged.neoforge.registries.datamaps.DataMapValueMerger object T7DataMaps { object AspectContent { - val ITEM = AdvancedDataMapType + val ITEM = DataMapType .builder( rl("aspect_content"), Registries.ITEM, AspectMap.CODEC ) .synced(AspectMap.CODEC, true) - .merger(hierarchicalMerger()) .build() val ENTITY = DataMapType @@ -29,23 +25,4 @@ object T7DataMaps { .synced(AspectMap.CODEC, true) .build() } - - val ASPECT_RELATIONS = AdvancedDataMapType - .builder( - rl("aspect_relations"), - T7Registries.ASPECT_KEY, - Aspect.CODEC.listOf() - ) - .synced(Aspect.CODEC.listOf(), true) - .merger(DataMapValueMerger.listMerger()) - .build() - - // prioritizes resourcekeys before tags - fun hierarchicalMerger(): DataMapValueMerger { - return DataMapValueMerger { _, first, firstValue, second, secondValue -> - if (second.right().isPresent) secondValue - else if (first.right().isPresent) firstValue - else secondValue - } - } } diff --git a/src/main/java/me/alegian/thavma/impl/init/registries/T7Registries.kt b/src/main/java/me/alegian/thavma/impl/init/registries/T7Registries.kt index 74aac755..c5aa3556 100644 --- a/src/main/java/me/alegian/thavma/impl/init/registries/T7Registries.kt +++ b/src/main/java/me/alegian/thavma/impl/init/registries/T7Registries.kt @@ -17,8 +17,7 @@ object T7Registries { .maxId(Int.MAX_VALUE) .create() - val ASPECT_KEY = ResourceKey.createRegistryKey(rl("aspect")) - val ASPECT = RegistryBuilder(ASPECT_KEY) + val ASPECT = RegistryBuilder(ResourceKey.createRegistryKey(rl("aspect"))) .maxId(Int.MAX_VALUE) .create() diff --git a/src/main/java/me/alegian/thavma/impl/init/registries/deferred/Aspects.kt b/src/main/java/me/alegian/thavma/impl/init/registries/deferred/Aspects.kt index 1ef11c6e..0de52fc7 100644 --- a/src/main/java/me/alegian/thavma/impl/init/registries/deferred/Aspects.kt +++ b/src/main/java/me/alegian/thavma/impl/init/registries/deferred/Aspects.kt @@ -5,49 +5,64 @@ import me.alegian.thavma.impl.client.T7Colors import me.alegian.thavma.impl.common.aspect.Aspect import me.alegian.thavma.impl.init.registries.deferred.util.DeferredAspect import me.alegian.thavma.impl.init.registries.deferred.util.T7DeferredRegister +import java.util.function.Supplier object Aspects { val REGISTRAR: T7DeferredRegister.Aspects = T7DeferredRegister.createAspects(Thavma.MODID) // PRIMAL - val TERRA = register("terra", 0xff56c000.toInt(), true) - val IGNIS = register("ignis", 0xffff5a01.toInt(), true) - val AQUA = register("aqua", 0xff3cd4fc.toInt(), true) - val AETHER = register("aether", T7Colors.PURPLE, true) + val AER = register("aer", 0xffffff7e.toInt(), listOf()) + val TERRA = register("terra", 0xff56c000.toInt(), listOf()) + val IGNIS = register("ignis", 0xffff5a01.toInt(), listOf()) + val AQUA = register("aqua", 0xff3cd4fc.toInt(), listOf()) + val AETHER = register("aether", 0xffd5d4ec.toInt(), listOf()) - // DO NOT use this to check if an aspect is primal. This array is used to datagen ores and other content. Instead, use Aspect::isPrimal - val DATAGEN_PRIMALS = listOf(IGNIS, TERRA, AQUA, AETHER) + // DO NOT use this to check if an aspect is primal. This array is used to auto-generate ores and other content. Instead, use Aspect::isPrimal + val PRIMAL_ASPECTS = listOf(IGNIS, AER, TERRA, AQUA, AETHER) // SECONDARY - val LUX = register("lux", 0xffffffc0.toInt()) - val VITREUS = register("vitreus", 0xff80ffff.toInt()) - val METALLUM = register("metallum", 0xffb5b5cd.toInt()) - val VICTUS = register("victus", 0xffde0005.toInt()) - val HERBA = register("herba", 0xff01ac00.toInt()) + val VACUOS = register("vacuos", 0xffa0a0a0.toInt(), listOf(AETHER, TERRA)) + val LUX = register("lux", 0xffffffc0.toInt(), listOf(AER, IGNIS)) + val MOTUS = register("motus", 0xffcdccf4.toInt(), listOf(AER, AETHER)) + val GELUM = register("gelum", 0xffe1ffff.toInt(), listOf(AER, AQUA)) + val VITREUS = register("vitreus", 0xff80ffff.toInt(), listOf(TERRA, AER)) + val METALLUM = register("metallum", 0xffb5b5cd.toInt(), listOf(TERRA, IGNIS)) + val VICTUS = register("victus", 0xffde0005.toInt(), listOf(AETHER, AQUA)) + val HERBA = register("herba", 0xff01ac00.toInt(), listOf(AQUA, TERRA)) + val POTENTIA = register("potentia", 0xffc0ffff.toInt(), listOf(AETHER, IGNIS)) + val PERMUTATIO = register("permutatio", 0xff578357.toInt(), listOf(AQUA, IGNIS)) // TERTIARY - val ALKIMIA = register("alkimia", 0xff23ac9d.toInt()) - val TENEBRAE = register("tenebrae", 0xff222222.toInt()) - val INSTRUMENTUM = register("instrumentum", 0xff4040ee.toInt()) - val FABRICO = register("fabrico", 0xff809d80.toInt()) - val MACHINA = register("machina", 0xff8080a0.toInt()) - val VAS = register("vas", 0xff9a8080.toInt()) - val COGNITIO = register("cognitio", 0xfff9967f.toInt()) - val ORNATUS = register("ornatus", 0xffc0ffc0.toInt()) - val HOSTILIS = register("hostilis", 0xffc05050.toInt()) - val CORPUS = register("corpus", 0xff9f6409.toInt()) - val PRAEMUNIO = register("praemunio", 0xff00c0c0.toInt()) - val CIVILIS = register("civilis", 0xffffd7c0.toInt()) - - private fun register(id: String, color: Int, isPrimal: Boolean = false): DeferredAspect { - return REGISTRAR.registerAspect(id) { Aspect(id, color, isPrimal) } + val MORTUUS = register("mortuus", 0xff6a0005.toInt(), listOf(VICTUS, VACUOS)) + val PRAECANTATIO = register("praecantatio", T7Colors.PURPLE, listOf(POTENTIA, AER)) + val AURAM = register("auram", 0xffffc0ff.toInt(), listOf(PRAECANTATIO, AER)) + val ALKIMIA = register("alkimia", 0xff23ac9d.toInt(), listOf(PRAECANTATIO, AQUA)) + val VITIUM = register("vitium", 0xff800080.toInt(), listOf(VICTUS, PRAECANTATIO)) + val TENEBRAE = register("tenebrae", 0xff222222.toInt(), listOf(VACUOS, LUX)) + val ALIENIS = register("alienis", 0xff805080.toInt(), listOf(VACUOS, TENEBRAE)) + val VOLATUS = register("volatus", 0xffe7e7d7.toInt(), listOf(AER, MOTUS)) + val INSTRUMENTUM = register("instrumentum", 0xff4040ee.toInt(), listOf(METALLUM, POTENTIA)) + val FABRICO = register("fabrico", 0xff809d80.toInt(), listOf(PERMUTATIO, INSTRUMENTUM)) + val MACHINA = register("machina", 0xff8080a0.toInt(), listOf(MOTUS, INSTRUMENTUM)) + val VINCULUM = register("vinculum", 0xff9a8080.toInt(), listOf(MOTUS, IGNIS)) + val EXANIMIS = register("exanimis", 0xffebebfb.toInt(), listOf(VICTUS, MORTUUS)) + val COGNITIO = register("cognitio", 0xfff9967f.toInt(), listOf(IGNIS, VICTUS)) + val SENSUS = register("sensus", 0xffc0ffc0.toInt(), listOf(AER, COGNITIO)) + val AVERSIO = register("aversio", 0xffc05050.toInt(), listOf(INSTRUMENTUM, METALLUM)) + val DESIDERIUM = register("desiderium", 0xffe6be44.toInt(), listOf(COGNITIO, VACUOS)) + val BESTIA = register("bestia", 0xff9f6409.toInt(), listOf(MOTUS, VICTUS)) + val PRAEMUNIO = register("praemunio", 0xff00c0c0.toInt(), listOf(BESTIA, METALLUM)) + val HUMANUS = register("humanus", 0xffffd7c0.toInt(), listOf(BESTIA, COGNITIO)) + + private fun register(id: String, color: Int, components: List>): DeferredAspect { + return REGISTRAR.registerAspect(id) { Aspect(id, color, components) } } } fun linkedMapWithPrimalKeys(mapper: (DeferredAspect) -> T): LinkedHashMap, T> { - return linkedMapOf(*Aspects.DATAGEN_PRIMALS.map { Pair(it, mapper(it)) }.toTypedArray()) + return linkedMapOf(*Aspects.PRIMAL_ASPECTS.map { Pair(it, mapper(it)) }.toTypedArray()) } fun listFromPrimals(mapper: (DeferredAspect) -> T): List { - return Aspects.DATAGEN_PRIMALS.map { mapper(it) } + return Aspects.PRIMAL_ASPECTS.map { mapper(it) } } diff --git a/src/main/java/me/alegian/thavma/impl/init/registries/deferred/T7Items.kt b/src/main/java/me/alegian/thavma/impl/init/registries/deferred/T7Items.kt index f2d8ef86..da47e771 100644 --- a/src/main/java/me/alegian/thavma/impl/init/registries/deferred/T7Items.kt +++ b/src/main/java/me/alegian/thavma/impl/init/registries/deferred/T7Items.kt @@ -197,7 +197,7 @@ object T7Items { val ANGRY_ZOMBIE_SPAWN_EGG = REGISTRAR.registerItem("angry_zombie_spawn_egg") { p -> DeferredSpawnEggItem(T7EntityTypes.ANGRY_ZOMBIE, 0x00AFAF, 0x9e2323, p) } val FOCUS_EMBERS = REGISTRAR.registerItem("focus_embers", ::Item) - val FOCUS_EXCAVATION = REGISTRAR.registerItem("focus_excavation") { ExcavationFocus() } + val FOCUS_EXCAVATION = REGISTRAR.registerItem("focus_excavation", ::Item) val FOCUS_ENDERCHEST = REGISTRAR.registerItem("focus_enderchest") { EnderChestFocus() } val FOCUS_LIGHT = REGISTRAR.registerItem("focus_light") { LightFocus() } val FOCUS_HOLE = REGISTRAR.registerItem("focus_hole", ::Item) diff --git a/src/main/resources/assets/thavma/textures/aspect/aer.png b/src/main/resources/assets/thavma/textures/aspect/aer.png new file mode 100644 index 0000000000000000000000000000000000000000..f09adccdd6198300be0ae8c7f68aa7a1560dc2f1 GIT binary patch literal 6590 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 LNkvXXu0mjfaffWD diff --git a/src/main/resources/assets/thavma/textures/aspect/alienis.png b/src/main/resources/assets/thavma/textures/aspect/alienis.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d51dbc59676c8b52d7a98bec4a99b59190ea2c GIT binary patch literal 6685 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 Ef}0VRegFUf literal 6239 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 T3}2_a00000NkvXXu0mjf<#bI8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/aversio.png b/src/main/resources/assets/thavma/textures/aspect/aversio.png new file mode 100644 index 0000000000000000000000000000000000000000..c6313d5489f3bccb387f1c0565accf2279ea828a GIT binary patch literal 4905 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 M07*qoM6N<$f@IQ>3;+NC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/corpus.png b/src/main/resources/assets/thavma/textures/aspect/corpus.png deleted file mode 100644 index 159b42d4d488bef487de9d37cfd48f23f1fca228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7654 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/gelum.png b/src/main/resources/assets/thavma/textures/aspect/gelum.png new file mode 100644 index 0000000000000000000000000000000000000000..63210f5ae3eacf4b84eda74a2a3394b8976e77c9 GIT binary patch literal 5046 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/hostilis.png b/src/main/resources/assets/thavma/textures/aspect/hostilis.png deleted file mode 100644 index d0bd21505d19711fe93692a7777bf279e5d0c47c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5883 zcmVuP)j{000mGNkly|G)d*`@Z+(`@SUD-Cy1F-o59ZbM86k zp1Zy;#kBS3gb2g=C>kvCQiWcd272SCIq?IjJh72~ZS;Q9fVg0zsiMZhO6R z1=Qgjc;E$6jcee;*gVmQ-V~|=9?IY|JQ{~K;1#$c5p`Qq0?L#)oR5gLFQIfOrGV{4 z6bgC`g*%9&Sa7nSi{MlN`IGdcgi|}*)%c2rI{AwBl=xut8UdHH-V!_DM^gdlsI%CF+^FR9d zqbs*=-CFkZ&p(e94#(t(xt)3vegMbO!=0+DtDoDlWy{2mKKl4d(e@Vni=c-9N8lLG z2`)p(!D;YIT-Y*-;)qLbn830J6? zAXy3;p|Nz8FkB(&&?`Nke){QQ`}gmE`o8hwr}pX7=l3!MMSVGrNl#BlX+?)iFJmyq z(|hFGuUxs3-uCH@$;`~mKlRj8&p79tbH>OK&AtFlzkT_9(>L;(&!Mv8DJlspE^ z37lrxEyCuSJ*aR*nr4iXWsJf5B{OC`cb1I)?}-y9K2}&*NXVN+zl@BGf&~i}oTEC7 zr{_@`$OM;@lfzg~*l{=lhsp`l*RNlHr|4-%QDg#HbciE7pjYe3GhSU7+oDAz<97V9 zio*F76%}_7+A^Au7f*}4rdO|C{X|4>!LN|D6Ei^c;;Ac3kV8ir^oJ_j{40mx|i z*;p_)-gslB#_9i>q(9hI>A#dS*;&~dDo(cYgna-Eq3q1ejC|o^gU}+vkEpPvOP9{~ zYXT&Ck_Waub4DgWV1geUL0)f)s&_D0J!Cf_?Sv$+muV7BqZIg2?>48*tV|i` zW=jAD)8jzavSrIIhzL<-B%dU6;J|@xBSwt)t4JF~f-ch4t{g-XKs2DcNMtEb5k`}1 zLnTrU`2|vhiP@!h=&3vrvP6-`0Zk%0GH%?s3OQhYh*xASr+M?{^%H%zRI-MPI;TsQ zE?UneQH8doufF=~L($brPJ`Zh8Fb24o*@Mw8=P!VORhkb;e>(VvhhjK0wxS+IV)PY zaN$5>3`-T86mY4oF?juu*5Oq!sJ>09w|*kb(OAu~Z)38Xnwr#8k|;!LNh`~aQKLqE zFS=U6F+n?lBFdl}lcttmqv2(626YiT!+J)LCiuD5eDE+yImd2bh7KJ%L9^=vB4fMS zQEwcem#LpHVM6(mB}*1iXbD`uvZSPh9UJ_TZx1lJn(VYE@Kp;4efs9F#fukzB-{bP zQE|{o7+#`$S8a+O(o%S<>gXsO!0^HrY!ZoT`~FXfpL}wOHY~$C zb?S7<#*G{A5hZIZ4#2ZbD%XDV%{Qy{PMmyW5DY<9Ru)QOyd6qUJn=*q;mA{Mtou#u z&lh3n^{cPGdZlXX1qvR!&a?mTwtLT>DcTg>pcRN6p`2;Zk#?8^aFP?qfw#Hw=m!qt zF^nBl=Zh}7=njZ8GBOIaPLI?c{XdOy5KegEq+<_0_~6!`e)?&tN%TW%fLH4n`u5vz z4-iVuHTmbAe|}%(TTFq7FTecq|3z3QI4&S^=;7{i%2SG{A;Phf?67ZMq*IB?)4AXSb@{rdI0VB5BBcL|9Dh>+At zlP2vE?q}gzP1>sVRL`JTL2+?0X9MvlEc8s4KL6tL#j0bHMZbd>Ks z?>N=f^i6zO465ncwL}!za zGAJ=|;>15mA�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 diff --git a/src/main/resources/assets/thavma/textures/aspect/civilis.png b/src/main/resources/assets/thavma/textures/aspect/humanus.png similarity index 100% rename from src/main/resources/assets/thavma/textures/aspect/civilis.png rename to src/main/resources/assets/thavma/textures/aspect/humanus.png diff --git a/src/main/resources/assets/thavma/textures/aspect/mortuus.png b/src/main/resources/assets/thavma/textures/aspect/mortuus.png new file mode 100644 index 0000000000000000000000000000000000000000..e74abba6853f836169faed8402267ee519a9af32 GIT binary patch literal 5532 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 Bos|Fp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/motus.png b/src/main/resources/assets/thavma/textures/aspect/motus.png new file mode 100644 index 0000000000000000000000000000000000000000..87fc809b856c00c7b0a21d44ff7744e6ccd703e4 GIT binary patch literal 4999 zcmV;26L{>2P)j{00001b5ch_0Itp) z=>Px|K}keGRA@uRTMKYgXLkN2T}k&!_g+10$+9HBge+TzNw-adoY1A zjUD5cWLe$s&iysNuCHXt!0w&VTy4qm&*_3SZx*M2zl7~Qky>9{cP$*!(0Q4oa5jT<-q7a@cvggE!? z*;CWl*m$qk>x~G4;JSSI^5>CAw#D6_7Fe+9ihpU@+Q&(PP>6 zm<{$G-Rs)g+DdR;I2`t-QYn+q=PPzN97U;A$|%dSJC#Zq>~^~oBedCU4xZ;7bhIZ< zocK{gL&H~u5UIbv|Dl?inm^R8OkOIKG{Su&Y4heDyi%*>40# zg>IvxqhC9n&Q`3H-rn8~(P;GEY|omSni@TR{P=-2Yu0>72pLorFir@84}krrH+ET@ zhKGmmHJi;LgTYXVnK2rT6&%NvK?siH{3esBbfE&=%ze$x&F$N^Z5w>|-FKtw*RTJp z`JROp!1Mg~2_YBN6#zd#mw$Tp*_o$H6*Fx)dGh3C>kV)z{a*NeKCd5Hdsv zp|d|ncqoB794LVo(%*7{{Wj!rBZL?BRH;6XaBDWA^%ATxvC-nMGWOJES#|(o%O(a z&Wk!mR$+SAu}Y-hsnY0P@hLC7@Io<^7Kub$e!pKb8jT5y#WHdI`t?hVjg8$HY`P|tQ($UfJ!>68l>Su(ID};~{b?K*ZKNr;L!ISnFg)~+f zS|wU9;f@n7)%UiIT4gt!2Ek3ar+@yeAeizAVUeaVs~z<*_X z|NZwn?!W*3e<6hYLWRBzyVna?^zc{G%5yzLBV3N zjK^ZJkAU^6DY|y-*ilneRaF^{M#GXMxnx-&&;%4i5f%Sy|Z*LdXCi zI@EtMzH5u%CVQ*&i)iwrqVqvw!sH(S2*zu05)HdIUMh@{lN{LtL%5*Jfh5va|UT z88%7E=H;n>p-Q8vEM^E1*|+=m@8=(V^id_7Yi(_^VH^*+0T~J>IE$n z4On6IV2_@s=jOm+OG}Fvc|s%-DK0H7RZ?2F+l>Gw>2kS5Ns%l}KfjHg|T=#mtK3SF#%bO%gg3~kFY&IoN2jRfx=kwX^M<0FE+Su55 z4lAOywY75f>eVai>gra`cOTAAOiWA+4GmrT;)^d%tXsG4gsK1#9Ps#50kaw2espxS zAs&x&9LI$?j;oxRnL&Q8Kpw|&K?q~9SbQAEWwp0_1~=a|r%s)E=kB}j#_Xj|ojSEL z7K?pvzI(ErSJC2S73<;ksRCx^q_h_?iO3ulhhcd#9N4~n`;?_04u?yz?7d#E!t6L4j$%oY6uX8AKv^n9rHj{UGIF-F zv$JT^rcJNhtl;$iqeqXvx_0f_4;bhh*Gp;HG?j%b)`979eR^?#)`!gD0GgYd-EeMo zb#->D)jEFPefJ@Koqp}L*GeZRC#CxO`lWWeJ!rSvz2E`B4=h9>Dk<`~n%@IDN9JR1 z^|H5YsctUZ*TNiC0!?25Z*WAwcEB9MPXXyFAp{H&K1%wEwD!p-pY$$Tw8&jrS}Mn4 zF&r}ngF!qq=cckdU6kF?6P^up^aRqvV6I$Vm+ete1n2Poz+7PY4OMt30_Fy@fSI_r zZQF*BT3o(-d6moMaygw&S&}5X-|q)+pZ5l0#O-!(R%id39?r9Pu190(rm-q@ok3i* zwYB*`VO3XG1CNz(mQvLYhr@}q)?hHq+U<7PVzIal2E&7x^`4%dRX(5Z4n%Tpx4S%V z>E^j`YHI3RK@bos_Yy)bYaJd0WAPj%A?uMNN2;c$r!7@gRpm~n6A29`ilXA!n6%cw z^St8qAxNPEzIN?ex8LsvS7%J6Qm++yf4k35nwmB3tbMM~0Wz*Bsa%E*@C=!W8lgXsT@Aso#h>&?f(VbQks>gqiW_4`2 ziVCH`9Mb_|IdteyMIw>lLZMI@oS)n6_KTtjdfJ5Wli}~c-^ zg(&Of$&>%QY}vAZoNwm&4?g%n;qEch+8{>|1ZCD$?tZ~R&gkgqMW@r*f>8HYOaAX} zx9}9}bJ;w#^=xpK3kogm?d^yFmCzOn0>n|a7F8R}6l~pKFeKyg_%*NBiyVIT%P+sY zucV~pJ65X|1(BkBsp>*zUMoEA)pGb+_{xOI6jAFdxU^XaQ|d09FZ7TI3Cg9BFDRb#`|8N=r+nSS%(x91c^yP&Y6z z@L?npQG}-o(5ug9!|!aXf@N;A6+G#2%vj=;S6<wY+cN zzGyHQtOn>;0h~jipUl*}{T0P|2|S&dyH6 z`$~0|rLh2kpt97C4A5EVv`W)hV`F0%WLZX@tyEIaojZ4@EX!pUi=|>}Y6^LKgVkzP z{6wK!cX#&%j^l2i(ShT*39v6(~I2M+`M69h6nM!RAEbgr$ zFh@p4zHzx+=(|C20k#icKxf}GI5_x&Kp^njg$j=Aw{G2fu%)F1Eo|3R<)V5623Mi6 z(j{t8*G8i;gnS(zj^ogcRgRehb*(bBrMH^89v&XP{OPBkerUB?$INE)l*wd@n@pzJ z6)RT26r6p1eGk>v);26ec!R;Po#E{uIFt*@EY03#YfQ-2k7qq_;DFMLH#<9vemp;V z@vtH!N%Eo(k11GSnJbM5g%m9y=>GltAARhx$8M-ihpQGS{14PJHG1+e1tK0WD6_=Tezy znv1204}OEF1k|BYRJ>)&ma=d-3~s=cOeXnAB;s^999CJDITr5N++A%@K(PYC&nZ;0 zvrln+z6Ro4P?#&t)uXbh5->0f5U_{AVu=FQfbkICLxo?wcrhwRV3v>-BCn^FUPY0Y zFJJzTii!$2Quq$^;?cA@LwL3?rx1bk%FcTD&e7%sguIbR!~-@LjS27#Dy!>YniE9$ zhl>|4{#$i*_2IU*Hvhv9Km3T(=?vw&{K*_3vU z!+ZPfw-rZ68;{YJ0tiG~irSvyxm9f`eSLk$>+0(MwWXz{EgwU zQSw3;CT&egcW0!9XB(2xcnp{WdyAPtLz3Ej>?`QsZ}MVw@E^YT;)~wrpMUGCDpnW;02+b9qY5b=Vot14xQyY&t%(C5X_iNJG+tP}rHWeLgZf^E&-MV#4 zp~9a$dGcN4?P{X}UP7S4r@OKAmOh22Y~ieypG#9(9UUEr0AUue?Go@-uxYmO7zmS3 z6C%@R4=#USp~8Ru`R9l4x#u1< z{pzc)qAnn8*s!4pX)OzPyLa#2(bUxR)A@RD*_qeo>MZo>MSR(a3~hF(H5FPHRNxXb zuNF2OCX;C<7!2}Wua~c`u0Dj~Wm{WYRV)^}OBBVRBuO63JUIMZrttF1FK^$nWeXJ^ zaedaVYbtcMJe;Mo*zXzCHv6&x;Lzvuq3IYiWkjV0FB0YZvVlr$g3_KH85!B^a5xqf zV)q7v;co~b$mq~}tJ`l+9UePV>DNrg$H%Q`Jf_~BHXh?ulV8VcCI*9{33htr%9V$L z!QgKdDEwd2ax@dy&uu(LLNh!(+(2J20?wll`I~;hNPW3z=&P^3TC-%ylHbc$c(o1X zF|`X5Z73OWz1GoD+t!1(3^u2$t4n#=2(OmW2v6<3W7Aos2?_mog;Z;`!tLI@ySb^U zY3Tg<^K0|%!^1O1Mn-<_a=B2G1I!`1qa=xL@2xhSWl2k_80y@#a5Zl}04f`HuhQ9w z?UkH=c6Qe2bUKUR3ovN)rNR`bE>Kq=fBbRts#U9c2L=Yd7Y>L2INzBc8yoAFWf?CR zA(f?XSpY>c-mc08bx;T!1hEN_Hsj0oI~UWdcMkuD*+J0~!~-%sa^S#$s=MyGt3HuP z2s1M?7AO%RH&q5W0dN2u$4!H;yK&>jz_Mk_KF;-4W%_2#n^tU&&nico|FabzHdfGn z*S?FJ>o@Mj>>wCH98TF>m>w8ibZH^5q1-=}f!+h9A(){r6=S&r;^w?i{Qrp|;-1=& R)s+AM002ovPDHLkV1k{e+t~mB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/ornatus.png b/src/main/resources/assets/thavma/textures/aspect/ornatus.png deleted file mode 100644 index 6832be7da2390ee531885c57aca2dd24b1c0d61a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4217 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 P00000NkvXXu0mjfSoIY@ diff --git a/src/main/resources/assets/thavma/textures/aspect/perditio.png b/src/main/resources/assets/thavma/textures/aspect/perditio.png new file mode 100644 index 0000000000000000000000000000000000000000..5d58c24c502dcf51a8f87a3dccf562ada06fccc8 GIT binary patch literal 6759 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 ZKMQ5#&ws`$0{%GyX{hKbSHo;y{||kc_8|ZO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/permutatio.png b/src/main/resources/assets/thavma/textures/aspect/permutatio.png new file mode 100644 index 0000000000000000000000000000000000000000..45bca802d6ecce1824d19d68425f4dc995201c9d GIT binary patch literal 5117 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/praecantatio.png b/src/main/resources/assets/thavma/textures/aspect/praecantatio.png new file mode 100644 index 0000000000000000000000000000000000000000..67606aef0771f57c469e4e4802e59d36bc29ec87 GIT binary patch literal 5409 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 LNkvXXu0mjfaffWD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/thavma/textures/aspect/sensus.png b/src/main/resources/assets/thavma/textures/aspect/sensus.png new file mode 100644 index 0000000000000000000000000000000000000000..7727b84ff6d65b58663699e6d0ec7b26bc68fd8f GIT binary patch literal 7039 zcmWkzbySmY8-7QQMmm(1?&e305>UFk6%YkR2$G{gMhQqsi4xKvCDL6YjesDX(j_2# z&$n~7{jr_B=e?inzG^W#TB=0&bodYi5vi*w>w$N~|DSLi@cP*qxd`51o_eZ^P{sHA z+Ym%ArLL@C;A_=lj%Q$CT;KAPHxEA}2_v74C4xy9HzhBCl2DlQk*4ws=@aceCoT}_*NwWEh@W!DdF(P#E(*&Z4ZJGA;=+%{Po^e;!Ww_xx7(ZOXL|ANx!xg&Zx z47p_;(1&|r!|+uwGAAMG=qUfFIjG1V+2&g=%6Qvz*(iuJ?Pn~?khA-(JC@WfR9wIj zogv)o5J2urgSm4Vg;UrQ9r0`!o0EzqTpc4%#m{Vj|h`^XKd5y1HY_V+E?#zr((W^qSGy zzYMUQg~T5bbkv$8Ru$K|%n*MKzH1%Z8Y_?;85zM{Sv&P>=^h>)#%XqQc6M&`-Zhe? zGP1S~W@TYn`Q~(DA~_Njd=w(629XMG6od&cR@sIr85m49!Z2}W)3dTh9noSZXDd=< zIqtt@@gVvRl#yAvc-O*$44s6JmzSuhm{{uPsU2$;7MA0`c2x*o9E^6n{^>H)0yG+Z zzi4JR*TdU8PRQn2%dOYN{;%Hi^Yh-TtE;!i$HyO{qoXle@!$-ecC4aBG9n_L{oOI- zT`ym}h|J2!Xd<`@K3F6wF`(HI57(<1@tQ+uK)Yv z_p|0H|Jc~rDwtPRU0q!bhb9*f&-Kq=zXExdL|<49NyImW7-HqvRZbCMszG*w6k&wn zHbXS@-8A&?v$E(J?%%)9nKlGd-20v_{ip5r$^{9KgV$?9X}`y9UuJ}*SY_GB&ikPh z>fR^!#0V2)M3A3I1^zpmX+|!`!b=phDoe2vVyO=NaRm5B;2f06!S@Ca4pNh1Arz2T`k-@OW8|vm><(Dx58t$ ze;7?hy8>IG@6Log+hc4LD(357W=Y!jqD^H>)&O3#eEt31o}mp7Rm41)Lb($0q8T}0 zzfZBDXXu|w6ZLLO4CgDc0=G>?O>=W|t^k`Pjih<6(+O^^Uz{Yomx-Iog1YmfRTTbZ zgS$9M3=a=qTTC=Bnh?uMPj4r&*A@E^;eFN@j``7<^b5xG+_bcd&SKqyXQ$%ENaT^N zw)Ut1jr}@W2*rycIg!Eev+UcBg`$5cJVdg5&XREBm%u_rQsHUa*x3oE2^oz4I`@ufByVwm@YR@`|7^jxf;NqColN>Uc<#l3?{<% z&b+r_wDt^sEw`nuyl?hPN=l?;oqps!#X;QjWn$MQt*QFEx3^cdwY3$YEvya5q#`Ox z6=wzm#ViAbRCMI~O+YsfI53raJ1xL=TWza9T*eTv{A#c;IXStuva%xTduXGbX;?6} z=k4ivjcdP0XHOU#mKAD@dZT!@>T(Bq`g63!rW z@ms@CO&oCWl%%p@5XN-sI3R;iF;uu`KFzOBHt>~pf-eu37mil@?qXR5+xs}h#Jmqf zu?ZH1#l`Ep_Z&xa{+(wy=KTCF23uf6V8aky?g^}dg)J?Csnyj&qVZy4Vuohs=9TLP zRP;jX>gvdtm>AmC%}web-o`veWxm17oe`>1`|S(RSJ@SW8yy6LQkQR0w+vv>G60J} zCErV{st(bWl>%z;z5B_Ef3SXNXlkCB)HvXgX2K{$L`3AX<%8u`;O|M{1mY1B;r@YN zOG>y##>dAa=Ebx`W9)HX&^5xSxlqW!z<)C4=H|FZW&qZ!iPzLG0ns zdm8($Grxa6zfj67A*u)sNEie5qcBfQTS8o%zq-C2C#Y&;V`HhTtW0i&081WKWpl07 z>~oMK`TE!aDs+D!>nF-1Dw-l5=8w!YNwA4GuYd8HUrz4!9tra5bi15YHU1{klT_x! zgegD|=DTxt<<^6NxP0#D*zi^ehyEc9v2HVg;n)b^GsOA`4bR`y%8_Z3m6W6@gnYnU z|7Fk5&Ap4Q<9Yb-siB?S3K#KnL0ULOhX*6n)Y2k0{pz(XbL4kRj?o^j^Llpku)e-t zpgR`paA5s-k^u|lxWLWLz40HQ$7lsj_T&!Ub|MtDk&22+rLUh~Jf+(+u$ktL-{1cg zvELKM)vAUp-oAaCqp6{>H%TMY432p!nM0es9L9XrMTek4jWmL(6ej&QVV9hoERy{8 zE$L;n81$ToNT;s8zEvQ3An#uGOiwIzLOhMoiYgh(s`Ad?c;a($F($il=r2l`c@52a7GzJYeeSYM5B08jl|zKi1H= ziS=FR?d^2|BWY(%XPxDE9l|j1V^t8L5!$ap^h860Q2p`aD{CeCxhBueMbp}6w#T>t zs>I-q8JznK$7*qj?@Q9&yO$3>{w~^NL0mcZ=edhZbJ*crU!SA=CeipvmW2OErkIQ0 zOcqd>0H>SFBYDBz$Bj@w0qOFN`0Xkd;yy%xsQ`P^474!7$=)6_!RD|tlqiWpNrKhm zW6wZjNYY2<+ESVBbyI>4g=TR^XXGv69`UD(*z_%$>%6d4p0bSpXLGE?!( zpu|9S1tW)tkMCbvR21$40~O1!YWt|W$rAmg?xhN=md{4qsY{1~e@h-nzq$md@A3Y$ zV8?7T(ct>)d2K^O!-myXRCl+sv!33#dE>#&-;>?IfPi{;K8S_|>i{QG)-bY|AENaB zTwbnOQ(H?P`0wg00F3&eI)s3lUm1YhP82sslQHm&8wCl`6V+Xhg#>_gLvj80B^-J4;6 zYrlW^p_5|@-(4_8vU+CQi%0k4n3JfKtE=n0F9mlIdMaNjO0To4OCj$!(U!YkIgwpR zl`gY%fl;aB_2nhp=3$Z=sw|Psyvbwz$Hk&Q$>&iI507^$s;XV0bmx0N?ZutP*{}o> z#kI1r6x8uNswFiGCW^F4i1G0;obz|e8;_r08!xXhR{^WqsZk~F|3>5W2kbhSj5MNX zq8w#|Pe9OidUh5ejYUjKdae$2-@c!GewG^$5P-GAlcZ*&PXo`Yp4>glI`ju?;R6=f zpZR{d(RD>cL{HR>au21$;7C#y6 z1P191!X1dokiDH9X=Z2ZI$hibWy+`5u(jIBNdu9=J6QVQ(9o!{p$Y0~uuL5?oN3EU#g%z8x6o|1 z4vu+)t0hxY$55JpBgj31;_nNQT3T9a4i0P9LO-6%aW?R5tkHUtA3-uQt>*~&S!DdK@YJ`Nwa(ZG6 z7XT|KR5KEwsW#COmcF*R*#{`=+pw7Zn__NkqHQCtoftd}Zv{nC?Em!dw|ibga>ZV4 zXf$Di&r+ZdHv9EvX5G!=p`T#+~S{F!eU^7SVqW3>tWL5dW6Ow+&ti;iX1T3=s3v9Pcx%q#7hoxPOR zo$j+Jonps?OA#Yz%1eza>(gakd%)>fK9`oBs3tJPjbOrU3!d@u@$Gg%LOG2;63&aWV<%%Ve$siF62Hyri{QSO92ln*T)B}A^ ziWnKggm2K7dh^sRWCy7`gpl0&-4S*VVj8aUIaoYRPp2v7+8aS@Lpshp(L{ zgmQ-SjEs&Z0C1yJZJL^z2FTep5Q>!N+D#pD*h-dNw&}3WWv^M5B~I>EcQ@@A*kk2r zL~IFPL_et(B?k0)-oV&+wC>B7Q!#OIhT<`&+ih?;6dpg-XM7mK9HnxZDBT@GIJxb$ zEx8W3%Z*OTV+~d@Ck$wY`Abr%{Om(0wbS+(5%@eY&xElqu}yL*i@6PhX{ zB;+V{@)k%{Fv=e0g=Hn1u+*zx_cP=3Jd4tY}I8;XETF z16J93wX<}O@_F6d5IC;9j#-O4;QE~bohMmHlP1{PspYI->O=UC89WkaGey09^m8STe0c?rezkDqXC{-qoKMQxi(3|K9-V^;e0f0 z?pE&N?9BCdBg<{N?c}?(G59%7FsxiRJ39=)W@}SZsbBs5{XYSrW1N|6`TBYP&NThP zS^G5$gu(xw(1PYToH$LuI>>YDM}9Ik+|8{m6{I8)*9FP-a6IyGZgl zQ~JK~fm_AnsH>To znYI@$F0qQGI?2AXPsdH2TRqkXD}cl4{AYUt$<75dO#3QrEKC^T5z+2>IW@au$ z64B!<6ZVgc5D^m)&_^95;urDjrkjESh8V;Nhp_Fnn2=Yyc>8#}SKN>gLv-^ag|`%d zc&vc=IKQ4GV9P!|S5m*8ljf!TD2{xK>uf&G4SUoN20-E4(`=BP^EM#@;X zn2Sn7K**+=BG7IXGRt~7U;meWN12bC`@fC#^#}?{F>5 zBmGrQabZjwOj$*0qc*JFZCzMjpT}ReU?9oso`6tNI!UH)Y-}7w4Q(w0QKH(|+++;C z{kyqb8I!Lrf4wKtr=H9ncXW8zPS4PZZNtaK)wFVOAdoT&($**mgG~CIt%5hv8P>%Y zxm7*x}+^+)Zi%Wy>u#RNt#GIW3kuei#CiRGg%uq~tGxqAX95)gY8%T4xD# zN9|}i%WuE1>le=lIC4z_Psdc@9bA}L6$v`j?1;+F)Bf|@WQ;r$1d&w#OG1z|e1?Jxod8DNN#(wyT_JkFi zqF`&|>A!BXLsbogg-YZ4BZEVjV2wh-;3H@NW8kh@ z+5er5>J~i8U-7iISXiUA{_=Yzh#V-S5T}?xAS*QlyI~dqN6rN8?XkR$o(_KHebiBJ`2a;P5bEK0lW8 zN25}EwXS$Z`5ZyNQzsdv?FK9Bc)^e3!3NNzvh&2;+*ecf0?@QG<_M&MyD+x47DJd!S*FBoL;^-x`fY7ee!rQl^7=zqtMV<|>ff_@$ ze`sj_9zA{Rj?hMOHt^OddL^g3TU*6?+^L6TzwcJwF9k=yZQYc^i~VBN?orSdX+1