From 2a4d156a784b15dc06c2aa860f7a7fe0940779e5 Mon Sep 17 00:00:00 2001 From: Talia-12 Date: Fri, 2 Jun 2023 14:26:18 +1000 Subject: [PATCH] Added in Item variants for foci, spellbooks, cyphers, trinkets, and artifacts. Haven't added a way to get different variants in game yet. Also, some of the variants have weird z-fighting that I haven't fixed yet --- .../8f7cd5c924d3264b7777ef1696459761f9a70902 | 112 ++++++++++-- .../d2fe5b6fab5fdc7ee7ca336c062752306bdf6128 | 4 +- .../{conjured.json => conjured_light.json} | 0 .../hexcasting/models/item/artifact.json | 108 +++++++++++- .../models/item/artifact_0_filled.json | 7 + .../{trinket_filled.json => artifact_1.json} | 2 +- .../models/item/artifact_1_filled.json | 7 + .../{artifact_filled.json => artifact_2.json} | 2 +- .../models/item/artifact_2_filled.json | 7 + .../hexcasting/models/item/artifact_3.json | 6 + .../models/item/artifact_3_filled.json | 7 + .../hexcasting/models/item/artifact_4.json | 6 + .../models/item/artifact_4_filled.json | 7 + .../hexcasting/models/item/artifact_5.json | 6 + .../models/item/artifact_5_filled.json | 7 + .../hexcasting/models/item/artifact_6.json | 6 + .../models/item/artifact_6_filled.json | 7 + .../hexcasting/models/item/artifact_7.json | 6 + .../models/item/artifact_7_filled.json | 7 + .../{conjured.json => conjured_light.json} | 0 .../assets/hexcasting/models/item/cypher.json | 108 +++++++++++- .../models/item/cypher_0_filled.json | 7 + .../{cypher_filled.json => cypher_1.json} | 2 +- .../models/item/cypher_1_filled.json | 7 + .../hexcasting/models/item/cypher_2.json | 6 + .../models/item/cypher_2_filled.json | 7 + .../hexcasting/models/item/cypher_3.json | 6 + .../models/item/cypher_3_filled.json | 7 + .../hexcasting/models/item/cypher_4.json | 6 + .../models/item/cypher_4_filled.json | 7 + .../hexcasting/models/item/cypher_5.json | 6 + .../models/item/cypher_5_filled.json | 7 + .../hexcasting/models/item/cypher_6.json | 6 + .../models/item/cypher_6_filled.json | 7 + .../hexcasting/models/item/cypher_7.json | 6 + .../models/item/cypher_7_filled.json | 7 + .../assets/hexcasting/models/item/focus.json | 162 +++++++++++++++++- .../models/item/focus_0_filled.json | 7 + .../models/item/focus_0_sealed.json | 7 + .../hexcasting/models/item/focus_1.json | 6 + .../models/item/focus_1_filled.json | 7 + .../models/item/focus_1_sealed.json | 7 + .../hexcasting/models/item/focus_2.json | 6 + .../models/item/focus_2_filled.json | 7 + .../models/item/focus_2_sealed.json | 7 + .../hexcasting/models/item/focus_3.json | 6 + .../models/item/focus_3_filled.json | 7 + .../models/item/focus_3_sealed.json | 7 + .../hexcasting/models/item/focus_4.json | 6 + .../models/item/focus_4_filled.json | 7 + .../models/item/focus_4_sealed.json | 7 + .../hexcasting/models/item/focus_5.json | 6 + .../models/item/focus_5_filled.json | 7 + .../models/item/focus_5_sealed.json | 7 + .../hexcasting/models/item/focus_6.json | 6 + .../models/item/focus_6_filled.json | 7 + .../models/item/focus_6_sealed.json | 7 + .../hexcasting/models/item/focus_7.json | 6 + .../models/item/focus_7_filled.json | 7 + .../models/item/focus_7_sealed.json | 7 + .../hexcasting/models/item/focus_filled.json | 7 - .../hexcasting/models/item/focus_sealed.json | 7 - .../hexcasting/models/item/spellbook.json | 162 +++++++++++++++++- .../models/item/spellbook_0_filled.json | 7 + .../models/item/spellbook_0_sealed.json | 7 + .../hexcasting/models/item/spellbook_1.json | 6 + .../models/item/spellbook_1_filled.json | 7 + .../models/item/spellbook_1_sealed.json | 7 + .../hexcasting/models/item/spellbook_2.json | 6 + .../models/item/spellbook_2_filled.json | 7 + .../models/item/spellbook_2_sealed.json | 7 + .../hexcasting/models/item/spellbook_3.json | 6 + .../models/item/spellbook_3_filled.json | 7 + .../models/item/spellbook_3_sealed.json | 7 + .../hexcasting/models/item/spellbook_4.json | 6 + .../models/item/spellbook_4_filled.json | 7 + .../models/item/spellbook_4_sealed.json | 7 + .../hexcasting/models/item/spellbook_5.json | 6 + .../models/item/spellbook_5_filled.json | 7 + .../models/item/spellbook_5_sealed.json | 7 + .../hexcasting/models/item/spellbook_6.json | 6 + .../models/item/spellbook_6_filled.json | 7 + .../models/item/spellbook_6_sealed.json | 7 + .../hexcasting/models/item/spellbook_7.json | 6 + .../models/item/spellbook_7_filled.json | 7 + .../models/item/spellbook_7_sealed.json | 7 + .../models/item/spellbook_filled.json | 7 - .../models/item/spellbook_sealed.json | 7 - .../hexcasting/models/item/trinket.json | 108 +++++++++++- .../models/item/trinket_0_filled.json | 7 + .../hexcasting/models/item/trinket_1.json | 6 + .../models/item/trinket_1_filled.json | 7 + .../hexcasting/models/item/trinket_2.json | 6 + .../models/item/trinket_2_filled.json | 7 + .../hexcasting/models/item/trinket_3.json | 6 + .../models/item/trinket_3_filled.json | 7 + .../hexcasting/models/item/trinket_4.json | 6 + .../models/item/trinket_4_filled.json | 7 + .../hexcasting/models/item/trinket_5.json | 6 + .../models/item/trinket_5_filled.json | 7 + .../hexcasting/models/item/trinket_6.json | 6 + .../models/item/trinket_6_filled.json | 7 + .../hexcasting/models/item/trinket_7.json | 6 + .../models/item/trinket_7_filled.json | 7 + .../hexcasting/api/item/VariantItem.java | 32 ++++ .../client/RegisterClientStuff.java | 16 +- .../common/items/magic/ItemArtifact.java | 10 +- .../common/items/magic/ItemCypher.java | 10 +- .../common/items/magic/ItemTrinket.java | 10 +- .../common/items/storage/ItemFocus.java | 16 +- .../common/items/storage/ItemSpellbook.java | 19 +- .../textures/item/cad/0_artifact.png | Bin 0 -> 473 bytes .../textures/item/cad/0_artifact_overlay.png | Bin 0 -> 189 bytes .../hexcasting/textures/item/cad/0_cypher.png | Bin 0 -> 323 bytes .../textures/item/cad/0_cypher_overlay.png | Bin 0 -> 157 bytes .../textures/item/cad/0_focus_empty.png | Bin 0 -> 415 bytes .../textures/item/cad/0_focus_filled.png | Bin 0 -> 415 bytes .../item/cad/0_focus_filled_overlay.png | Bin 0 -> 152 bytes .../textures/item/cad/0_focus_sealed.png | Bin 0 -> 415 bytes .../item/cad/0_focus_sealed_overlay.png | Bin 0 -> 229 bytes .../textures/item/cad/0_spellbook_empty.png | Bin 0 -> 437 bytes .../item/cad/0_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/0_spellbook_filled.png | Bin 0 -> 526 bytes .../item/cad/0_spellbook_filled_overlay.png | Bin 0 -> 178 bytes .../textures/item/cad/0_spellbook_sealed.png | Bin 0 -> 578 bytes .../item/cad/0_spellbook_sealed_overlay.png | Bin 0 -> 213 bytes .../textures/item/cad/0_trinket.png | Bin 0 -> 330 bytes .../textures/item/cad/0_trinket_overlay.png | Bin 0 -> 137 bytes .../textures/item/cad/1_artifact.png | Bin 0 -> 649 bytes .../textures/item/cad/1_artifact_overlay.png | Bin 0 -> 186 bytes .../hexcasting/textures/item/cad/1_cypher.png | Bin 0 -> 463 bytes .../textures/item/cad/1_cypher_overlay.png | Bin 0 -> 157 bytes .../textures/item/cad/1_focus_empty.png | Bin 0 -> 509 bytes .../textures/item/cad/1_focus_filled.png | Bin 0 -> 509 bytes .../item/cad/1_focus_filled_overlay.png | Bin 0 -> 151 bytes .../textures/item/cad/1_focus_sealed.png | Bin 0 -> 509 bytes .../item/cad/1_focus_sealed_overlay.png | Bin 0 -> 154 bytes .../textures/item/cad/1_spellbook_empty.png | Bin 0 -> 434 bytes .../item/cad/1_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/1_spellbook_filled.png | Bin 0 -> 434 bytes .../item/cad/1_spellbook_filled_overlay.png | Bin 0 -> 183 bytes .../textures/item/cad/1_spellbook_sealed.png | Bin 0 -> 434 bytes .../item/cad/1_spellbook_sealed_overlay.png | Bin 0 -> 189 bytes .../textures/item/cad/1_trinket.png | Bin 0 -> 605 bytes .../textures/item/cad/1_trinket_overlay.png | Bin 0 -> 137 bytes .../textures/item/cad/2_artifact.png | Bin 0 -> 614 bytes .../textures/item/cad/2_artifact_overlay.png | Bin 0 -> 181 bytes .../hexcasting/textures/item/cad/2_cypher.png | Bin 0 -> 306 bytes .../textures/item/cad/2_cypher_overlay.png | Bin 0 -> 156 bytes .../textures/item/cad/2_focus_empty.png | Bin 0 -> 336 bytes .../textures/item/cad/2_focus_filled.png | Bin 0 -> 336 bytes .../item/cad/2_focus_filled_overlay.png | Bin 0 -> 152 bytes .../textures/item/cad/2_focus_sealed.png | Bin 0 -> 336 bytes .../item/cad/2_focus_sealed_overlay.png | Bin 0 -> 184 bytes .../textures/item/cad/2_spellbook_empty.png | Bin 0 -> 553 bytes .../item/cad/2_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/2_spellbook_filled.png | Bin 0 -> 553 bytes .../item/cad/2_spellbook_filled_overlay.png | Bin 0 -> 178 bytes .../textures/item/cad/2_spellbook_sealed.png | Bin 0 -> 553 bytes .../item/cad/2_spellbook_sealed_overlay.png | Bin 0 -> 210 bytes .../textures/item/cad/2_trinket.png | Bin 0 -> 421 bytes .../textures/item/cad/2_trinket_overlay.png | Bin 0 -> 145 bytes .../textures/item/cad/3_artifact.png | Bin 0 -> 502 bytes .../textures/item/cad/3_artifact_overlay.png | Bin 0 -> 193 bytes .../hexcasting/textures/item/cad/3_cypher.png | Bin 0 -> 462 bytes .../textures/item/cad/3_cypher_overlay.png | Bin 0 -> 153 bytes .../textures/item/cad/3_focus_empty.png | Bin 0 -> 440 bytes .../textures/item/cad/3_focus_filled.png | Bin 0 -> 440 bytes .../item/cad/3_focus_filled_overlay.png | Bin 0 -> 153 bytes .../textures/item/cad/3_focus_sealed.png | Bin 0 -> 440 bytes .../item/cad/3_focus_sealed_overlay.png | Bin 0 -> 177 bytes .../textures/item/cad/3_spellbook_empty.png | Bin 0 -> 487 bytes .../item/cad/3_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/3_spellbook_filled.png | Bin 0 -> 487 bytes .../item/cad/3_spellbook_filled_overlay.png | Bin 0 -> 161 bytes .../textures/item/cad/3_spellbook_sealed.png | Bin 0 -> 487 bytes .../item/cad/3_spellbook_sealed_overlay.png | Bin 0 -> 213 bytes .../textures/item/cad/3_trinket.png | Bin 0 -> 441 bytes .../textures/item/cad/3_trinket_overlay.png | Bin 0 -> 146 bytes .../textures/item/cad/4_artifact.png | Bin 0 -> 568 bytes .../textures/item/cad/4_artifact_overlay.png | Bin 0 -> 183 bytes .../hexcasting/textures/item/cad/4_cypher.png | Bin 0 -> 416 bytes .../textures/item/cad/4_cypher_overlay.png | Bin 0 -> 157 bytes .../textures/item/cad/4_focus_empty.png | Bin 0 -> 371 bytes .../textures/item/cad/4_focus_filled.png | Bin 0 -> 371 bytes .../item/cad/4_focus_filled_overlay.png | Bin 0 -> 147 bytes .../textures/item/cad/4_focus_sealed.png | Bin 0 -> 371 bytes .../item/cad/4_focus_sealed_overlay.png | Bin 0 -> 176 bytes .../textures/item/cad/4_spellbook_empty.png | Bin 0 -> 470 bytes .../item/cad/4_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/4_spellbook_filled.png | Bin 0 -> 470 bytes .../item/cad/4_spellbook_filled_overlay.png | Bin 0 -> 151 bytes .../textures/item/cad/4_spellbook_sealed.png | Bin 0 -> 470 bytes .../item/cad/4_spellbook_sealed_overlay.png | Bin 0 -> 161 bytes .../textures/item/cad/4_trinket.png | Bin 0 -> 493 bytes .../textures/item/cad/4_trinket_overlay.png | Bin 0 -> 138 bytes .../textures/item/cad/5_artifact.png | Bin 0 -> 306 bytes .../textures/item/cad/5_artifact_overlay.png | Bin 0 -> 186 bytes .../hexcasting/textures/item/cad/5_cypher.png | Bin 0 -> 186 bytes .../textures/item/cad/5_cypher_overlay.png | Bin 0 -> 157 bytes .../textures/item/cad/5_focus_empty.png | Bin 0 -> 351 bytes .../textures/item/cad/5_focus_filled.png | Bin 0 -> 351 bytes .../item/cad/5_focus_filled_overlay.png | Bin 0 -> 147 bytes .../textures/item/cad/5_focus_sealed.png | Bin 0 -> 351 bytes .../item/cad/5_focus_sealed_overlay.png | Bin 0 -> 177 bytes .../textures/item/cad/5_spellbook_empty.png | Bin 0 -> 507 bytes .../item/cad/5_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/5_spellbook_filled.png | Bin 0 -> 507 bytes .../item/cad/5_spellbook_filled_overlay.png | Bin 0 -> 178 bytes .../textures/item/cad/5_spellbook_sealed.png | Bin 0 -> 507 bytes .../item/cad/5_spellbook_sealed_overlay.png | Bin 0 -> 210 bytes .../textures/item/cad/5_trinket.png | Bin 0 -> 216 bytes .../textures/item/cad/5_trinket_overlay.png | Bin 0 -> 138 bytes .../textures/item/cad/6_artifact.png | Bin 0 -> 437 bytes .../textures/item/cad/6_artifact_overlay.png | Bin 0 -> 151 bytes .../hexcasting/textures/item/cad/6_cypher.png | Bin 0 -> 394 bytes .../textures/item/cad/6_cypher_overlay.png | Bin 0 -> 156 bytes .../textures/item/cad/6_focus_empty.png | Bin 0 -> 416 bytes .../textures/item/cad/6_focus_filled.png | Bin 0 -> 416 bytes .../item/cad/6_focus_filled_overlay.png | Bin 0 -> 151 bytes .../textures/item/cad/6_focus_sealed.png | Bin 0 -> 433 bytes .../item/cad/6_focus_sealed_overlay.png | Bin 0 -> 193 bytes .../textures/item/cad/6_spellbook_empty.png | Bin 0 -> 457 bytes .../item/cad/6_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/6_spellbook_filled.png | Bin 0 -> 457 bytes .../item/cad/6_spellbook_filled_overlay.png | Bin 0 -> 165 bytes .../textures/item/cad/6_spellbook_sealed.png | Bin 0 -> 457 bytes .../item/cad/6_spellbook_sealed_overlay.png | Bin 0 -> 191 bytes .../textures/item/cad/6_trinket.png | Bin 0 -> 376 bytes .../textures/item/cad/6_trinket_overlay.png | Bin 0 -> 135 bytes .../textures/item/cad/7_artifact.png | Bin 0 -> 432 bytes .../textures/item/cad/7_artifact_overlay.png | Bin 0 -> 186 bytes .../hexcasting/textures/item/cad/7_cypher.png | Bin 0 -> 320 bytes .../textures/item/cad/7_cypher_overlay.png | Bin 0 -> 156 bytes .../textures/item/cad/7_focus_empty.png | Bin 0 -> 352 bytes .../textures/item/cad/7_focus_filled.png | Bin 0 -> 352 bytes .../item/cad/7_focus_filled_overlay.png | Bin 0 -> 158 bytes .../textures/item/cad/7_focus_sealed.png | Bin 0 -> 352 bytes .../item/cad/7_focus_sealed_overlay.png | Bin 0 -> 154 bytes .../textures/item/cad/7_spellbook_empty.png | Bin 0 -> 329 bytes .../item/cad/7_spellbook_empty_overlay.png | Bin 0 -> 88 bytes .../textures/item/cad/7_spellbook_filled.png | Bin 0 -> 359 bytes .../item/cad/7_spellbook_filled_overlay.png | Bin 0 -> 111 bytes .../textures/item/cad/7_spellbook_sealed.png | Bin 0 -> 358 bytes .../item/cad/7_spellbook_sealed_overlay.png | Bin 0 -> 134 bytes .../textures/item/cad/7_trinket.png | Bin 0 -> 369 bytes .../textures/item/cad/7_trinket_overlay.png | Bin 0 -> 136 bytes .../tags/blocks/crystal_sound_blocks.json | 2 +- .../forge/datagen/xplat/HexItemModels.java | 74 ++++---- 249 files changed, 1457 insertions(+), 114 deletions(-) rename Common/src/generated/resources/assets/hexcasting/blockstates/{conjured.json => conjured_light.json} (100%) create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_0_filled.json rename Common/src/generated/resources/assets/hexcasting/models/item/{trinket_filled.json => artifact_1.json} (57%) create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_1_filled.json rename Common/src/generated/resources/assets/hexcasting/models/item/{artifact_filled.json => artifact_2.json} (56%) create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_2_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_3.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_3_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_4.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_4_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_5.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_5_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_6.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_6_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_7.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/artifact_7_filled.json rename Common/src/generated/resources/assets/hexcasting/models/item/{conjured.json => conjured_light.json} (100%) create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_0_filled.json rename Common/src/generated/resources/assets/hexcasting/models/item/{cypher_filled.json => cypher_1.json} (57%) create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_1_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_2.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_2_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_3.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_3_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_4.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_4_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_5.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_5_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_6.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_6_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_7.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/cypher_7_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_0_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_0_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_1.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_1_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_1_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_2.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_2_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_2_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_3.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_3_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_3_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_4.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_4_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_4_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_5.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_5_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_5_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_6.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_6_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_6_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_7.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_7_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_7_sealed.json delete mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_filled.json delete mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/focus_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_sealed.json delete mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_filled.json delete mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/spellbook_sealed.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_0_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_1.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_1_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_2.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_2_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_3.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_3_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_4.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_4_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_5.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_5_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_6.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_6_filled.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_7.json create mode 100644 Common/src/generated/resources/assets/hexcasting/models/item/trinket_7_filled.json create mode 100644 Common/src/main/java/at/petrak/hexcasting/api/item/VariantItem.java create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/0_trinket_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/1_trinket_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/2_trinket_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/3_trinket_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/4_trinket_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/5_trinket_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/6_trinket_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_artifact.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_artifact_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_cypher.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_cypher_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_focus_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_focus_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_focus_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_focus_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_focus_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_empty.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_empty_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_filled.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_filled_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_sealed.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_sealed_overlay.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_trinket.png create mode 100644 Common/src/main/resources/assets/hexcasting/textures/item/cad/7_trinket_overlay.png diff --git a/Common/src/generated/resources/.cache/8f7cd5c924d3264b7777ef1696459761f9a70902 b/Common/src/generated/resources/.cache/8f7cd5c924d3264b7777ef1696459761f9a70902 index 8c139505..30f2014b 100644 --- a/Common/src/generated/resources/.cache/8f7cd5c924d3264b7777ef1696459761f9a70902 +++ b/Common/src/generated/resources/.cache/8f7cd5c924d3264b7777ef1696459761f9a70902 @@ -1,4 +1,4 @@ -// 1.19.2 2023-05-23T13:13:41.108322225 Item Models: hexcasting +// 1.19.2 2023-06-02T14:09:23.4990502 Item Models: hexcasting 9af2754cb1e53eeaa85618cf92651b4878cf62b1 assets/hexcasting/models/block/quenched_allay_0.json de4ff723b4332d4e26bd01f74e0485e28c9a2178 assets/hexcasting/models/block/quenched_allay_1.json 4c29163e07f3a903017e38a9cc102f4b37db20b1 assets/hexcasting/models/block/quenched_allay_2.json @@ -6,16 +6,44 @@ de4ff723b4332d4e26bd01f74e0485e28c9a2178 assets/hexcasting/models/block/quenched f2156b3a7041cf99891b528393db64c6b9ca1a4f assets/hexcasting/models/item/abacus.json 19730853397b109cfedd0c3bbda83d5de6cd15b9 assets/hexcasting/models/item/akashic_record.json 8c735feff09d46d00ed681311f46f61a50cfdc9b assets/hexcasting/models/item/amethyst_dust.json -d1b0892de9d751e7bebc763e6407d5285363c851 assets/hexcasting/models/item/artifact.json -7eb3eb776e70eb616c12ada500b9d1d6a3249a6a assets/hexcasting/models/item/artifact_filled.json +87e7ee44cdd0808a3dd72babfd1db716df2bcdfe assets/hexcasting/models/item/artifact.json +1cd1b4d002d1a9a044ceab7cca842e4a2b7bd2f4 assets/hexcasting/models/item/artifact_0_filled.json +4709e65d8e74cf45b3ba014bdf70373728cccc78 assets/hexcasting/models/item/artifact_1.json +13915cc6b9ebbdce7043939c32c308bf129c2099 assets/hexcasting/models/item/artifact_1_filled.json +5434775bd88a654db6b2d09ab5f74a93a1983528 assets/hexcasting/models/item/artifact_2.json +a084bdd9039f5a16183d0cf70d744bf29a3c8760 assets/hexcasting/models/item/artifact_2_filled.json +206548428fd1a142442469c8b65fae24a1b50af6 assets/hexcasting/models/item/artifact_3.json +d6de8ae6a4d546aac12489cae386731490040c5e assets/hexcasting/models/item/artifact_3_filled.json +a0dbd0d40833d91dd33036686cd58494572cbe42 assets/hexcasting/models/item/artifact_4.json +86f1f0c0cbae34010ec9eca723db64303d5f5d5f assets/hexcasting/models/item/artifact_4_filled.json +e822e463834b9bf4433defbace06cc586629da95 assets/hexcasting/models/item/artifact_5.json +a44fec20b346e1e660027d204b42df312a310086 assets/hexcasting/models/item/artifact_5_filled.json +c499e86bb5b5bc2fe29914ce14832212ca23df10 assets/hexcasting/models/item/artifact_6.json +ccb8a41fdd4bc1b493a11cfa2ea4a39b7f7c3888 assets/hexcasting/models/item/artifact_6_filled.json +6461c5261ec1eb92a608bd2db420b1e5b0c3591a assets/hexcasting/models/item/artifact_7.json +373617635cf75ee236da52eb5b9f341d2b77eac3 assets/hexcasting/models/item/artifact_7_filled.json 82e3be7bbdad92d2b4c728be54d9d2f2809a0ac2 assets/hexcasting/models/item/battery.json ec7c3a51882a432185fdbb6a449e66165b6a4c4c assets/hexcasting/models/item/charged_amethyst.json 3ed3e3d86dcbc29d2e6fb59b9c6a7e455e9a3332 assets/hexcasting/models/item/cherry_staff.json -c64ed609ece68994ce23dd2809145040bce13579 assets/hexcasting/models/item/conjured.json c64ed609ece68994ce23dd2809145040bce13579 assets/hexcasting/models/item/conjured_block.json +c64ed609ece68994ce23dd2809145040bce13579 assets/hexcasting/models/item/conjured_light.json c8da4227db3c80e3e2e7f2fb2ae2649656429d68 assets/hexcasting/models/item/creative_unlocker.json -e47acd1d6ef29a3e1941afb1b212bd40b963cb72 assets/hexcasting/models/item/cypher.json -2db55347092ad6bc9e58bc968e88a3b6c5fd77c1 assets/hexcasting/models/item/cypher_filled.json +afe7113b8411c64651b679ea6b4e41bf36ab38c3 assets/hexcasting/models/item/cypher.json +3b9442e76a05b7fa70f9fb30186f94b1ba08a69b assets/hexcasting/models/item/cypher_0_filled.json +2c240a69627de02937aa601faa2578adc7d44906 assets/hexcasting/models/item/cypher_1.json +5dc34d91f0d6db16d537dd93345ccca8fe4f6aaa assets/hexcasting/models/item/cypher_1_filled.json +29e2a1e5c0e518e5edf0c6c25a5259c361ece478 assets/hexcasting/models/item/cypher_2.json +af274f590258b97dadf050d925c1187ee6e35d77 assets/hexcasting/models/item/cypher_2_filled.json +89a21d5aeef41fe788e799b89c7f80a26f09abed assets/hexcasting/models/item/cypher_3.json +e80d8c33a0b4ca69b157888fbc5f5660ba9c411d assets/hexcasting/models/item/cypher_3_filled.json +fcc1b8d2b97207af1f8c06061e170b11949bcf51 assets/hexcasting/models/item/cypher_4.json +7554e24b6f52c6b8db358e0cb5449449752a5808 assets/hexcasting/models/item/cypher_4_filled.json +85cd0adf020150c69ca7fec1f5200b027fd01d09 assets/hexcasting/models/item/cypher_5.json +1010ce5e3def445462ab69c4289f3ba94f50eacc assets/hexcasting/models/item/cypher_5_filled.json +d5b444a363c101779a01f7298d55161a8271c742 assets/hexcasting/models/item/cypher_6.json +6f4d37c92c0d43da6d20705955e9b7cee83ed612 assets/hexcasting/models/item/cypher_6_filled.json +69e61ff1976e99c43a17c7b1e0591829ac44a4d6 assets/hexcasting/models/item/cypher_7.json +41ee99d878ec66f480ebcbacc65f16696c31d161 assets/hexcasting/models/item/cypher_7_filled.json c6523de66cbfae3a1e6361c635cc693a0a089bb3 assets/hexcasting/models/item/default_colorizer.json 113c51af571a92009f5f687a82e10bc5ce97b010 assets/hexcasting/models/item/dye_colorizer_black.json b5a04716775ba2e1b137abc513025b2f1065e5d1 assets/hexcasting/models/item/dye_colorizer_blue.json @@ -41,9 +69,30 @@ c9faada6299f388afc2d2798843d2b45159950d1 assets/hexcasting/models/item/edified_d 2584421c2e9e1cdf22a703018b54cf449613d7d9 assets/hexcasting/models/item/edified_stairs.json ae58c5b7c304d33cbde60caf44a4c4ee4ec1a633 assets/hexcasting/models/item/edified_trapdoor.json 084183e4351973c8165f6f459c0f0dba2463d957 assets/hexcasting/models/item/edified_wood.json -7659d7b7bf93deba4c55405c29b8fa6b8b810ac1 assets/hexcasting/models/item/focus.json -947d1539d88f9d6fd0afcdf831f4327356d19baf assets/hexcasting/models/item/focus_filled.json -cb2d973af25a2ec07e6094ecc106c896a06918dc assets/hexcasting/models/item/focus_sealed.json +1943e85c2ce9a40b0bbe0e4ffca2b6a968287091 assets/hexcasting/models/item/focus.json +7a19f436fc9e8d0e0e01b4404f326eb48404855a assets/hexcasting/models/item/focus_0_filled.json +88615c49de2c14a19da34431724401652e94be79 assets/hexcasting/models/item/focus_0_sealed.json +8099bd2e0afe118fa013b9d635ad47ffaab556bd assets/hexcasting/models/item/focus_1.json +340001b99100480d06cab60229d4af308be3c4ac assets/hexcasting/models/item/focus_1_filled.json +e0f8fef2e2d8d0e9168d10327d55115293ad2ae7 assets/hexcasting/models/item/focus_1_sealed.json +3578e575573fc52c4e819bcc5e207ce7a4e0f808 assets/hexcasting/models/item/focus_2.json +3e31f3b513df519f5e2e2eb4747faa02b89db67d assets/hexcasting/models/item/focus_2_filled.json +6724475ce4ef36295839f95098035889e57896f2 assets/hexcasting/models/item/focus_2_sealed.json +cb22fbb79432527d828475aa457c9c6fdb78bbff assets/hexcasting/models/item/focus_3.json +54f5d42d7104297162cc9b322ff477d568656e26 assets/hexcasting/models/item/focus_3_filled.json +283fcd45c639953802f8345c20ec45d9aa8c463d assets/hexcasting/models/item/focus_3_sealed.json +7818903b0ec7c7926e040e4d634495a7699e6deb assets/hexcasting/models/item/focus_4.json +e2f8f78c5009deb7368e44af09d90c1da075240d assets/hexcasting/models/item/focus_4_filled.json +abdeb1a3563f983bd09db8e7c666ddbdffc3903b assets/hexcasting/models/item/focus_4_sealed.json +9b687b3c191c5802bc39613ae705d7313139b310 assets/hexcasting/models/item/focus_5.json +a00edbeef7c2d828f4f16ed43d5e3a53e9674787 assets/hexcasting/models/item/focus_5_filled.json +c40bd0246003cd2c1824ad61ad718f5959dc6e10 assets/hexcasting/models/item/focus_5_sealed.json +3c77a283be7249e00e1947676276f7484b00ea83 assets/hexcasting/models/item/focus_6.json +732c8201606b3c510c0467fc3840aa1475f7b56f assets/hexcasting/models/item/focus_6_filled.json +9bf849da1973419685e4ed36a823285b154b143f assets/hexcasting/models/item/focus_6_sealed.json +759efbfda9f003e920e37b3b8f0306dd20562e94 assets/hexcasting/models/item/focus_7.json +b2702eb139b47fcdfd3ef268bbc9700eeaae82f3 assets/hexcasting/models/item/focus_7_filled.json +1e89b03a5f3a860dae1864c4dbfe855564f89705 assets/hexcasting/models/item/focus_7_sealed.json 6ec61fea7d8c49cc0c45b64857fd926451b4845f assets/hexcasting/models/item/jeweler_hammer.json abfc028c974a02780aed3d7a5859352503bbd920 assets/hexcasting/models/item/lens.json a34a6d777ae265c7e49c8bb23c15f04359236544 assets/hexcasting/models/item/lore_fragment.json @@ -98,9 +147,30 @@ c809785d09b2545dac68d4a10b1e576454dd51e7 assets/hexcasting/models/item/scroll_sm 9b82beea7667a8f9de3d1e8df136bb2034ed51a8 assets/hexcasting/models/item/slate.json 612d4c65fb907c75975659edf00c7d92bf1b43d8 assets/hexcasting/models/item/slate_blank.json e6452f95b60240e0067769d7f32a0b9fa7718a1b assets/hexcasting/models/item/slate_written.json -986674763b45e0f9381f9f34a708082e5230652a assets/hexcasting/models/item/spellbook.json -f962c13ab9e299885387cee35b16006651821e81 assets/hexcasting/models/item/spellbook_filled.json -c29e6e7b2168eeeb13b1fc3e93ffc3e0c9bd11ce assets/hexcasting/models/item/spellbook_sealed.json +34abd8e443c028eeb24535b685cb3876f7235c23 assets/hexcasting/models/item/spellbook.json +2c23e0ce8a59f0f143ab514f46251e39fae39d6e assets/hexcasting/models/item/spellbook_0_filled.json +e8264e67b895bb61b52b936968b120c064507a26 assets/hexcasting/models/item/spellbook_0_sealed.json +b94a2beab80e87ed3f7e6004f70a3919c64272b4 assets/hexcasting/models/item/spellbook_1.json +158148d51abd63a93123fa7f2e2bce45d83d237f assets/hexcasting/models/item/spellbook_1_filled.json +c2fc066cee9a1e2ddf5a4507cf90b88a65d32028 assets/hexcasting/models/item/spellbook_1_sealed.json +85adbb3604db5a2e41877e2085d445df5622b549 assets/hexcasting/models/item/spellbook_2.json +83336c6e8bac94473e2f420084e544feef016d52 assets/hexcasting/models/item/spellbook_2_filled.json +a585cd9359896cd5ec62e4ccc28649170b2c8875 assets/hexcasting/models/item/spellbook_2_sealed.json +62e70d832eae787e0f086bf2f959eca19bfdfcd4 assets/hexcasting/models/item/spellbook_3.json +b312e3a09356f92d4f47b89f319e5ceeadb565ae assets/hexcasting/models/item/spellbook_3_filled.json +6ec3b9c77f6c7c4953d06c69bd5c06fc90e51d3d assets/hexcasting/models/item/spellbook_3_sealed.json +411ee9b98ec41a11d4026863332f0c65891807fe assets/hexcasting/models/item/spellbook_4.json +99aea30de3172c435b9a85a8ccce599251ed2722 assets/hexcasting/models/item/spellbook_4_filled.json +5881069c0b7e0e2bbaf07d8016fe4bcacce2e5e8 assets/hexcasting/models/item/spellbook_4_sealed.json +c4a41996c971ab44175cb8be5247b595836973cb assets/hexcasting/models/item/spellbook_5.json +4b9a2d0f4942fff48f31e58bde673863303396ad assets/hexcasting/models/item/spellbook_5_filled.json +d47f10973fa2660230f2249b3c009d4c7e4fc33f assets/hexcasting/models/item/spellbook_5_sealed.json +2adb81185491d908b5059c5a8df2a72c0913406b assets/hexcasting/models/item/spellbook_6.json +1d98011ce5c424be3488ac613d04f09572f85120 assets/hexcasting/models/item/spellbook_6_filled.json +53f092cea6f0f27d1b41a4be4403aed908768d2f assets/hexcasting/models/item/spellbook_6_sealed.json +a1dc5817c7c62e0d6e4c1ca1c5bfba6973a9b253 assets/hexcasting/models/item/spellbook_7.json +e43bfc743664dc23cbb2aaa4a66072ce1bbb5c2f assets/hexcasting/models/item/spellbook_7_filled.json +32210f56cb33747d9890de18300ae936cc8b0f77 assets/hexcasting/models/item/spellbook_7_sealed.json f791313aa7bb01b418676ffaeeb09286ca9bddff assets/hexcasting/models/item/staff/acacia.json 19acf04c62128275b8fb468e89a30ab94d6e5a1a assets/hexcasting/models/item/staff/birch.json 244ba74a82a188df6fd258affcdd4b1a7320e617 assets/hexcasting/models/item/staff/crimson.json @@ -122,8 +192,22 @@ ea3f18f75776022127f3a108119e3f7a5c211c0f assets/hexcasting/models/item/stripped_ 0a100b64e77394606018320bbc5752a546fe0af4 assets/hexcasting/models/item/sub_sandwich.json 6a7f5af82cf8ec72c3457ef4c1ae11a76717bf88 assets/hexcasting/models/item/thought_knot.json 93b2191ffab47003f661b75a85cd833ec64f0c15 assets/hexcasting/models/item/thought_knot_written.json -5f4831d11d8f45b037a6f48e12d2e794ada7b961 assets/hexcasting/models/item/trinket.json -946970e74b8d3c76c15191f494bc1f3d7e36aa43 assets/hexcasting/models/item/trinket_filled.json +9e4d326d8339db5d7a627a14630e6c0b2fa32ba6 assets/hexcasting/models/item/trinket.json +dba1f5c24852f756280a5d20c3327ea3825c083a assets/hexcasting/models/item/trinket_0_filled.json +e666a8f88dce284d5026f61814a19c5c8d49eda5 assets/hexcasting/models/item/trinket_1.json +35c7c9f46b05dc05002ac77f94b33f8da97238a1 assets/hexcasting/models/item/trinket_1_filled.json +678a892654958f87400c4d9afb1c5ed47692b77b assets/hexcasting/models/item/trinket_2.json +d8e372e768ca59566633f720ef7816eb34b13966 assets/hexcasting/models/item/trinket_2_filled.json +f8a08620915d5f1756b04c4e92d4e0324d381998 assets/hexcasting/models/item/trinket_3.json +cfc0260102aa161e893b0300ba6941c724cada9f assets/hexcasting/models/item/trinket_3_filled.json +d01e9a46398df5da17f651129b4c4c597cf1726c assets/hexcasting/models/item/trinket_4.json +bb6347ea5701bbccfc713f695f3722d218c52af2 assets/hexcasting/models/item/trinket_4_filled.json +90235641f09e4b1923c217f3c977427391daed6c assets/hexcasting/models/item/trinket_5.json +684800b5a011fe247f42ebc4829033a72030c55c assets/hexcasting/models/item/trinket_5_filled.json +d912708aa8de120d4598a62276f333ac096cdacb assets/hexcasting/models/item/trinket_6.json +24ad9a85ca790205f3e9e62ecb60bc8e50ac47fb assets/hexcasting/models/item/trinket_6_filled.json +b9d891572f572d76c0c0aef0afc3d3cb80f72c30 assets/hexcasting/models/item/trinket_7.json +4a8b82a628a3c4b16c4a45d3689799c8d9cf8bf8 assets/hexcasting/models/item/trinket_7_filled.json c6523de66cbfae3a1e6361c635cc693a0a089bb3 assets/hexcasting/models/item/uuid_colorizer.json c0af5573a4acb5eeacf49ab309d32b6f90ea8a5d assets/hexcasting/models/staff/acacia.json ac7a4b95db8bde9da23dd4fa76d8086a67e166f8 assets/hexcasting/models/staff/birch.json diff --git a/Common/src/generated/resources/.cache/d2fe5b6fab5fdc7ee7ca336c062752306bdf6128 b/Common/src/generated/resources/.cache/d2fe5b6fab5fdc7ee7ca336c062752306bdf6128 index b9160e4c..c3cdd973 100644 --- a/Common/src/generated/resources/.cache/d2fe5b6fab5fdc7ee7ca336c062752306bdf6128 +++ b/Common/src/generated/resources/.cache/d2fe5b6fab5fdc7ee7ca336c062752306bdf6128 @@ -1,4 +1,4 @@ -// 1.19.2 2023-05-23T13:06:30.179893298 Block States: hexcasting +// 1.19.2 2023-06-02T13:11:35.7728131 Block States: hexcasting 901e38574bdaa40ea4a0f6e773a88a95d9c03e55 assets/hexcasting/blockstates/akashic_bookshelf.json 32a77ef668198002563d68be35a24fa93c8d454a assets/hexcasting/blockstates/akashic_connector.json 85080ce0a0387583a839e4788517d675a1a35e24 assets/hexcasting/blockstates/akashic_record.json @@ -10,8 +10,8 @@ d422119401df3daae032f86ea740b6065a92c44c assets/hexcasting/blockstates/amethyst_ 236496e910696b68480a7b8a977434213fa2197a assets/hexcasting/blockstates/ancient_scroll_paper_lantern.json 2f2eb1130119f6d5f17a98082b727ec7a2ea5334 assets/hexcasting/blockstates/aventurine_edified_leaves.json fa6dfbc40e5b9b22c01356e8a3848d242c414c02 assets/hexcasting/blockstates/citrine_edified_leaves.json -dc268e4c50e5e155fc5414a5f6b58ce1782bd39b assets/hexcasting/blockstates/conjured.json dc268e4c50e5e155fc5414a5f6b58ce1782bd39b assets/hexcasting/blockstates/conjured_block.json +dc268e4c50e5e155fc5414a5f6b58ce1782bd39b assets/hexcasting/blockstates/conjured_light.json b76cc8a2d66700417046c0dc671badd9af3eb519 assets/hexcasting/blockstates/directrix/empty.json 365eba1c32a7a33698120bc7f12670d29087e999 assets/hexcasting/blockstates/directrix/redstone.json e125b73869a438bafa7f47cfa4c8d837e2463c6f assets/hexcasting/blockstates/edified_button.json diff --git a/Common/src/generated/resources/assets/hexcasting/blockstates/conjured.json b/Common/src/generated/resources/assets/hexcasting/blockstates/conjured_light.json similarity index 100% rename from Common/src/generated/resources/assets/hexcasting/blockstates/conjured.json rename to Common/src/generated/resources/assets/hexcasting/blockstates/conjured_light.json diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact.json index d7e2a248..d0db0e43 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/artifact.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact.json @@ -4,17 +4,117 @@ { "model": "hexcasting:item/artifact", "predicate": { - "hexcasting:has_patterns": -0.01 + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 0.0 } }, { - "model": "hexcasting:item/artifact_filled", + "model": "hexcasting:item/artifact_0_filled", "predicate": { - "hexcasting:has_patterns": 0.99 + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 0.0 + } + }, + { + "model": "hexcasting:item/artifact_1", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/artifact_1_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/artifact_2", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/artifact_2_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/artifact_3", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/artifact_3_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/artifact_4", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/artifact_4_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/artifact_5", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/artifact_5_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/artifact_6", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/artifact_6_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/artifact_7", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 7.0 + } + }, + { + "model": "hexcasting:item/artifact_7_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 7.0 } } ], "textures": { - "layer0": "hexcasting:item/artifact" + "layer0": "hexcasting:item/cad/0_artifact" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_0_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_0_filled.json new file mode 100644 index 00000000..1e835b5f --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_0_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/0_artifact", + "layer1": "hexcasting:item/cad/0_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_1.json similarity index 57% rename from Common/src/generated/resources/assets/hexcasting/models/item/trinket_filled.json rename to Common/src/generated/resources/assets/hexcasting/models/item/artifact_1.json index 84b09d42..870900b6 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_filled.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_1.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "hexcasting:item/trinket_filled" + "layer0": "hexcasting:item/cad/1_artifact" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_1_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_1_filled.json new file mode 100644 index 00000000..a0f005be --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_1_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_artifact", + "layer1": "hexcasting:item/cad/1_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_2.json similarity index 56% rename from Common/src/generated/resources/assets/hexcasting/models/item/artifact_filled.json rename to Common/src/generated/resources/assets/hexcasting/models/item/artifact_2.json index 9fdab84a..f2f7fbea 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_filled.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_2.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "hexcasting:item/artifact_filled" + "layer0": "hexcasting:item/cad/2_artifact" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_2_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_2_filled.json new file mode 100644 index 00000000..cade3931 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_2_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_artifact", + "layer1": "hexcasting:item/cad/2_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_3.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_3.json new file mode 100644 index 00000000..2cb6553e --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_artifact" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_3_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_3_filled.json new file mode 100644 index 00000000..23c04562 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_3_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_artifact", + "layer1": "hexcasting:item/cad/3_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_4.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_4.json new file mode 100644 index 00000000..216c308d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_artifact" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_4_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_4_filled.json new file mode 100644 index 00000000..d48959f9 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_4_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_artifact", + "layer1": "hexcasting:item/cad/4_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_5.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_5.json new file mode 100644 index 00000000..4a6f9ef1 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_5.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_artifact" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_5_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_5_filled.json new file mode 100644 index 00000000..1f64bdfd --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_5_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_artifact", + "layer1": "hexcasting:item/cad/5_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_6.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_6.json new file mode 100644 index 00000000..c66d93ec --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_6.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_artifact" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_6_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_6_filled.json new file mode 100644 index 00000000..3d5f969d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_6_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_artifact", + "layer1": "hexcasting:item/cad/6_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_7.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_7.json new file mode 100644 index 00000000..1b89f909 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_7.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_artifact" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/artifact_7_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_7_filled.json new file mode 100644 index 00000000..0e904306 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/artifact_7_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_artifact", + "layer1": "hexcasting:item/cad/7_artifact_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/conjured.json b/Common/src/generated/resources/assets/hexcasting/models/item/conjured_light.json similarity index 100% rename from Common/src/generated/resources/assets/hexcasting/models/item/conjured.json rename to Common/src/generated/resources/assets/hexcasting/models/item/conjured_light.json diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher.json index 20cd65cd..1a931870 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/cypher.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher.json @@ -4,17 +4,117 @@ { "model": "hexcasting:item/cypher", "predicate": { - "hexcasting:has_patterns": -0.01 + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 0.0 } }, { - "model": "hexcasting:item/cypher_filled", + "model": "hexcasting:item/cypher_0_filled", "predicate": { - "hexcasting:has_patterns": 0.99 + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 0.0 + } + }, + { + "model": "hexcasting:item/cypher_1", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/cypher_1_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/cypher_2", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/cypher_2_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/cypher_3", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/cypher_3_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/cypher_4", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/cypher_4_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/cypher_5", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/cypher_5_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/cypher_6", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/cypher_6_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/cypher_7", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 7.0 + } + }, + { + "model": "hexcasting:item/cypher_7_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 7.0 } } ], "textures": { - "layer0": "hexcasting:item/cypher" + "layer0": "hexcasting:item/cad/0_cypher" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_0_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_0_filled.json new file mode 100644 index 00000000..190be7e6 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_0_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/0_cypher", + "layer1": "hexcasting:item/cad/0_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_1.json similarity index 57% rename from Common/src/generated/resources/assets/hexcasting/models/item/cypher_filled.json rename to Common/src/generated/resources/assets/hexcasting/models/item/cypher_1.json index 9a30752c..71a9ff7c 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_filled.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_1.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "hexcasting:item/cypher_filled" + "layer0": "hexcasting:item/cad/1_cypher" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_1_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_1_filled.json new file mode 100644 index 00000000..abff99cd --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_1_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_cypher", + "layer1": "hexcasting:item/cad/1_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_2.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_2.json new file mode 100644 index 00000000..f7b22a79 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_cypher" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_2_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_2_filled.json new file mode 100644 index 00000000..75143f8a --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_2_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_cypher", + "layer1": "hexcasting:item/cad/2_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_3.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_3.json new file mode 100644 index 00000000..da551383 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_cypher" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_3_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_3_filled.json new file mode 100644 index 00000000..cbac2eaf --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_3_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_cypher", + "layer1": "hexcasting:item/cad/3_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_4.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_4.json new file mode 100644 index 00000000..90430a8f --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_cypher" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_4_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_4_filled.json new file mode 100644 index 00000000..e56ed90c --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_4_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_cypher", + "layer1": "hexcasting:item/cad/4_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_5.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_5.json new file mode 100644 index 00000000..138fe59a --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_5.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_cypher" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_5_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_5_filled.json new file mode 100644 index 00000000..eeb61619 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_5_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_cypher", + "layer1": "hexcasting:item/cad/5_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_6.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_6.json new file mode 100644 index 00000000..bdb310d8 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_6.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_cypher" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_6_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_6_filled.json new file mode 100644 index 00000000..f9ed07c9 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_6_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_cypher", + "layer1": "hexcasting:item/cad/6_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_7.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_7.json new file mode 100644 index 00000000..29e4768e --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_7.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_cypher" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/cypher_7_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_7_filled.json new file mode 100644 index 00000000..2de0bb87 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/cypher_7_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_cypher", + "layer1": "hexcasting:item/cad/7_cypher_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus.json index 013dc98f..78328a9d 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/focus.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus.json @@ -4,23 +4,173 @@ { "model": "hexcasting:item/focus", "predicate": { - "hexcasting:overlay_layer": 0.0 + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 0.0 } }, { - "model": "hexcasting:item/focus_filled", + "model": "hexcasting:item/focus_0_filled", "predicate": { - "hexcasting:overlay_layer": 1.0 + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 0.0 } }, { - "model": "hexcasting:item/focus_sealed", + "model": "hexcasting:item/focus_0_sealed", "predicate": { - "hexcasting:overlay_layer": 2.0 + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 0.0 + } + }, + { + "model": "hexcasting:item/focus_1", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/focus_1_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/focus_1_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/focus_2", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/focus_2_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/focus_2_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/focus_3", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/focus_3_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/focus_3_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/focus_4", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/focus_4_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/focus_4_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/focus_5", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/focus_5_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/focus_5_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/focus_6", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/focus_6_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/focus_6_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/focus_7", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 7.0 + } + }, + { + "model": "hexcasting:item/focus_7_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 7.0 + } + }, + { + "model": "hexcasting:item/focus_7_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 7.0 } } ], "textures": { - "layer0": "hexcasting:item/focus_empty" + "layer0": "hexcasting:item/cad/0_focus_empty" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_0_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_0_filled.json new file mode 100644 index 00000000..508a3497 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_0_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/0_focus_filled", + "layer1": "hexcasting:item/cad/0_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_0_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_0_sealed.json new file mode 100644 index 00000000..0a642922 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_0_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/0_focus_sealed", + "layer1": "hexcasting:item/cad/0_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_1.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_1.json new file mode 100644 index 00000000..75d8bf40 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_focus_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_1_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_1_filled.json new file mode 100644 index 00000000..bd049346 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_1_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_focus_filled", + "layer1": "hexcasting:item/cad/1_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_1_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_1_sealed.json new file mode 100644 index 00000000..001bf05b --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_1_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_focus_sealed", + "layer1": "hexcasting:item/cad/1_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_2.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_2.json new file mode 100644 index 00000000..a9ef8599 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_focus_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_2_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_2_filled.json new file mode 100644 index 00000000..05c2799d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_2_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_focus_filled", + "layer1": "hexcasting:item/cad/2_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_2_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_2_sealed.json new file mode 100644 index 00000000..1c7c230b --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_2_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_focus_sealed", + "layer1": "hexcasting:item/cad/2_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_3.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_3.json new file mode 100644 index 00000000..fb366d08 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_focus_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_3_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_3_filled.json new file mode 100644 index 00000000..3ad27dfc --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_3_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_focus_filled", + "layer1": "hexcasting:item/cad/3_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_3_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_3_sealed.json new file mode 100644 index 00000000..447b7b41 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_3_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_focus_sealed", + "layer1": "hexcasting:item/cad/3_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_4.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_4.json new file mode 100644 index 00000000..a3c1bf4e --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_focus_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_4_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_4_filled.json new file mode 100644 index 00000000..8b9eb202 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_4_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_focus_filled", + "layer1": "hexcasting:item/cad/4_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_4_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_4_sealed.json new file mode 100644 index 00000000..2831235f --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_4_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_focus_sealed", + "layer1": "hexcasting:item/cad/4_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_5.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_5.json new file mode 100644 index 00000000..e13b4fa1 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_5.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_focus_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_5_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_5_filled.json new file mode 100644 index 00000000..cbac2be5 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_5_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_focus_filled", + "layer1": "hexcasting:item/cad/5_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_5_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_5_sealed.json new file mode 100644 index 00000000..248801d9 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_5_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_focus_sealed", + "layer1": "hexcasting:item/cad/5_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_6.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_6.json new file mode 100644 index 00000000..3bc3f851 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_6.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_focus_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_6_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_6_filled.json new file mode 100644 index 00000000..e950df12 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_6_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_focus_filled", + "layer1": "hexcasting:item/cad/6_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_6_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_6_sealed.json new file mode 100644 index 00000000..c10282e6 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_6_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_focus_sealed", + "layer1": "hexcasting:item/cad/6_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_7.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_7.json new file mode 100644 index 00000000..8ad80856 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_7.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_focus_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_7_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_7_filled.json new file mode 100644 index 00000000..e6d7b1f2 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_7_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_focus_filled", + "layer1": "hexcasting:item/cad/7_focus_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_7_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_7_sealed.json new file mode 100644 index 00000000..52d149f4 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/focus_7_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_focus_sealed", + "layer1": "hexcasting:item/cad/7_focus_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_filled.json deleted file mode 100644 index 3f3fcaa4..00000000 --- a/Common/src/generated/resources/assets/hexcasting/models/item/focus_filled.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "hexcasting:item/focus_base", - "layer1": "hexcasting:item/focus_overlay" - } -} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/focus_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/focus_sealed.json deleted file mode 100644 index 786de1ea..00000000 --- a/Common/src/generated/resources/assets/hexcasting/models/item/focus_sealed.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "hexcasting:item/focus_base_sealed", - "layer1": "hexcasting:item/focus_overlay_sealed" - } -} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook.json index 1a9c4ba6..5acb33c2 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook.json @@ -4,23 +4,173 @@ { "model": "hexcasting:item/spellbook", "predicate": { - "hexcasting:overlay_layer": 0.0 + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 0.0 } }, { - "model": "hexcasting:item/spellbook_filled", + "model": "hexcasting:item/spellbook_0_filled", "predicate": { - "hexcasting:overlay_layer": 1.0 + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 0.0 } }, { - "model": "hexcasting:item/spellbook_sealed", + "model": "hexcasting:item/spellbook_0_sealed", "predicate": { - "hexcasting:overlay_layer": 2.0 + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 0.0 + } + }, + { + "model": "hexcasting:item/spellbook_1", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/spellbook_1_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/spellbook_1_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/spellbook_2", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/spellbook_2_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/spellbook_2_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/spellbook_3", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/spellbook_3_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/spellbook_3_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/spellbook_4", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/spellbook_4_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/spellbook_4_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/spellbook_5", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/spellbook_5_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/spellbook_5_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/spellbook_6", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/spellbook_6_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/spellbook_6_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/spellbook_7", + "predicate": { + "hexcasting:overlay_layer": 0.0, + "hexcasting:variant": 7.0 + } + }, + { + "model": "hexcasting:item/spellbook_7_filled", + "predicate": { + "hexcasting:overlay_layer": 1.0, + "hexcasting:variant": 7.0 + } + }, + { + "model": "hexcasting:item/spellbook_7_sealed", + "predicate": { + "hexcasting:overlay_layer": 2.0, + "hexcasting:variant": 7.0 } } ], "textures": { - "layer0": "hexcasting:item/spellbook_empty" + "layer0": "hexcasting:item/cad/0_spellbook_empty" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_filled.json new file mode 100644 index 00000000..1727f385 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/0_spellbook_filled", + "layer1": "hexcasting:item/cad/0_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_sealed.json new file mode 100644 index 00000000..e580e3ce --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_0_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/0_spellbook_sealed", + "layer1": "hexcasting:item/cad/0_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1.json new file mode 100644 index 00000000..6b832d78 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_spellbook_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_filled.json new file mode 100644 index 00000000..3ded6679 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_spellbook_filled", + "layer1": "hexcasting:item/cad/1_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_sealed.json new file mode 100644 index 00000000..91c0ed2b --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_1_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_spellbook_sealed", + "layer1": "hexcasting:item/cad/1_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2.json new file mode 100644 index 00000000..2d1355b5 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_spellbook_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_filled.json new file mode 100644 index 00000000..9af15dfb --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_spellbook_filled", + "layer1": "hexcasting:item/cad/2_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_sealed.json new file mode 100644 index 00000000..bd336d2d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_2_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_spellbook_sealed", + "layer1": "hexcasting:item/cad/2_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3.json new file mode 100644 index 00000000..e18eaf0d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_spellbook_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_filled.json new file mode 100644 index 00000000..6b611c62 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_spellbook_filled", + "layer1": "hexcasting:item/cad/3_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_sealed.json new file mode 100644 index 00000000..25a265b6 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_3_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_spellbook_sealed", + "layer1": "hexcasting:item/cad/3_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4.json new file mode 100644 index 00000000..38cd5d8f --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_spellbook_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_filled.json new file mode 100644 index 00000000..ebccd06c --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_spellbook_filled", + "layer1": "hexcasting:item/cad/4_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_sealed.json new file mode 100644 index 00000000..d281078d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_4_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_spellbook_sealed", + "layer1": "hexcasting:item/cad/4_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5.json new file mode 100644 index 00000000..2f82f7d8 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_spellbook_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_filled.json new file mode 100644 index 00000000..99cc74e7 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_spellbook_filled", + "layer1": "hexcasting:item/cad/5_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_sealed.json new file mode 100644 index 00000000..0a4a822a --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_5_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_spellbook_sealed", + "layer1": "hexcasting:item/cad/5_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6.json new file mode 100644 index 00000000..608c5cdd --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_spellbook_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_filled.json new file mode 100644 index 00000000..b47cfbac --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_spellbook_filled", + "layer1": "hexcasting:item/cad/6_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_sealed.json new file mode 100644 index 00000000..2fa15268 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_6_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_spellbook_sealed", + "layer1": "hexcasting:item/cad/6_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7.json new file mode 100644 index 00000000..1e7e4369 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_spellbook_empty" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_filled.json new file mode 100644 index 00000000..8438b02a --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_spellbook_filled", + "layer1": "hexcasting:item/cad/7_spellbook_filled_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_sealed.json new file mode 100644 index 00000000..d9151228 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_7_sealed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_spellbook_sealed", + "layer1": "hexcasting:item/cad/7_spellbook_sealed_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_filled.json deleted file mode 100644 index 9527a5ec..00000000 --- a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_filled.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "hexcasting:item/spellbook_base", - "layer1": "hexcasting:item/spellbook_overlay" - } -} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_sealed.json b/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_sealed.json deleted file mode 100644 index d2df3984..00000000 --- a/Common/src/generated/resources/assets/hexcasting/models/item/spellbook_sealed.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "hexcasting:item/spellbook_base_sealed", - "layer1": "hexcasting:item/spellbook_overlay_sealed" - } -} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket.json index 154e5af3..19102d16 100644 --- a/Common/src/generated/resources/assets/hexcasting/models/item/trinket.json +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket.json @@ -4,17 +4,117 @@ { "model": "hexcasting:item/trinket", "predicate": { - "hexcasting:has_patterns": -0.01 + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 0.0 } }, { - "model": "hexcasting:item/trinket_filled", + "model": "hexcasting:item/trinket_0_filled", "predicate": { - "hexcasting:has_patterns": 0.99 + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 0.0 + } + }, + { + "model": "hexcasting:item/trinket_1", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/trinket_1_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 1.0 + } + }, + { + "model": "hexcasting:item/trinket_2", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/trinket_2_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 2.0 + } + }, + { + "model": "hexcasting:item/trinket_3", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/trinket_3_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 3.0 + } + }, + { + "model": "hexcasting:item/trinket_4", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/trinket_4_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 4.0 + } + }, + { + "model": "hexcasting:item/trinket_5", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/trinket_5_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 5.0 + } + }, + { + "model": "hexcasting:item/trinket_6", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/trinket_6_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 6.0 + } + }, + { + "model": "hexcasting:item/trinket_7", + "predicate": { + "hexcasting:has_patterns": -0.01, + "hexcasting:variant": 7.0 + } + }, + { + "model": "hexcasting:item/trinket_7_filled", + "predicate": { + "hexcasting:has_patterns": 0.99, + "hexcasting:variant": 7.0 } } ], "textures": { - "layer0": "hexcasting:item/trinket" + "layer0": "hexcasting:item/cad/0_trinket" } } \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_0_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_0_filled.json new file mode 100644 index 00000000..77da0e72 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_0_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/0_trinket", + "layer1": "hexcasting:item/cad/0_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_1.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_1.json new file mode 100644 index 00000000..4eb168d7 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_trinket" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_1_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_1_filled.json new file mode 100644 index 00000000..80a274ce --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_1_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/1_trinket", + "layer1": "hexcasting:item/cad/1_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_2.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_2.json new file mode 100644 index 00000000..f38c5e5d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_trinket" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_2_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_2_filled.json new file mode 100644 index 00000000..6c60bb94 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_2_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/2_trinket", + "layer1": "hexcasting:item/cad/2_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_3.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_3.json new file mode 100644 index 00000000..4410e1a4 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_trinket" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_3_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_3_filled.json new file mode 100644 index 00000000..4aea4da7 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_3_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/3_trinket", + "layer1": "hexcasting:item/cad/3_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_4.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_4.json new file mode 100644 index 00000000..87903d7d --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_4.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_trinket" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_4_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_4_filled.json new file mode 100644 index 00000000..9b61c263 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_4_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/4_trinket", + "layer1": "hexcasting:item/cad/4_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_5.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_5.json new file mode 100644 index 00000000..4cc6440a --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_5.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_trinket" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_5_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_5_filled.json new file mode 100644 index 00000000..fbc35672 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_5_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/5_trinket", + "layer1": "hexcasting:item/cad/5_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_6.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_6.json new file mode 100644 index 00000000..6cc75f38 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_6.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_trinket" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_6_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_6_filled.json new file mode 100644 index 00000000..bdd007f3 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_6_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/6_trinket", + "layer1": "hexcasting:item/cad/6_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_7.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_7.json new file mode 100644 index 00000000..a2f57e04 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_7.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_trinket" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/trinket_7_filled.json b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_7_filled.json new file mode 100644 index 00000000..e83c8fa4 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/trinket_7_filled.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "hexcasting:item/cad/7_trinket", + "layer1": "hexcasting:item/cad/7_trinket_overlay" + } +} \ No newline at end of file diff --git a/Common/src/main/java/at/petrak/hexcasting/api/item/VariantItem.java b/Common/src/main/java/at/petrak/hexcasting/api/item/VariantItem.java new file mode 100644 index 00000000..6bdca2d2 --- /dev/null +++ b/Common/src/main/java/at/petrak/hexcasting/api/item/VariantItem.java @@ -0,0 +1,32 @@ +package at.petrak.hexcasting.api.item; + +import at.petrak.hexcasting.api.utils.NBTHelper; +import net.minecraft.world.item.ItemStack; + +/** + * Items that have multiple different otherwise identical visual variants can implement this interface. + *

+ * On both the Forge and Fabric sides, the registry will be scanned for all items which implement this interface, + * and the appropriate cap/CC will be attached. + */ +public interface VariantItem { + String TAG_VARIANT = "variant"; + + int numVariants(); + + default int getVariant(ItemStack stack) { + return NBTHelper.getInt(stack, TAG_VARIANT, 0); + } + + default void setVariant(ItemStack stack, int variant) { + NBTHelper.putInt(stack, TAG_VARIANT, clampVariant(variant)); + } + + default int clampVariant(int variant) { + if (variant < 0) + return 0; + if (variant >= numVariants()) + return numVariants() - 1; + return variant; + } +} diff --git a/Common/src/main/java/at/petrak/hexcasting/client/RegisterClientStuff.java b/Common/src/main/java/at/petrak/hexcasting/client/RegisterClientStuff.java index 3fb19663..95a96dee 100644 --- a/Common/src/main/java/at/petrak/hexcasting/client/RegisterClientStuff.java +++ b/Common/src/main/java/at/petrak/hexcasting/client/RegisterClientStuff.java @@ -3,6 +3,7 @@ package at.petrak.hexcasting.client; import at.petrak.hexcasting.api.casting.iota.IotaType; import at.petrak.hexcasting.api.item.IotaHolderItem; import at.petrak.hexcasting.api.item.MediaHolderItem; +import at.petrak.hexcasting.api.item.VariantItem; import at.petrak.hexcasting.api.misc.MediaConstants; import at.petrak.hexcasting.api.utils.NBTHelper; import at.petrak.hexcasting.client.entity.WallScrollRenderer; @@ -42,10 +43,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Predicate; -import java.util.function.ToIntFunction; +import java.util.function.*; import static at.petrak.hexcasting.api.HexAPI.modLoc; @@ -59,6 +57,11 @@ public class RegisterClientStuff { registerSealableDataHolderOverrides(HexItems.SPELLBOOK, stack -> HexItems.SPELLBOOK.readIotaTag(stack) != null, ItemSpellbook::isSealed); + registerVariantOverrides(HexItems.FOCUS, HexItems.FOCUS::getVariant); + registerVariantOverrides(HexItems.SPELLBOOK, HexItems.SPELLBOOK::getVariant); + registerVariantOverrides(HexItems.CYPHER, HexItems.CYPHER::getVariant); + registerVariantOverrides(HexItems.TRINKET, HexItems.TRINKET::getVariant); + registerVariantOverrides(HexItems.ARTIFACT, HexItems.ARTIFACT::getVariant); IClientXplatAbstractions.INSTANCE.registerItemProperty(HexItems.THOUGHT_KNOT, ItemThoughtKnot.WRITTEN_PRED, (stack, level, holder, holderID) -> { if (NBTHelper.contains(stack, ItemThoughtKnot.TAG_DATA)) { @@ -190,6 +193,11 @@ public class RegisterClientStuff { }); } + private static void registerVariantOverrides(VariantItem item, Function variant) { + IClientXplatAbstractions.INSTANCE.registerItemProperty((Item) item, ItemFocus.VARIANT_PRED, + (stack, level, holder, holderID) -> variant.apply(stack)); + } + private static void registerScrollOverrides(ItemScroll scroll) { IClientXplatAbstractions.INSTANCE.registerItemProperty(scroll, ItemScroll.ANCIENT_PREDICATE, (stack, level, holder, holderID) -> NBTHelper.hasString(stack, ItemScroll.TAG_OP_ID) ? 1f : 0f); diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemArtifact.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemArtifact.java index 3fed34e1..d7031043 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemArtifact.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemArtifact.java @@ -1,9 +1,12 @@ package at.petrak.hexcasting.common.items.magic; +import at.petrak.hexcasting.api.item.VariantItem; import at.petrak.hexcasting.api.mod.HexConfig; import net.minecraft.world.item.ItemStack; -public class ItemArtifact extends ItemPackagedHex { +import static at.petrak.hexcasting.common.items.storage.ItemFocus.NUM_VARIANTS; + +public class ItemArtifact extends ItemPackagedHex implements VariantItem { public ItemArtifact(Properties pProperties) { super(pProperties); } @@ -22,4 +25,9 @@ public class ItemArtifact extends ItemPackagedHex { public int cooldown() { return HexConfig.common().artifactCooldown(); } + + @Override + public int numVariants() { + return NUM_VARIANTS; + } } diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCypher.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCypher.java index 9d9016cc..6c178667 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCypher.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemCypher.java @@ -1,9 +1,12 @@ package at.petrak.hexcasting.common.items.magic; +import at.petrak.hexcasting.api.item.VariantItem; import at.petrak.hexcasting.api.mod.HexConfig; import net.minecraft.world.item.ItemStack; -public class ItemCypher extends ItemPackagedHex { +import static at.petrak.hexcasting.common.items.storage.ItemFocus.NUM_VARIANTS; + +public class ItemCypher extends ItemPackagedHex implements VariantItem { public ItemCypher(Properties pProperties) { super(pProperties); } @@ -22,4 +25,9 @@ public class ItemCypher extends ItemPackagedHex { public int cooldown() { return HexConfig.common().cypherCooldown(); } + + @Override + public int numVariants() { + return NUM_VARIANTS; + } } diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemTrinket.java b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemTrinket.java index 38396297..b936f127 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemTrinket.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/magic/ItemTrinket.java @@ -1,9 +1,12 @@ package at.petrak.hexcasting.common.items.magic; +import at.petrak.hexcasting.api.item.VariantItem; import at.petrak.hexcasting.api.mod.HexConfig; import net.minecraft.world.item.ItemStack; -public class ItemTrinket extends ItemPackagedHex { +import static at.petrak.hexcasting.common.items.storage.ItemFocus.NUM_VARIANTS; + +public class ItemTrinket extends ItemPackagedHex implements VariantItem { public ItemTrinket(Properties pProperties) { super(pProperties); } @@ -22,4 +25,9 @@ public class ItemTrinket extends ItemPackagedHex { public int cooldown() { return HexConfig.common().trinketCooldown(); } + + @Override + public int numVariants() { + return NUM_VARIANTS; + } } diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemFocus.java b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemFocus.java index 29b67eec..27c6a8c8 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemFocus.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemFocus.java @@ -4,6 +4,7 @@ import at.petrak.hexcasting.api.casting.iota.Iota; import at.petrak.hexcasting.api.casting.iota.IotaType; import at.petrak.hexcasting.api.casting.iota.NullIota; import at.petrak.hexcasting.api.item.IotaHolderItem; +import at.petrak.hexcasting.api.item.VariantItem; import at.petrak.hexcasting.api.utils.NBTHelper; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; @@ -18,11 +19,13 @@ import java.util.List; import static at.petrak.hexcasting.api.HexAPI.modLoc; -public class ItemFocus extends Item implements IotaHolderItem { +public class ItemFocus extends Item implements IotaHolderItem, VariantItem { // 0 = no overlay // 1 = unsealed // 2 = sealed public static final ResourceLocation OVERLAY_PRED = modLoc("overlay_layer"); + public static final ResourceLocation VARIANT_PRED = modLoc("variant"); + public static final int NUM_VARIANTS = 8; public static final String TAG_DATA = "data"; public static final String TAG_SEALED = "sealed"; @@ -74,4 +77,15 @@ public class ItemFocus extends Item implements IotaHolderItem { public static void seal(ItemStack stack) { NBTHelper.putBoolean(stack, TAG_SEALED, true); } + + @Override + public int numVariants() { + return NUM_VARIANTS; + } + + @Override + public void setVariant(ItemStack stack, int variant) { + if (!isSealed(stack)) + NBTHelper.putInt(stack, TAG_VARIANT, clampVariant(variant)); + } } diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java index 9cda2db4..2b2eb98d 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/storage/ItemSpellbook.java @@ -4,6 +4,7 @@ import at.petrak.hexcasting.api.casting.iota.Iota; import at.petrak.hexcasting.api.casting.iota.IotaType; import at.petrak.hexcasting.api.casting.iota.NullIota; import at.petrak.hexcasting.api.item.IotaHolderItem; +import at.petrak.hexcasting.api.item.VariantItem; import at.petrak.hexcasting.api.utils.NBTHelper; import net.minecraft.ChatFormatting; import net.minecraft.nbt.CompoundTag; @@ -20,7 +21,9 @@ import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.stream.Stream; -public class ItemSpellbook extends Item implements IotaHolderItem { +import static at.petrak.hexcasting.common.items.storage.ItemFocus.NUM_VARIANTS; + +public class ItemSpellbook extends Item implements IotaHolderItem, VariantItem { public static String TAG_SELECTED_PAGE = "page_idx"; // this is a CompoundTag of string numerical keys to SpellData // it is 1-indexed, so that 0/0 can be the special case of "it is empty" @@ -34,6 +37,9 @@ public class ItemSpellbook extends Item implements IotaHolderItem { // it is 1-indexed, and the 0-case for TAG_PAGES will be treated as 1 public static String TAG_SEALED = "sealed_pages"; + // this stores which variant of the spellbook should be rendered + public static final String TAG_VARIANT = "variant"; + public static final int MAX_PAGES = 64; public ItemSpellbook(Properties properties) { @@ -238,4 +244,15 @@ public class ItemSpellbook extends Item implements IotaHolderItem { return idx; } + + @Override + public int numVariants() { + return NUM_VARIANTS; + } + + @Override + public void setVariant(ItemStack stack, int variant) { + if (!isSealed(stack)) + NBTHelper.putInt(stack, TAG_VARIANT, clampVariant(variant)); + } } diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_artifact.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_artifact.png new file mode 100644 index 0000000000000000000000000000000000000000..701fc85d6c8a70ca39142628a3eb3882d95f1731 GIT binary patch literal 473 zcmV;~0Ve*5P)Px$lSxEDR5*>Tl0QhpKorKmMiIACimMKa79E|63J!uLfi{1=QyP}iIaju6(?iWibb%ClSn`Um(QVGFsTIx-*Vp__x;|xdk^@}$R!k7nHc5X z(9D3gGBM^73R{{fY7~x6dD+lRrjvPJyS7T#Rs#?v3_3L|0KnA#w0|b`{Ni|1VjnOz z8in_@f%EqxEX<@ZH!+0W^%1OPmoPUmgoT+D0HCd>3uB|v-~XUmh|{%ImUce5y?jlI zJKh!>y0r62iW;kh`0sxZhDd-{uK(Q(09GbO3GvExdgVHWqqACw2RhW!?Aof|1>xuv zj!r8RV>+3qYpbmx(kxqcTWpl=+A7n@Jmri?U=tvhQ2bI2&Gg?apCj*3)Bwk@J>pT+kbG8}K P00000NkvXXu0mjfatX}x literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_artifact_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_artifact_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..25564a62c1a8a142b884361f8fb9c1af8abc37b6 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|$~|2iLo9le z6C9ZKudDo&#kTA{*|Nz5d5>NIeTE) z*4~L3lj~wX|N8$u`%it*Ax6G`b-l}V1peFA_-=dZ%#y&Jpq9f`$e6>~o55V5YSP4+ j`a#`f5|d!G6EnlhGB?kO$BP~SoxtGf>gTe~DWM4f+*U)c literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_cypher.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_cypher.png new file mode 100644 index 0000000000000000000000000000000000000000..d646ec491e7681a70dfb6d9ceaa65e78cec8ac0e GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|{(8DNhFJ6_ zCoE7s@jd?U{0UNOPFzkpyFW-dU0~=su>bP;fAix%{Is_VPbhU<*ZJuG+1mO4jivUg zXK=PL?o{jgzuLyhkxgD3+-J9nT0Z-MPx$SxH1eR5*>zlD$hpQ5eR5TGS-T#VwT4F2 zuy4%|Ya=4m?H1*jq3X{UB`Aw=e-n!<9mj{!J8=wTu{$?4%3nht6vZ5rcS0h^g1GP*8W>m>kY=l2=v zePuXujlnei-Q?}_;qCJQ;O~wJvxE3nz&0?|F95dp900iU4og%ulcsQg2|x`AHa>bV zJ2)%6KeM`?M9rkpbSo>|U(#NeB<$I-46ZT`yZO60>G5h-nX!}ITSm>n&5O+K(Gtpx zoqTSSuC_)}2N#t6g-87ffUswW8WI*(k(8kPqeUvIU#;?=>kY~jjs+SPVoCr2002ov JPDHLkV1jX`v#Px$SxH1eR5*>zlD$hpQ5eR5TGS-T#VwT4F2 zuy4%|Ya=4m?H1*jq3X{UB`Aw=e-n!<9mj{!J8=wTu{$?4%3nht6vZ5rcS0h^g1GP*8W>m>kY=l2=v zePuXujlnei-Q?}_;qCJQ;O~wJvxE3nz&0?|F95dp900iU4og%ulcsQg2|x`AHa>bV zJ2)%6KeM`?M9rkpbSo>|U(#NeB<$I-46ZT`yZO60>G5h-nX!}ITSm>n&5O+K(Gtpx zoqTSSuC_)}2N#t6g-87ffUswW8WI*(k(8kPqeUvIU#;?=>kY~jjs+SPVoCr2002ov JPDHLkV1jX`v#U?6a0&Z7#Mg(5!gFQ+RD%H3ZWz1%HQYb)D>&3tjKOKu6>h!d0f{`G2?+RCc; z3@$9iehfyF4c)49CWUOve%-#7|G}w$KULKGcvNORH@8m!n$FgTe~DWM4fe9Sb9 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_focus_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_focus_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..0d6bceed1674441753c5e510c93b623c48037354 GIT binary patch literal 415 zcmV;Q0bu@#P)Px$SxH1eR5*>zlD$hpQ5eR5TGS-T#VwT4F2 zuy4%|Ya=4m?H1*jq3X{UB`Aw=e-n!<9mj{!J8=wTu{$?4%3nht6vZ5rcS0h^g1GP*8W>m>kY=l2=v zePuXujlnei-Q?}_;qCJQ;O~wJvxE3nz&0?|F95dp900iU4og%ulcsQg2|x`AHa>bV zJ2)%6KeM`?M9rkpbSo>|U(#NeB<$I-46ZT`yZO60>G5h-nX!}ITSm>n&5O+K(Gtpx zoqTSSuC_)}2N#t6g-87ffUswW8WI*(k(8kPqeUvIU#;?=>kY~jjs+SPVoCr2002ov JPDHLkV1jX`v#!;Pbg07 z5oAzMTCr7cuU>=7Sso=O1`kc$z2~nczn`0C_AYMoY=_XwKQhTjw&m(2csWc`WRdwC zZ>oQEa>&&8e}bDnzbQ9ibYV$jGj`^9sC*;f{oGYn=caytt-GUj_k`)}8cTaZw_UTj bEuX=Dg(Px$Z%IT!R5*>TlfO>FP!xy1HkC+Hh;c1}ZjFPJBS~kK$P2JJNaDa~VtfKkOq7ky zg+WKPzJL-2HO9n0sd0b?d;qAy5W;nU)&fNw{7pBx=lf1i@4XT;k_F+d&p{gBS7w3f zs7^vwNkugDc2yL6tr5wDF$@H#cblXl8fWb)L5UOwrsoY`SnoCgNJX?zi4+EUg@2Jq z1tl)DxkVDP>KFYc0ciAHDxDg-5=RE8bZRvEZfLh)8hw}3&nGIK8nIlCVy`91-sZy5 z?o>(T%N_wUrIIi8k1?4{vgKMFs2LKnO1<0kKNTRB%VC*>No{ zkCOnr>@80P0UXD{%IDFQ_}~}~5U;l%Sl2O>r5hZ_8JT??1h9i6*n|5Z-rjB2R#Sd) zSVs>WGC%*|@i_*-#mYJx_gA5y-D~;aNFGkw;&A&;c;oCxb&&;8P~yS>VFVu3cqVN_ fiMI~z_@DU(6coXUwe{5X00000NkvXXu0mjfo^-k| literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_empty_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_empty_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4988e6b2bfa35a4512b02b86013e071bb13b02 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ggjjwLo9le j6C_v{Cy4YgaWF8j2rw|#`&RS;Wf?qO{an^LB{Ts5=Rgvz literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..98477e424108555174f04fe8e12a3006c7217dc4 GIT binary patch literal 526 zcmV+p0`dKcP)Px$$Vo&&R5*>LlQD=BK@^6+3FBfgyNH#rVRySlK^u|d2&S-*)5BC^VLF>di)bN& zScqt&D8zIJ7B&`&)oDDiG=?B5BAll=EOJ9mEM*f3hULa0*}Ys?W8tf2nD_nf{f{^B zpCSI0Py!vFms9d(8gyWY`k7e*P>9&6!^XRP={;F09*nJUwr^J zhMSx<=V3}DGudhhboJCI^6P*fT`{x?6pkgASgwMi!cb4&AMO z0>(nm=Bf<$7Xi3=SuRtHLXpg1Z}r+tkyywqmswm|N`@{f($bwM zajP*{ERIAR$3ZDY5ClT_pwDMLuJ-G^c;EoAcKy&_K>(!`^&r5L z)@ZYQ&|lttr`|A;2i~BR+OZqcAV7QkCdU^6==E=HPA<4fa$3b095dUS`029=!1E)g zIQ`*eD%g&~1l$oHANBP8i|=)8=T6qsCD0XVX&R1Su_2S~TzW=Y0w* zw_eM>axH2DgZJbmeTEDSd&{Q;ZJV(6Ve5?dl?v^w9foaFgcuZ__k?cf7YG-aw9c)r bHca@Pvr)**W4mO4_A+?7`njxgN@xNAukJue literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..c6a96a61db63382ff76fd5842323f7aa98e3a5e9 GIT binary patch literal 578 zcmV-I0=@l-P)Px${7FPXR5*>LlRsz^aTLct7q7u!a#klH@p6N3Skyt05`q~Vq*~0R4rUYKz#%HA zP#i?mK~PDv6^ghxRGg|O=x7Z=@Gr*Vl@95VfP+ZAq+Aa1VFP~BONhFgrX$Fag0V;6x*IM5U^I67T)|U0Ox`9 z7ZZS`R-IF^6!bts-K}Op6b{}*8_5Fj@Wx?Yj4rU$s*?=IB_ywEaxA4YV>)7x-u(Nw z6R$52{`wMtYj@@_=e9^lG92eoqfD{wDN0_|M0{vFiBJ@PWH>$$0#I9TQu3=9suqk; z@~hO=n^M>TJsvI4+K~a^`lUnI`<9tmsZjE(#Bw=`ZBLOq7%of5l6B|z78t~BjGAf;7@nUxAB_neiB?bK#6L1*gow#S)>!PpU~j{buT5q z3P3EElf?kLwhrOCF1BTnS2dwJpxpPX;_|y~0de;$h6@vncX>nCb)YWawq@Y}PTLEN zBNtpV*orkaE#+`pGl!@Ss1DYAMVKx zoZg#w|DYl6o_iwzOc1vthRA}*tC}!Dm>||F)1q@D-O=|N&8`dl>$jfx1yDlOy+DsV QhX4Qo07*qoM6N<$f~_9}NdN!< literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/0_spellbook_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..bf03d051111ccae9a417474298e104f0a461e1fc GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|`aNA7Lo9mF zPTt7LqA1|{U+#9x%!r96S+1ohvZ<9NiYJ++o^j`ru!m{Wfy)EdPvLR9sZ1 zZGZlp)!19}sg>8-uNN3@Pnwz9!^n`aR`Gca_fFk40-@)bDl-|L-w||TU^pVNQ98^t z!gpO__4|nSP~Nb~Q!Z^YX1rGMem;yjJ+5eA+S2Ax8a7vNf@lqV95+Jj( z)G`=+J}-VOWN|g2;^37lU-qXyiD&a`Ue5FJV=m7xn@XOIFJJKh!T;+r`iBcx+ZdPo z&rf^v_U+&E2M!zv5Z~FKc>bU)kN>@ukBc?RCcNMO%U;K`J)-QPua5=eCbdmG3c!$Y XFNxKETw-Yr3>*eeS3j3^P66gqlV<86JgP*V6i%Yb2Xi&NNGs5Io k;+IC1(5r<%pKjOL*k=5A_RPOGfW|R+y85}Sb4q9e021UfeEPx%LrFwIR5*==lV3=aVHAg-iAY^|@gaDTSK@F|6sQmkOG5??7YSpsn_vXuDzafP z2^K_QBpc1@LQ9BIL7;{g)4_ryWP#9ffiiLS#c1Geb|EoFA?!O{=sx!~s2?175AS(? zob&#H|Hx$xipv_5O78Ed6MsjY)D%XC6@9}uxFD6#l6ldRdGQS{h`*yw_O}M4T=IxI z-6Q~}3ha1#8Mo~eEzPai`s@HW&KEIt?I9_JsYssOZkC3O8}BWJHt#y$UvyKiPB%%L zcb%bg^UOcH0zfQr)S09dVu?oD%@zQ1%mLQ`*h*>CR|;F2TZttaahxyea4gYi=md@< zsUF5Ao)h-mGtOTwd1NVEl%;S{q?|UarJNQmnU}{mzDT*`k#fl+(P71SkkuwyGH(Ev z!bKg94l8;9MLhZVnQH(OZyI(e9nV=w^d9r;Nw@L@I1*u+5x;kV0_ ze-wBhpX1fS44$FugkOeq#$Zs<)ZHFTU3+N1gT#DM0A8nOuy*#>)S9Xjmo+HX&VJg> z76!aGiTR?e6lSsY+1XJuEUzAzeM~>lIYS5U*2Yb6@bfMmyU(|VQ8v^l8|r2a_)od4 jL8&~f{jGu8S68J!kYy~Px$iAh93R5*>LkxwXtVI0RluUx39T{x`N%AXvTT52t=9Z>W-NaLiWTs2Zol9tno z#o0xQ!i7vq(t49x+JQ`))oQhrCGjc;hsS~Ev3cL^;(L1EZ@=&7_ve9sO0zRJ2fBp( zo<6&`t&ys?3r{YsqNT5YoLx~1QUQ?Rt;oFcbf1S!s0mTwPvbfVZA=hQkFk?+YU3WOg)7+;DJ{yR{y%Tq5OE5Rq~+ zw{i(UtIKVvRe<7Co@_2dM_VTVYcn4dig{Hi4_g&*aJ8U8^ym3HE#Yh~!*SvWfQ!3` z^@vu;_sGYIBenB#_bI`hr2R9NE98%g=eKtilKLA4_yW?$p*@v_DWU)X002ovPDHLk FV1l-o(A59{ literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_cypher_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_cypher_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..ace6c348ec68c245ff413858dce67c126a252c51 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|!aZFaLo9le z6C{crRQleiPq7nT$<}e|)q)S6Mht1zo3tf5uX1euxqlib^W&|?JRq=MK3?%0LrHU- z{k}sAH#c>u>@E0^o+g~y_~X|{(M>vXtj$sk3~K9T|8Mp>zZ_@Px$w@E}nR5*>*lCf)3VHCxGN^9v5fY{ zQ>#9ZQ1h_j*0EjcA~q2OQS8&jN`|O`mVgjQD5#~cbumJ(Q$O;Wmp{NeoqM_GeCJ#~ z`0wkO*RY(sDBb;5Ylqp@n&<9-7de@X&CTODqW3=ytys~Lzn4T*oA+r zPD#PgiouI?L2af=_cIzx7{=uF{k9Rk9Cxe+cDVh$6xPh5B z`8)gyfHS9F;0zV}+rJVk%E3lk4mR3SFm(Czb;*U-O8fHo#%IZ1dhUv$9E3ETitPhn zbfU(I?R6@)PvKOy$?Vf%tUKrF7I8%YsMtQvh11L}*Z>Mk^(411*QwY(YK<@6M@&U; zQm#ECYgJkK@ET~69;*`2EOHM&5(()&(FXtuhA#6nYs@X!j84Gv;wMToZJMp`1T+hP zMBMPaopSJVXP3H@!Qa><6Px$w@E}nR5*>*lCf)3VHCxGN^9v5fY{ zQ>#9ZQ1h_j*0EjcA~q2OQS8&jN`|O`mVgjQD5#~cbumJ(Q$O;Wmp{NeoqM_GeCJ#~ z`0wkO*RY(sDBb;5Ylqp@n&<9-7de@X&CTODqW3=ytys~Lzn4T*oA+r zPD#PgiouI?L2af=_cIzx7{=uF{k9Rk9Cxe+cDVh$6xPh5B z`8)gyfHS9F;0zV}+rJVk%E3lk4mR3SFm(Czb;*U-O8fHo#%IZ1dhUv$9E3ETitPhn zbfU(I?R6@)PvKOy$?Vf%tUKrF7I8%YsMtQvh11L}*Z>Mk^(411*QwY(YK<@6M@&U; zQm#ECYgJkK@ET~69;*`2EOHM&5(()&(FXtuhA#6nYs@X!j84Gv;wMToZJMp`1T+hP zMBMPaopSJVXP3H@!Qa><6Px$w@E}nR5*>*lCf)3VHCxGN^9v5fY{ zQ>#9ZQ1h_j*0EjcA~q2OQS8&jN`|O`mVgjQD5#~cbumJ(Q$O;Wmp{NeoqM_GeCJ#~ z`0wkO*RY(sDBb;5Ylqp@n&<9-7de@X&CTODqW3=ytys~Lzn4T*oA+r zPD#PgiouI?L2af=_cIzx7{=uF{k9Rk9Cxe+cDVh$6xPh5B z`8)gyfHS9F;0zV}+rJVk%E3lk4mR3SFm(Czb;*U-O8fHo#%IZ1dhUv$9E3ETitPhn zbfU(I?R6@)PvKOy$?Vf%tUKrF7I8%YsMtQvh11L}*Z>Mk^(411*QwY(YK<@6M@&U; zQm#ECYgJkK@ET~69;*`2EOHM&5(()&(FXtuhA#6nYs@X!j84Gv;wMToZJMp`1T+hP zMBMPaopSJVXP3H@!Qa><6v Ai2wiq literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_empty.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..34dd93b60f0cb9141fd5fde971fea3a8b1abe6ce GIT binary patch literal 434 zcmV;j0ZsmiP)Px$Y)M2xR5*=&lRZzuP#8wfg_}kRG;R(MaAR|FF(#}H0}c)n!w(=X{0M)6adC5! zfklmk5C=yFR|5l11z|A`@)ZICb)c;UE`6pu^qlv(Z(D&P1*u!+tPj952-P!AqzXQd z9MhV1=`4mYHZ4Dq*aj!GD6MH1fX-q_ZEPwVNk2HDMFB_vu|QbaNcv4)&&f`5Llkru zCg$iuqctjeAacT>ic4a@27e316C>D!CB*8MIPP$y;{p^xE`)=!^cs%aH*VQW3Oct=; z<+>ym2y->6uZRG*wsUp`Dv7h@CjT*{?t)F5UHL4%5^rtq#O4~a@q;)LZ*3L0Rp3aR c^ES}QAE6@Mu_&xld;kCd07*qoM6N<$g1Q^CNB{r; literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_empty_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_empty_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4988e6b2bfa35a4512b02b86013e071bb13b02 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ggjjwLo9le j6C_v{Cy4YgaWF8j2rw|#`&RS;Wf?qO{an^LB{Ts5=Rgvz literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..34dd93b60f0cb9141fd5fde971fea3a8b1abe6ce GIT binary patch literal 434 zcmV;j0ZsmiP)Px$Y)M2xR5*=&lRZzuP#8wfg_}kRG;R(MaAR|FF(#}H0}c)n!w(=X{0M)6adC5! zfklmk5C=yFR|5l11z|A`@)ZICb)c;UE`6pu^qlv(Z(D&P1*u!+tPj952-P!AqzXQd z9MhV1=`4mYHZ4Dq*aj!GD6MH1fX-q_ZEPwVNk2HDMFB_vu|QbaNcv4)&&f`5Llkru zCg$iuqctjeAacT>ic4a@27e316C>D!CB*8MIPP$y;{p^xE`)=!^cs%aH*VQW3Oct=; z<+>ym2y->6uZRG*wsUp`Dv7h@CjT*{?t)F5UHL4%5^rtq#O4~a@q;)LZ*3L0Rp3aR c^ES}QAE6@Mu_&xld;kCd07*qoM6N<$g1Q^CNB{r; literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_filled_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_filled_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..dfe087b9b454a5fe99fa06ed2060827a7d8e8174 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|3O!vMLo9ml zPCCfjV8Fx7e?;hST6fOHe)pGBv73{pFiI`p;8gkJQxrBu;@*TMdMn-cma>(V-Gz^2bWHnSIl literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..34dd93b60f0cb9141fd5fde971fea3a8b1abe6ce GIT binary patch literal 434 zcmV;j0ZsmiP)Px$Y)M2xR5*=&lRZzuP#8wfg_}kRG;R(MaAR|FF(#}H0}c)n!w(=X{0M)6adC5! zfklmk5C=yFR|5l11z|A`@)ZICb)c;UE`6pu^qlv(Z(D&P1*u!+tPj952-P!AqzXQd z9MhV1=`4mYHZ4Dq*aj!GD6MH1fX-q_ZEPwVNk2HDMFB_vu|QbaNcv4)&&f`5Llkru zCg$iuqctjeAacT>ic4a@27e316C>D!CB*8MIPP$y;{p^xE`)=!^cs%aH*VQW3Oct=; z<+>ym2y->6uZRG*wsUp`Dv7h@CjT*{?t)F5UHL4%5^rtq#O4~a@q;)LZ*3L0Rp3aR c^ES}QAE6@Mu_&xld;kCd07*qoM6N<$g1Q^CNB{r; literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_spellbook_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..c39d02bfee19d062f926f54a3b5937b9ea0b004d GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|$~|2iLo9mF zPCCeWKtX`TT+#Q(*6z25&fDo6nWcN!rb*z#6z-M@Kj#@gC_EtUku_1|sh&j~JT zOFMG3cTTw!?DJwE5iE`*T>`)mw`8Djxtkfx*+&&t;ucLK6V@q()i* literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_trinket.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_trinket.png new file mode 100644 index 0000000000000000000000000000000000000000..28daaaf26ae0093722dbe666afb99fadfa257b2c GIT binary patch literal 605 zcmV-j0;2tiP)Px%7fD1xR5*=|l21sJVHm)FU)yQ8!(f*fh{paP9%|Be_z;prNK7$eUV^^ef(X)W zkT66lWCx?qF5#)m4k2hz*~SiH3=s*LIcPCW8BAudi$>Q=E*GsQVoXcKm=+tJo12qzxh$q>ifNkv7mW_j%hCG29Ifxm=N)Z^S zvGv2jV625iB0*!afe~6`gj@Z;H9)?JzQYwG7`g;1=-q~X9>vB^=CxB&H8X&LUzXV|H&H~k1 zMU7OgRTLZ@d5HDqMY8~)v1?%O!WLPN3aX?1va_KCwR#1^caNYyL^K)&Ael^39d8Gq zuc!YnxJj_E_C$l@zdv&AHB0#%o12?}L(Tsw{}F)CrRSQ>X=jZQV_J-GFTNW)WV2cJ r3T-NP8vLigmbe1n*ekT13!RQX94hrk7hfGX00000NkvXXu0mjfJs%rl literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_trinket_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/1_trinket_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..52ee90ddfbe823f02585de43986b195eed6065b4 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|oIPC}Lo9mV zPT0tMz(9a0@SA)~;l4e&1<$q4{+{jfDKv!L>6gqlV<86JgP*V6i%Yb2Xi&NNGs5Io k;+IC1(5r<%pKjOL*k=5A_RPOGfW|R+y85}Sb4q9e021UfeEPx%AW1|)R5*>DlQC#hQ51&1_sAp!c@1twj4pv7N{U;>4jDpQ5-g}7wJjLvqGU?3 zI2Q|n(ki5+bV%aVMp}4nAVUj61qW$skry*0BuI3yXogTIfxP4J`kqZ17teI>Isf_Z ze}2w|u88|o(W9Dl=k=&2ai4l2f1$Zm9F|sbxPwHGYEHhJ#C85s)#iEp)H<*2TtP<{ zfRUvzkAi-ypbY^todj{8DphTs_1EJ7VAmZPrd;l2iln@kjX7G;eQ1{c(tJbsC32mpH%=pzrBhaXaF6u zyTfI_KC%=BARC1AW`W?n5cNGb{e5uD-vrBjY@CiR;njxXERP=5q@47Kv}+QJR@|qGvq)KEmi6gzDyf?+ZtU}5aGgwU*^!$2@Q_MsfUl=D zvc@tY-diIiN~XeCLC}UcGThWpYmmCe+RiBXnC{57n{7W{jul9hOvMF|D4ELHdJ4dV z-^4rFX;$&TBx_iT-hG@==oSC-nR=4+0{tuh2fOqkF_9-lnE(I)07*qoM6N<$f*zM1 AFaQ7m literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_artifact_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_artifact_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa51c3c72b3057523592c149f7c7f59c4363850 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|@;zM~Lo9le z6D0OMxNf@s|B)5Rhg1*h=zC3Zjo@v#>DQwzanbZpPTHf4lpo(0&uavNhwl$x=gEn> zEn&FzF~k0Km4E;LHvMORhP8hGF=0_T4Tfc$cMbN$Ih3>d?r|17AkJoSnX!wJKYnuV bPoPu8AG)1dK7U~j&}s%xS3j3^P6AyqS literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_cypher.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_cypher.png new file mode 100644 index 0000000000000000000000000000000000000000..61676c54993de3d9662778d823f5b50feabe3966 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|-gvq=hFJ6_ zCrGgN++Zp875Q)MS#D?m1U9v$^BaL6@$5&VHCcvWx$w#vMjgNX6LwTgoeq{e_)C_@ zKmP9VEDqsa4LbVlM^YAl=V9B}|KQQ3q%I!CX|ew~r49grg4Sy0^w-(-X$2d0-et7ygDFpCBM~^24u>qHI9WwoP`qq}u$Q=RGbk%uwV3f;5@W mk`h25SO2eZVWo%z1H~3H zz);ehAk}%bo$241oJBeU@%HPx$3Q0skR5*=eU>Nd%5uap~rObaAd)e_PSkz5>pwQN7%s^7U;V$o#+rfA=sklL=Qf6|b00B$ zWba~-7DIRm**i?gnqdkqUgc%@b^SQQ?zu}CyrPydxY&C@Q{J89uUiG5kNw%OE4fz@V@F8Sb5?9rsaU z18dZTSa$uF7E@$kV1U@{=C+by_uM56KK%#qMmq|KvXuG1rO@I3|2=X4w-h>HjRBl4 ifEfS_Fmz`RGXMb8c3xOf=<9U=0000Px$3Q0skR5*=eU>Nd%5uap~rObaAd)e_PSkz5>pwQN7%s^7U;V$o#+rfA=sklL=Qf6|b00B$ zWba~-7DIRm**i?gnqdkqUgc%@b^SQQ?zu}CyrPydxY&C@Q{J89uUiG5kNw%OE4fz@V@F8Sb5?9rsaU z18dZTSa$uF7E@$kV1U@{=C+by_uM56KK%#qMmq|KvXuG1rO@I3|2=X4w-h>HjRBl4 ifEfS_Fmz`RGXMb8c3xOf=<9U=0000Px$3Q0skR5*=eU>Nd%5uap~rObaAd)e_PSkz5>pwQN7%s^7U;V$o#+rfA=sklL=Qf6|b00B$ zWba~-7DIRm**i?gnqdkqUgc%@b^SQQ?zu}CyrPydxY&C@Q{J89uUiG5kNw%OE4fz@V@F8Sb5?9rsaU z18dZTSa$uF7E@$kV1U@{=C+by_uM56KK%#qMmq|KvXuG1rO@I3|2=X4w-h>HjRBl4 ifEfS_Fmz`RGXMb8c3xOf=<9U=0000d?Rn-#x&5R6(CX^oY zxpY=%&EC8R@19?YdcD2j@SNhh*~U(nJby8s{LuMQZ^bI+9c#E9yfmHHdlWcj>&~3{ i<(~iBlYcgEW}LOmsOYljjAcOE89ZJ6T-G@yGywq5)<=H; literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_empty.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d1249783603172df145926e3aa384696a239d5a5 GIT binary patch literal 553 zcmV+^0@nSBP)Px$<4Ht8R5*>Tk}+sgQ51&1cL^cYrV{`qi%UQy2CPf5HG(+Fs}`(51eIj#dnCch+O(k|B=@tO#)I8?OCIH2!XZb1L5)$KXn;g$!^_n!~Ht%-U0r02OOeGRb z0p)TT55Qt4gYeBlw!+O*r@39dhV15*;!meZBoc(fVQkwbd-Xjh*8)m& zHgKoZpkn#~P~XCC+Y38$L&8cf$6_bLe5^FQM!D8f_a3!K-Z+A3ny$fKVbn9h>wcS* zE-2Kb2JA)v`22OZ`f_ZJ3)NRxmW6HGJWM8udM2m?^?sW=XoZ>_8ZMt6Z>hW2KPo5A r{_~yweVu;|Ll8%79Zex00000NkvXXu0mjf8`%H4 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_empty_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_empty_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4988e6b2bfa35a4512b02b86013e071bb13b02 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ggjjwLo9le j6C_v{Cy4YgaWF8j2rw|#`&RS;Wf?qO{an^LB{Ts5=Rgvz literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..d1249783603172df145926e3aa384696a239d5a5 GIT binary patch literal 553 zcmV+^0@nSBP)Px$<4Ht8R5*>Tk}+sgQ51&1cL^cYrV{`qi%UQy2CPf5HG(+Fs}`(51eIj#dnCch+O(k|B=@tO#)I8?OCIH2!XZb1L5)$KXn;g$!^_n!~Ht%-U0r02OOeGRb z0p)TT55Qt4gYeBlw!+O*r@39dhV15*;!meZBoc(fVQkwbd-Xjh*8)m& zHgKoZpkn#~P~XCC+Y38$L&8cf$6_bLe5^FQM!D8f_a3!K-Z+A3ny$fKVbn9h>wcS* zE-2Kb2JA)v`22OZ`f_ZJ3)NRxmW6HGJWM8udM2m?^?sW=XoZ>_8ZMt6Z>hW2KPo5A r{_~yweVu;|Ll8%79Zex00000NkvXXu0mjf8`%H4 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_filled_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_filled_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..63dcb0938c4078ebe2dbf396a30d352e6a4c629b GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ay(reLo9mV zPTa_QK!Jy4zJ~V&Bf;L~NdjC_YK#6F`b<@0Je{ia)cW_@$zS>R1Su_2S~TzW=Y0w* zw_eM>axH2DgZJbmeTEDSd&{Q;ZJV(6Ve5?dl?v^w9foaFgcuZ__k?cf7YG-aw9c)r bHca@Pvr)**W4mO4_A+?7`njxgN@xNAukJue literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..d1249783603172df145926e3aa384696a239d5a5 GIT binary patch literal 553 zcmV+^0@nSBP)Px$<4Ht8R5*>Tk}+sgQ51&1cL^cYrV{`qi%UQy2CPf5HG(+Fs}`(51eIj#dnCch+O(k|B=@tO#)I8?OCIH2!XZb1L5)$KXn;g$!^_n!~Ht%-U0r02OOeGRb z0p)TT55Qt4gYeBlw!+O*r@39dhV15*;!meZBoc(fVQkwbd-Xjh*8)m& zHgKoZpkn#~P~XCC+Y38$L&8cf$6_bLe5^FQM!D8f_a3!K-Z+A3ny$fKVbn9h>wcS* zE-2Kb2JA)v`22OZ`f_ZJ3)NRxmW6HGJWM8udM2m?^?sW=XoZ>_8ZMt6Z>hW2KPo5A r{_~yweVu;|Ll8%79Zex00000NkvXXu0mjf8`%H4 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_spellbook_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f1665ef98c61ec1490db3817bf20e86575fe2a GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|dOTemLo9mF zPTI)HqA1|{U+#9x%!r96S+1ohvZ<9NiYJ++o^jPx$Ur9tkR5*>rlD$hpVHC!H*BZNo5q*#dL5mbA(jCNqA#iaC>Ti$~njCT!Olk?7 zjFw9`a411&bZB^?x`81GMPw2|X$dWcZ-ZR%3kxE8rgL5n&-B60({S4qwU0xzB+UwFYExUZjO;krT8c#|rZ%5XR=FVl4y3K#=VJTNSprb(B}1<;m# zw6~7pt#Z2St{-^i?hR2jo+ZLGW P00000NkvXXu0mjfV(7QU literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_trinket_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/2_trinket_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..3dae6ec1401766e6f82098b93ce42fc728517de3 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|yggkULo9mV zPEZtTaNuDUw+p_V{@rrw%WS^J#)C2;33;_Px$ut`KgR5*>LlRZcyQ51#0jB$xYiXdYXPzDr(wW+pnK?@ns!ctZ&6c@r4A_Uwj zWC^%nrw}kK2$pt%nG6{LkkwPH%)+?5)YhfcI@F61x`&eh>|A{#tEZS4n`B~alB}L;y11VgwSp?N zWUuAcYgelmBg`&*Vt3;+2RXl0?++?uD=DUYVWeSD24ZOJi^0g9#~}a^>{B?%`BA@o zZCdojfgZ%!N0w)Pv%aavck{&oXgtI)%Q~Ce-?`8(0k}EJyWij? z8V@mU_rsWFy-BKETV#LmndTCx++OofD_ZxPqr79Ho$L}YN+&4BDu2#@xg1?+myDVT z0z+Zvs?ZEhe(%vLD#ofyVAM=F2E7V<8qNE8QBBK2OZGaV91Te#8j?Eyjaoq!)wC?C sY57fpE8BKAx#Rx;tp9Da?Rz(#00*_Rb377A=l}o!07*qoM6N<$f}ncWPyhe` literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_artifact_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_artifact_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..aa107d0a8d322f4852f21857c5dd867bcc96eafa GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|sy$sCLo9le z6C9ZKudDo&#kTA{*|Nz5d5>NIeTE) z*4~L3lj~wX|N8$u`%it*Ax6G`b-l}V1peFA_-=dZ%&~yoNLa6R2SZho@=1oA&fXO* oP5K)rvSduU;lbxplFrPqZn|sI>cxM!fzDv?boFyt=akR{0ATt@-v9sr literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_cypher.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_cypher.png new file mode 100644 index 0000000000000000000000000000000000000000..bf46f74a00ecb21f9046f6be3c943e3a68b24242 GIT binary patch literal 462 zcmV;<0WtoGP)Px$h)G02R5*>TlQBrcKoo|*6bp*2Aecc!u|f)kii_gVp@ZPMs6#-9wjgAPL(P$-4KDt0+;Q*y-+On*!5^yTQcg9O za>C-$UuH#)17KQhRL$tim%Pc|fT|f%X))n!C1tU9^U-GS$`6US=Hk{iiX0cCw3u)r zQ-@r1%OZIq1p!CjuuU*o_dcqKhH(Cal(@%8OR#FSVx9H7La!sO0gLr|d| z1cCR@52Q!Vd|&}kHAA|*c^GJR<(fl}plXI>T5S=qT20K3joGnLVo?^xhk@ShpFdd~ zH(n$NJfo@^QZ<)y7#a3e^BRI0xat0jyRY7pg_-|FKW;Od9W}r#2mk;807*qoM6N<$ Ef&xd*3gF-=aJ75DFv<7&7pHNm=m@o7qcoW_8QFopFPvSAkO;m0U-GB>!T>! y$!VcIEW8fp9FfW=ADlmosM;VXH$-Bq5Y@Yx$p25@A&t;ucLK6V9-ZgIk literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_empty.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..c24bea2f652841df452cdc37e19f3cf39034b425 GIT binary patch literal 440 zcmV;p0Z0CcP)Px$a!Eu%R5*>bld($zQ5e8~PaX*W z;Rkig=TDm*_f^6VlEDIl?_0i-06;o1=7H-niwqW+n605F4P>z3+g-q2#G+yHr%h3p zSxycY(UXR{6dKihB}!nLA)K=%XLLxzy6R_c%~rt1Q6Kv|lS&echE><6C@jnF0F4Ek^SiuA$0L;XQk^r% z8JZJ|hFjJ5FT{MJ;5@&)0kAoHi8~(v%d#ooG`?rhO#*nJb`YR^{U|&g{FJzGJJb%k i@#|k`$j`3OpT-vzLX@-86gWWu0000Px$a!Eu%R5*>bld($zQ5e8~PaX*W z;Rkig=TDm*_f^6VlEDIl?_0i-06;o1=7H-niwqW+n605F4P>z3+g-q2#G+yHr%h3p zSxycY(UXR{6dKihB}!nLA)K=%XLLxzy6R_c%~rt1Q6Kv|lS&echE><6C@jnF0F4Ek^SiuA$0L;XQk^r% z8JZJ|hFjJ5FT{MJ;5@&)0kAoHi8~(v%d#ooG`?rhO#*nJb`YR^{U|&g{FJzGJJb%k i@#|k`$j`3OpT-vzLX@-86gWWu0000~Tmg)@e`etr@s^Tdr82M}A7e<@S{g1`XRc@=y3cGYJ6lgqyr>mdKI;Vst008+m AasU7T literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_focus_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..c24bea2f652841df452cdc37e19f3cf39034b425 GIT binary patch literal 440 zcmV;p0Z0CcP)Px$a!Eu%R5*>bld($zQ5e8~PaX*W z;Rkig=TDm*_f^6VlEDIl?_0i-06;o1=7H-niwqW+n605F4P>z3+g-q2#G+yHr%h3p zSxycY(UXR{6dKihB}!nLA)K=%XLLxzy6R_c%~rt1Q6Kv|lS&echE><6C@jnF0F4Ek^SiuA$0L;XQk^r% z8JZJ|hFjJ5FT{MJ;5@&)0kAoHi8~(v%d#ooG`?rhO#*nJb`YR^{U|&g{FJzGJJb%k i@#|k`$j`3OpT-vzLX@-86gWWu0000CFyLXie`adzCf9E#_1@V!rWKe~aJ7hP2yji=d2Qe3#-sbML|Lj%3wq|laQpe| zWQWjr_jBtXH_zG3a3HuvPx$p-DtRR5*==ld(?QP!vGVi>#=Th(+fhKW}aaKA?(}A3$R0&?O&W!H}^M>KAmN zN?9tlE(|bKDk=kOREq^s6%m9h2Ky;l8Jtu>smo&^e%Qglot|{>Irl#4UcnQw3Oal5 zgD9)9o&uXSm!--Avf98M9qFw!c_0zbfdKJzh^#i)8yzt(5%Xa4g=doSbO?Z~HXfB! z09?y9T{9>H^Ap6=A@AyM=vcNc2mpdf#NcLJ=sYh02(Ck-G%*q*09fp9lu7^wH)D4H zo)JtU>g~4qMnT{>4)4bY1xaun7QmJ5?SfbUbSzs(X~OsaeSUm)0671!OfZQ6sJGj+ zS}h#sE~k{j_k97mJ!sZk^vO#Atk*wT>~64R)>~;J%ol|B$`r+MjFhqzoHZm&llut(F2W1J zY$H$KuEDo20DSU&Jnok5cvc&h9oDa}BfYtPtN}dGA8W2&1>Lc1?Sb}kmzj^!6U`*q dyR_phZUJ_bz((nm>*N3c002ovPDHLkV1j&4&pQAB literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_empty_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_empty_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4988e6b2bfa35a4512b02b86013e071bb13b02 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ggjjwLo9le j6C_v{Cy4YgaWF8j2rw|#`&RS;Wf?qO{an^LB{Ts5=Rgvz literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..f76f877a3f253f32e650bb0fa4f26d27923bc146 GIT binary patch literal 487 zcmVPx$p-DtRR5*==ld(?QP!vGVi>#=Th(+fhKW}aaKA?(}A3$R0&?O&W!H}^M>KAmN zN?9tlE(|bKDk=kOREq^s6%m9h2Ky;l8Jtu>smo&^e%Qglot|{>Irl#4UcnQw3Oal5 zgD9)9o&uXSm!--Avf98M9qFw!c_0zbfdKJzh^#i)8yzt(5%Xa4g=doSbO?Z~HXfB! z09?y9T{9>H^Ap6=A@AyM=vcNc2mpdf#NcLJ=sYh02(Ck-G%*q*09fp9lu7^wH)D4H zo)JtU>g~4qMnT{>4)4bY1xaun7QmJ5?SfbUbSzs(X~OsaeSUm)0671!OfZQ6sJGj+ zS}h#sE~k{j_k97mJ!sZk^vO#Atk*wT>~64R)>~;J%ol|B$`r+MjFhqzoHZm&llut(F2W1J zY$H$KuEDo20DSU&Jnok5cvc&h9oDa}BfYtPtN}dGA8W2&1>Lc1?Sb}kmzj^!6U`*q dyR_phZUJ_bz((nm>*N3c002ovPDHLkV1j&4&pQAB literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_filled_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_filled_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..0acc80bcd1794ebdaad5bd262282ce166174a285 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|qCH(4Lo9mV z_HE=nV8Fp*AG9rrZ&{K6m${G2X^ACX$wygSy`I0GS3j5GU&GAFGdFLxeeUeCWYs;x z;}Y(w6*|gFcV!t8(gY?hO^GZ~eOfK+sX0T{<;$-7Id+ANo|_HVZ*ee>2U^46>FVdQ I&MBb@0OAQXuK)l5 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..f76f877a3f253f32e650bb0fa4f26d27923bc146 GIT binary patch literal 487 zcmVPx$p-DtRR5*==ld(?QP!vGVi>#=Th(+fhKW}aaKA?(}A3$R0&?O&W!H}^M>KAmN zN?9tlE(|bKDk=kOREq^s6%m9h2Ky;l8Jtu>smo&^e%Qglot|{>Irl#4UcnQw3Oal5 zgD9)9o&uXSm!--Avf98M9qFw!c_0zbfdKJzh^#i)8yzt(5%Xa4g=doSbO?Z~HXfB! z09?y9T{9>H^Ap6=A@AyM=vcNc2mpdf#NcLJ=sYh02(Ck-G%*q*09fp9lu7^wH)D4H zo)JtU>g~4qMnT{>4)4bY1xaun7QmJ5?SfbUbSzs(X~OsaeSUm)0671!OfZQ6sJGj+ zS}h#sE~k{j_k97mJ!sZk^vO#Atk*wT>~64R)>~;J%ol|B$`r+MjFhqzoHZm&llut(F2W1J zY$H$KuEDo20DSU&Jnok5cvc&h9oDa}BfYtPtN}dGA8W2&1>Lc1?Sb}kmzj^!6U`*q dyR_phZUJ_bz((nm>*N3c002ovPDHLkV1j&4&pQAB literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_spellbook_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..89e73cfeacb9e896036fd0d3afdab6a40438d222 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|`aNA7Lo9l? zPTt7LqA1|{U+#9x%!r96S+1ohvZ<9NiYJ++o^jko*TLkDd22WQ% Jmvv4FO#pqZOK$)G literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_trinket.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/3_trinket.png new file mode 100644 index 0000000000000000000000000000000000000000..898be5e90b205434040f910ed1a14717fc3a5211 GIT binary patch literal 441 zcmV;q0Y?6bP)Px$b4f%&R5*>Tl0QqsKp2OgXeU89CvmBNust$Ji`Y#41lc8v1RVVYE)I1S+JcL7 z&nX=(euAQfW+^Cygn)z8L8w&R>JX<3wn=gEHywBPJommY2YWZ8LP8Kl>? zZR=&ClrokI7NKgjn&-|)3L5ToI(VL!0dLNqcznA8z%STj}M{P)Px$@<~KNR5*=|l0Rq@aU8`zcZk%XLo72=8lEh&GRZdLohbO+*Ii3Cd6K2kf+5(CU3xpTHZ62XVmN^Sp;KSJbrTq0BvLg zfTWfN;9YqY)y(nyr{yb=<>_rR^7OUT?n2tg2KHzGMq8&=uL3YT-gLZhLxz80vEk-nMdi+;_ZV%R z!e>niE2`s#XM(-PAW1DvCQ%k{eqiW)e0|rEdfW>MdKu4^o;ZQ2)vFk7-NVC*%G^{4 z>8i=>c$4er9uQwMCAqaSB-G>>&`a8dvpD;9bGx(c#b_Z;B^3}-B^402io00dJh^Kn z^uXfD>jLgYo-ta8BM&Sv9~nlfqypmW=5K(LGky&2KYsxgQ~E3pVC>ug0000~mP literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_artifact_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_artifact_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..2f0b83de806a32126f1a96ecce2d1978d8959d82 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|3O!vMLo9le z6BGph?0WW9e&%_XRcUFJfg;Wlo)=FX0D>bIPkeaqZp#b=hwrzq_uMF-bm9K`kN+?3 zbrkyX+jQO^gMPx$T1iAfR5*>rlD|trQ5c4w8xA$JG-`;B))0gUf{Q~CE|PdbCv#K?e+-WP0fK=z zxCG{WTO&JqP|9Wwy9D@(6(O z1PV6~%IX#w+hUO@mQf6yp;;F$p9a9=XaGQ^salH81;!Il44q0Zgv%Eqm$ZMK*y;7R z89kQ-z}0O*5|WBDuUoi$8u{uL0BWE$olH#u(9mj20utr4EpvN7Ik)Hh zhFw3ooNLb~ihPw|GXMe+-)AX6E$0QYHcxE?0!2HM$sqi2`VlWSwzk7JwkYKMFaLG( z|Nr{+|M)k)`E~xlfdc}mnxE^v7asoqzxvU?e9e-E?!yeiX3b8y+lanvfm}w6XCJp#<2%$%Ucs) z-*M+@6r3)Ra88e7SKHN~DJ>#ETjZa;$(A<`6j5S-Wx&kv_({c`6pvN7Ik)Hh zhFw3ooNLb~ihPw|GXMe+-)AX6E$0QYHcxE?0!2HM$sqi2`VlWSwzk7JwkYKMFaLG( z|Nr{+|M)k)`E~xlfdc}mnxE^v7asoqzxvU?e9e-E?!yeiX3b8y+lanvfm}w6XCJp#<2%$%Ucs) z-*M+@6r3)Ra88e7SKHN~DJ>#ETjZa;$(A<`6j5S-Wx&kv_({c`67q89x&tYQP!*{$|-g$zs?03%;4$j=d#Wzp$PzFPcpm! literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_focus_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_focus_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..fb321cbd645822fd670695da2cd8572b3e570e8f GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%zbv<1iLo9le z6C^%02u^p&zc%wf4-oXvyO*8-1QmZ*3FvKq^Fw%tomh+%xA4*hNpvN7Ik)Hh zhFw3ooNLb~ihPw|GXMe+-)AX6E$0QYHcxE?0!2HM$sqi2`VlWSwzk7JwkYKMFaLG( z|Nr{+|M)k)`E~xlfdc}mnxE^v7asoqzxvU?e9e-E?!yeiX3b8y+lanvfm}w6XCJp#<2%$%Ucs) z-*M+@6r3)Ra88e7SKHN~DJ>#ETjZa;$(A<`6j5S-Wx&kv_({c`6ZROG!N*Pr+&i>8L%#RHyr4^y9E!AB?LHioKgq^yFW-_fC1}yJ->WQ^ zmaO)b+)?e(759FI;PW|*4CmhldvuAFzmL1rnlhm$Ym?5jlA|7bdUPx$kV!;AR5*>TlfN$mVHn3hZB8lIi&)!SZ@WQE1`)~a)i5;--7FHpAR)wGKtiM) z#AY!t7)bpC(lmmI#E+a9dX3r`v{D-J8m>Lp_QJq-dWYxpeBW=L=Yc=U_gldzi2D1$ zqh9(A913bg{4&u%7_F2OsgIY2CM_MkKme;+BpL{_SIXgTB6)#B9lFzSuas*r7z+)8 z>nA=h(5eoX1r(7U*gRV_LoKq#3cwX@^%*RyqREb;JJ20)%mJK%F- zp6r{+?&}rVN}f(h(?>GL zApmZc`+fugO!pW~dmqHzy-94klgF+l;Px$kV!;AR5*>TlfN$mVHn3hZB8lIi&)!SZ@WQE1`)~a)i5;--7FHpAR)wGKtiM) z#AY!t7)bpC(lmmI#E+a9dX3r`v{D-J8m>Lp_QJq-dWYxpeBW=L=Yc=U_gldzi2D1$ zqh9(A913bg{4&u%7_F2OsgIY2CM_MkKme;+BpL{_SIXgTB6)#B9lFzSuas*r7z+)8 z>nA=h(5eoX1r(7U*gRV_LoKq#3cwX@^%*RyqREb;JJ20)%mJK%F- zp6r{+?&}rVN}f(h(?>GL zApmZc`+fugO!pW~dmqHzy-94klgF+l;d#ugQu&X%Q~loCIGkpFxvnC literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_spellbook_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..958c2f194fa0acaa467517d9ff729ede4e5a9474 GIT binary patch literal 470 zcmV;{0V)28P)Px$kV!;AR5*>TlfN$mVHn3hZB8lIi&)!SZ@WQE1`)~a)i5;--7FHpAR)wGKtiM) z#AY!t7)bpC(lmmI#E+a9dX3r`v{D-J8m>Lp_QJq-dWYxpeBW=L=Yc=U_gldzi2D1$ zqh9(A913bg{4&u%7_F2OsgIY2CM_MkKme;+BpL{_SIXgTB6)#B9lFzSuas*r7z+)8 z>nA=h(5eoX1r(7U*gRV_LoKq#3cwX@^%*RyqREb;JJ20)%mJK%F- zp6r{+?&}rVN}f(h(?>GL zApmZc`+fugO!pW~dmqHzy-94klgF+l;bP0 Hl+XkKCL}M} literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_trinket.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/4_trinket.png new file mode 100644 index 0000000000000000000000000000000000000000..aa5af6b9452f5399a93b7af78f5d15bc8863519f GIT binary patch literal 493 zcmVPx$r%6OXR5*>Tk}*glK@^6+$)&Ln!Qzlalwh%i#eu~ZhhlSum7=g#E-}p>If%Mj z*l4+FJQUPIQb~f9u~7+F*jVIJjE#l1;pAc!OkrUo>=k!2&R%k0;or^h{x|RY=Lz1Z zAP6FWcDqfbQW5Gt*{gW_+jRtR-)aKz<6#TW^RO%n+qPr1$zDc3m->5?;^wxWR;kHm z?u_tow(BwRZ-ZdJ4*+Mf20+%y15mCW@bjgLlv0>D!ZiE26k?)-Gg;%Lu`YVybOz2T zm&*Xyw%wh9GXD>!SZd;Y{;qKn%BWs273}vRCORyx9I?1^#IMI!B-eG3Qi_CWxVh~o z>*QITt48YOox(H6drKVeEpd5u0l>!BJfle`KEa2v2F20=0AHqO@WVPgg=bVQepqMs z)DfzQQUd-giRXDb?cqUKo}bbDYYTVUFp|#jY5Yl_lj=Jx%OX6S#dTeZrFa(RkGzIz zGywF5Nh!rtFcsZ5hIC-*kC|vBozXaJ3wOF{Y>`Zy&D@y|4A5iyVI6?oQ%A%mP-InX=?Pgg&ebxsLQ0De0y>i_@% literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_artifact.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_artifact.png new file mode 100644 index 0000000000000000000000000000000000000000..4f38df40af393ef22707812f4d148b1dd9fea746 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|-gvq=hFJ6_ zCnzx9nW^@tKDg__{~+FF|ChXI&i?n?^xyyW*>V5h`v|v5AM#m~cCgA`g{Mv-^c9Tn%GWwY8zGDu1iZuXpmrHzH9!^(8vG?9$mgO zyYyN8#S}j_^}SOy9{pZ#_VDWQ0|yv5_tY<+|CfK`8ztLwpZ|vczklcZ&;5(bWGgw_ zl+M=gKQ?)ONPX<*U;8y(CzPB$(KcaiLi$MaQ~HypL+dEm?b@ ikLB4q_*`ZkwP)CT*EQ)uj?81A{S2P2elF{r5}E)9U`)>d literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_cypher.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_cypher.png new file mode 100644 index 0000000000000000000000000000000000000000..c3ea43f45535b8daa6b8b39f70f90ac5b2c48bb5 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|N<3X0Lo9le z6C{cf`c^-yPq7nTIcx9PQbQiasL%6f`u^W7bMnHS*`?3^@4tNh-}6}-la~Mde}DCV z*{!cnT$f3@>ALG#&Ht~ BG2H+F literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_empty.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..678465d8789371009aed51d9fbebac8f3d45d5d0 GIT binary patch literal 351 zcmV-l0igbgP)Px$8A(JzR5*=eU>I^>OQFMmWIhWng;AC=aD~f`KVgJv_V$)z*uvoO->3foBVGek z_*oguH05F3|4|ky46eyB4D}_g3{5-kGZJ)aormK8|9j&8GcYhP^k$v;|L^p(|H!Vw z>IGy4O*`&0nrX`a|9NH3e>P1{1}D8443d197NHn`?(CaCdl(qzmN2*`GcfGG+QbMA z!2hr?VPIfjU_v+1+gpyor~d$>s8~NkVWJd6?=Cxr-E)^Pz`TRk1<20cwabISIiZ_D zl5ZY^PyZ9fy6cKq4Zr|f3LXA$DRlV%^U9q6Fg~`x!|H`Cg%1B+lVcc`ow$S7**IpT?kx&XrvqHP>B002e)c&Fbu%=`cV002ovPDHLkV1g;pp1J@4 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..678465d8789371009aed51d9fbebac8f3d45d5d0 GIT binary patch literal 351 zcmV-l0igbgP)Px$8A(JzR5*=eU>I^>OQFMmWIhWng;AC=aD~f`KVgJv_V$)z*uvoO->3foBVGek z_*oguH05F3|4|ky46eyB4D}_g3{5-kGZJ)aormK8|9j&8GcYhP^k$v;|L^p(|H!Vw z>IGy4O*`&0nrX`a|9NH3e>P1{1}D8443d197NHn`?(CaCdl(qzmN2*`GcfGG+QbMA z!2hr?VPIfjU_v+1+gpyor~d$>s8~NkVWJd6?=Cxr-E)^Pz`TRk1<20cwabISIiZ_D zl5ZY^PyZ9fy6cKq4Zr|f3LXA$DRlV%^U9q6Fg~`x!|H`Cg%1B+lVcc`ow$S7**IpT?kx&XrvqHP>B002e)c&Fbu%=`cV002ovPDHLkV1g;pp1J@4 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_filled_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_filled_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..f9cb4cd774c7cacc85ce313c1df22def09429efa GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|d_7$pLo9mV zPS_~eV8FvH|LlXzy{pVH7v{8K*xtVdIbH4hh}HC9@O$U#g4Uc$V$1 uEQ9glRSYN2nEzewaVg{PgPx$8A(JzR5*=eU>I^>OQFMmWIhWng;AC=aD~f`KVgJv_V$)z*uvoO->3foBVGek z_*oguH05F3|4|ky46eyB4D}_g3{5-kGZJ)aormK8|9j&8GcYhP^k$v;|L^p(|H!Vw z>IGy4O*`&0nrX`a|9NH3e>P1{1}D8443d197NHn`?(CaCdl(qzmN2*`GcfGG+QbMA z!2hr?VPIfjU_v+1+gpyor~d$>s8~NkVWJd6?=Cxr-E)^Pz`TRk1<20cwabISIiZ_D zl5ZY^PyZ9fy6cKq4Zr|f3LXA$DRlV%^U9q6Fg~`x!|H`Cg%1B+lVcc`ow$S7**IpT?kx&XrvqHP>B002e)c&Fbu%=`cV002ovPDHLkV1g;pp1J@4 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_focus_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..fa8acadce7e16e529d778d8802ecef6ecc042f7d GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|vOQfKLo9mV z_8;UupupjpseVDyV$*!*9rEt!Ka?*xFZOJXV*4;x;h}xQ3xlOok}lq?789HJ!AM;| zFe!~mVAmne8I@PkzG)XW`FUyT6f$h!W4OJy_^rw+t6$foR%%_1vY+{s+w!^L4lemP Zx#fbEx9c3DCjqTx@O1TaS?83{1OOZNJPx$wMj%lR5*>TlfO$FVHn3hcU;BTD1qB!Y8IhOhC-J>DbdA3 za3~!_EC{WO2pPH@nYx^u|3C@iuY?Ybq;$vyl}-&Lfk+6x9pat&g%0gAy~FeQexK)g zp9lUir27(*Al$b#CSSP^jQKRevY+Tg2(5V_w!4i1kr9D@aA~W_?=>9&r*px}z;hT9 zQO1F>NuA*O2~S?Vpj@m8PGT=x zoSBa(w5tFFQYlQ+l)M={{*>i>WrMKn$LU-U{W|ZpV`Gua)qy&JR0_i|05DAxNeA)T zr}3_31MtzG@G5ajbsY`EAQFjCtJSd6>0S!}I*7C5OYCm}0Lp7KcY*+w{%@@GHcb5d zRU!U%ipz&t5;qAhxD$_~DXItFFt>Z~{YTGzZ*GCb(|sJr838NZh6fHr=}S{=y*UwX xJDWaDBtc{pRp=n}zIzysvB%U8jCK5<@fYK6w~eQ3?cD$X002ovPDHLkV1nU}+v5NL literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_empty_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_empty_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4988e6b2bfa35a4512b02b86013e071bb13b02 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ggjjwLo9le j6C_v{Cy4YgaWF8j2rw|#`&RS;Wf?qO{an^LB{Ts5=Rgvz literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..a58467065b6590087230cc51ae35031e965fe302 GIT binary patch literal 507 zcmVPx$wMj%lR5*>TlfO$FVHn3hcU;BTD1qB!Y8IhOhC-J>DbdA3 za3~!_EC{WO2pPH@nYx^u|3C@iuY?Ybq;$vyl}-&Lfk+6x9pat&g%0gAy~FeQexK)g zp9lUir27(*Al$b#CSSP^jQKRevY+Tg2(5V_w!4i1kr9D@aA~W_?=>9&r*px}z;hT9 zQO1F>NuA*O2~S?Vpj@m8PGT=x zoSBa(w5tFFQYlQ+l)M={{*>i>WrMKn$LU-U{W|ZpV`Gua)qy&JR0_i|05DAxNeA)T zr}3_31MtzG@G5ajbsY`EAQFjCtJSd6>0S!}I*7C5OYCm}0Lp7KcY*+w{%@@GHcb5d zRU!U%ipz&t5;qAhxD$_~DXItFFt>Z~{YTGzZ*GCb(|sJr838NZh6fHr=}S{=y*UwX xJDWaDBtc{pRp=n}zIzysvB%U8jCK5<@fYK6w~eQ3?cD$X002ovPDHLkV1nU}+v5NL literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_filled_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_filled_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..63dcb0938c4078ebe2dbf396a30d352e6a4c629b GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ay(reLo9mV zPTa_QK!Jy4zJ~V&Bf;L~NdjC_YK#6F`b<@0Je{ia)cW_@$zS>R1Su_2S~TzW=Y0w* zw_eM>axH2DgZJbmeTEDSd&{Q;ZJV(6Ve5?dl?v^w9foaFgcuZ__k?cf7YG-aw9c)r bHca@Pvr)**W4mO4_A+?7`njxgN@xNAukJue literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..a58467065b6590087230cc51ae35031e965fe302 GIT binary patch literal 507 zcmVPx$wMj%lR5*>TlfO$FVHn3hcU;BTD1qB!Y8IhOhC-J>DbdA3 za3~!_EC{WO2pPH@nYx^u|3C@iuY?Ybq;$vyl}-&Lfk+6x9pat&g%0gAy~FeQexK)g zp9lUir27(*Al$b#CSSP^jQKRevY+Tg2(5V_w!4i1kr9D@aA~W_?=>9&r*px}z;hT9 zQO1F>NuA*O2~S?Vpj@m8PGT=x zoSBa(w5tFFQYlQ+l)M={{*>i>WrMKn$LU-U{W|ZpV`Gua)qy&JR0_i|05DAxNeA)T zr}3_31MtzG@G5ajbsY`EAQFjCtJSd6>0S!}I*7C5OYCm}0Lp7KcY*+w{%@@GHcb5d zRU!U%ipz&t5;qAhxD$_~DXItFFt>Z~{YTGzZ*GCb(|sJr838NZh6fHr=}S{=y*UwX xJDWaDBtc{pRp=n}zIzysvB%U8jCK5<@fYK6w~eQ3?cD$X002ovPDHLkV1nU}+v5NL literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_spellbook_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f1665ef98c61ec1490db3817bf20e86575fe2a GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|dOTemLo9mF zPTI)HqA1|{U+#9x%!r96S+1ohvZ<9NiYJ++o^jl2*aVSVA6i;u&M)_$uV&YGG1g()F-BGfWxbP0l+XkKy-Z$% literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_trinket_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/5_trinket_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..9fbf994775df9e76616f8b43e675a492c35dc941 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Ts&PILo9mV zPT0uHV93K1_)Wg0Fy@}wlHW?dj`_`AEx@X-InX=?Pgg&ebxsLQ0De0y>i_@% literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_artifact.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_artifact.png new file mode 100644 index 0000000000000000000000000000000000000000..be4c472c4a0faff40f4e891634a096e53c05a31e GIT binary patch literal 437 zcmV;m0ZRUfP)Px$Z%IT!R5*>rlD|vCP!xr~2G=4X(4lqdAlSMU7e#R@2!bwB!9gfSM1_i=*8f0I z6mf`yZWi&!WQs_^tx|`IlY&E}Ak;w$QQU;~I;b(R5l7E<&wcmY@9`e|w*tR4EJG83 zlbZqn?QcnjcI~F~9%FsxN&p_J6{=4a4ofvQXH(3l!=y4f#yeMhLp%YE@}o4$kCNYb zm67gMX~?yVbg#0J&gR3_((ZW)?HrzZf& zFPyP<=TC>Jt5TOGu?$TXI}|Z>RldBsEHynL`20juS0$eK01HNx&pUr?{_`igLjZ~w fFOK&s_P^^L-AR>U5zoc=00000NkvXXu0mjf3p&4Y literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_artifact_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_artifact_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..e276e10783ee2539b9609a5f609a8ede5d5401ad GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|0zF+ELo9le z6C_wwn&YqU`KSDOriW=mWSmH=|0G6(+Y@6CdaQAqan?tsm*;=o6=MS+_*461mdI~K vw!eR+{>$6ScrexPKNc+3p<-PvBEZHF^-0O@uuZH5&~OG%S3j3^P6Px$L`g(JR5*>zlD|s=VHn3hhQSFr=n!NzI5gZ4LIe#>B0|vI7}y#(xb#N|4RM1* zLPU$;)F8AqNP}=oXao+Pc$lD|!7T>~*KoYAp6}IK-{pPZ=Y7AQ=LawRwIV-VRP(wg z_S3n)UOm4n@0GyyrRfcZ7Q?ZHkuw44_WA&{MvelBteQ&~DF7PHIQR7mwSo)4#O~1T z^%Y2T888@HK#Iu0jGebQ0HxbId7nvWB%@Hy>Yji|KsB#>Ph*Ql^F*4rH`ClaS~6Sl zFzsa$TA<}X1xC)KSg$OZ&jKy(#x;m(*dL!Vw#JHT1(&U_ieeVp+gJ~rC15&VOgl`~ zyzZSJ?<;Yof{EP;HJ={&=GMr;Fc)(Plv&RDSsJZ2uQS*084#HtUfRF^0|7~j(Z)2{ obJ!;e1qcX$?YJ_wT=xIcH@^UT1BG5utpET307*qoM6N<$f?(9Dj{pDw literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_cypher_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_cypher_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..f254063e899aa526f1bbd34f49f422e26a2643c8 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|!aQ9ZLo9le z6Bd|P#0h_spLyP872~2!RvI;vcp7f@z2S08GCh>@Z++^a0~K$1n1SH%>*L`a#te5C zT<>3R;IVCulBd4RpP4sZA{F-4)wJq#yC3|(#&Bes?El9Fg-3xlFnGH9xvXPx$T1iAfR5*>zlD|s=VI0OkMY(Ar;&2*u5l!k4(cf@eOXpGzx*2HPAK(o+r({E$ zLq&@%4MI}{hJm>CLx|AKTndbv8{P)F>(0};zT5k}-{*aw=lOo&uWM@3MIjLv03uih zz-X)NUv*sl)1$z_Zd2@SR7AbE&Ccc`09sPw$w;FsvKZ~386|5;36QAP6w*bgVk4`L(3a0*bK%wlMq4G3JtG{F$CAyFHdPx$T1iAfR5*>zlD|s=VI0OkMY(Ar;&2*u5l!k4(cf@eOXpGzx*2HPAK(o+r({E$ zLq&@%4MI}{hJm>CLx|AKTndbv8{P)F>(0};zT5k}-{*aw=lOo&uWM@3MIjLv03uih zz-X)NUv*sl)1$z_Zd2@SR7AbE&Ccc`09sPw$w;FsvKZ~386|5;36QAP6w*bgVk4`L(3a0*bK%wlMq4G3JtG{F$CAyFHdkAs)+2C6Ixso#5kTH@xP+~x7gj%nMPK4({Ne^kM} xN{d0sDU?w_a7N_pYLV1uQhyD8F}%AeD=y%uGAlw(FBNDwgQu&X%Q~loCIAb!F=GG# literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..e23f31985fce1426bfadf53aceece600b53ea60c GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKV2ty0aSXBOJsY&&`>=z^Kb=`? zO^*b4H7B^dzSPFIt4!Fc`(%*Jt%VAgobCu8j5G=HF&Q5S#vNc38 zgY#rmd$ES4(BxgOZr{7R_jlbM{vWTSW|Svt2r)7oGG}CX=Wr~uTB1t+v$_6sZ3B@` zi7uBbS#s>Zvl$q+&N()@nq#lVqj zKjnbN2;W|Kcy_ckW2f|KZ{ziM^sC$?1@?8Wwti5tzH!pEnTp%n6*DCpo%3_tjRQ_+ zo`^ELBSrmlo!8wd-MIb{?dPof3XEmYv@Uz;rbC6;C!hOo@u_m Z3|c@o2M~k6rQpdR%G1@)Wt~$(69DVIv7`V1 literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_focus_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3425ceda6dae1d3a61e899709b6851c765d77d GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr`%FC+y~JFyL|FKfPx$gGod|R5*>bl0Qg7Q5431PfUnPs-;1B>Y_u@8WKuV36I<)NN{MYK?+)0f~MAR z3Bk4+DhPr^3b%TMyF*5Ui4AULhFRim=|2CY5<%Z|;GXYyzI)Gw|I~KCCAI@D@h9`e z#+;~S6QY()h#-g{bOo6^CjvaYe4=S8$%8`x&eIX}PzmSjt%%jj%C9Cad+p+AXiD6S zEeMg07+MN&q~5JdyLgF`ses`0<3pV&mlX7MVl|f*AJN z0a&}61Yq`b!T?AJfWu<@0a2o6tFR4>V>b;OO;+VSZqHa0L4ZHy_&~qwqgR% zt9goziqSZqaU0WGRcur^e#@d)^NfVU#Oh_mBo9aTw%Q=Ak@fdnn^B9$n~&%L;Q>}t zDGG%G&+EI!b!1e4k#HEl-w%MQs-zZ|np^OISQ&IOeYS5v`Wf@}GP%|@c7wF4n=$w8 zZTnT7kbXwv4d{@B$TeNo%Uz8<0TLqXUPh@e5USiHy3czk00000NkvXXu0mjfk-N*` literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_empty_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_empty_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4988e6b2bfa35a4512b02b86013e071bb13b02 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ggjjwLo9le j6C_v{Cy4YgaWF8j2rw|#`&RS;Wf?qO{an^LB{Ts5=Rgvz literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..29d64aea7907aa5094a03716860f7b9d367c00f6 GIT binary patch literal 457 zcmV;)0XF`LP)Px$gGod|R5*>bl0Qg7Q5431PfUnPs-;1B>Y_u@8WKuV36I<)NN{MYK?+)0f~MAR z3Bk4+DhPr^3b%TMyF*5Ui4AULhFRim=|2CY5<%Z|;GXYyzI)Gw|I~KCCAI@D@h9`e z#+;~S6QY()h#-g{bOo6^CjvaYe4=S8$%8`x&eIX}PzmSjt%%jj%C9Cad+p+AXiD6S zEeMg07+MN&q~5JdyLgF`ses`0<3pV&mlX7MVl|f*AJN z0a&}61Yq`b!T?AJfWu<@0a2o6tFR4>V>b;OO;+VSZqHa0L4ZHy_&~qwqgR% zt9goziqSZqaU0WGRcur^e#@d)^NfVU#Oh_mBo9aTw%Q=Ak@fdnn^B9$n~&%L;Q>}t zDGG%G&+EI!b!1e4k#HEl-w%MQs-zZ|np^OISQ&IOeYS5v`Wf@}GP%|@c7wF4n=$w8 zZTnT7kbXwv4d{@B$TeNo%Uz8<0TLqXUPh@e5USiHy3czk00000NkvXXu0mjfk-N*` literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_filled_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_filled_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..91056626e56021ac37522685b41376530cc75711 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|;yqm)Lo9mV zPCU(dz=6X>T{Cs}27&B5hp#Dan(8C@OzIo+y-5!D0_T`7IB>q*V6(yIfU7&spI@_J zO4B`S7na2;cRh-@Px$gGod|R5*>bl0Qg7Q5431PfUnPs-;1B>Y_u@8WKuV36I<)NN{MYK?+)0f~MAR z3Bk4+DhPr^3b%TMyF*5Ui4AULhFRim=|2CY5<%Z|;GXYyzI)Gw|I~KCCAI@D@h9`e z#+;~S6QY()h#-g{bOo6^CjvaYe4=S8$%8`x&eIX}PzmSjt%%jj%C9Cad+p+AXiD6S zEeMg07+MN&q~5JdyLgF`ses`0<3pV&mlX7MVl|f*AJN z0a&}61Yq`b!T?AJfWu<@0a2o6tFR4>V>b;OO;+VSZqHa0L4ZHy_&~qwqgR% zt9goziqSZqaU0WGRcur^e#@d)^NfVU#Oh_mBo9aTw%Q=Ak@fdnn^B9$n~&%L;Q>}t zDGG%G&+EI!b!1e4k#HEl-w%MQs-zZ|np^OISQ&IOeYS5v`Wf@}GP%|@c7wF4n=$w8 zZTnT7kbXwv4d{@B$TeNo%Uz8<0TLqXUPh@e5USiHy3czk00000NkvXXu0mjfk-N*` literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/6_spellbook_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..fd28e491f95af7b9b25f087e9e6ac3cecd6602f8 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Dm`5sLo9mV zPCCeWK!L|~|5EQKYIzS83$ o?q^MsveM?f&MnuL9hWR-RMFIzlS@iJ2y_I4r>mdKI;Vst09Px$GD$>1R5*>zk|A%xP!xr~k=dDv35HqHw81qK?>AtItZS3nxi!HM6d`rfNRnD+ zCg>j^0l`Gg(tv5w1lMFg;Y~o_9&ORvQSaV&&wcltcj2#bbL}DwLs^~6vIHQG<3|0h z9=yGLN`T^+Q*3i)iy;7MnpP#U-sGYIz-!P2x~$d%Cc&KLW`t!~?DzZDCLNtz9P^W| z=WlxVr<@Q1Aq1Z1aX1_>32Ug=B(BOdS7<{JU%?}{;|_XmX70G_h7ad zG7092Tt~m(2O!I`>mDpOBZLt3mlaIYyoi+tWm)QOH!z(}<#;@9Px$YDq*vR5*>bQol z;r46t4{)gnR6GQKAP60S4lNwCWEecuQ8PpjmctmK>A)UzE- zRC6kyo+sEpuH)i%7i_6`AKBa)oFbVBYMk~`tmK=d=#rw#S!2vuW6Vsv z%xN#hp{Xq~Qi32`2ZsOvwp5vGclVZR8)qJx8Yx^lmM4FAERPf}ho;6t+WvVbKJ8g! z%xX@hU{L}H7Fo@yGF|~$oY@C4bVWW`^n)Ps3c;Drt|n-A=kcQN+vwx%dx@9kQRw{o zMLw?82Z&}%vN@V9p;jNr_~!l&kFUkmb7taYX5wX1xRSPGc{Fr|6fXVx+AA2kva&G8 z^5|HeT&$rh>vfP!gdzGJL}DxQKqRI>^gBo3y<+D^20gt( z^_hvThxpq-qD$WFJJ+#>{j5!g;`@I(|IY)B40yyZ7+v$lh?)6tYTKs2D`pwSFfjZ7 zoF(D4>)WB9XJ&Ov`u+7dvP{JM#P|5W|L?y{|9@WpM~^YDKq|-0Sufcbl)vTn#N=w; Q0fqvDr>mdKI;Vst034`~*#H0l literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_cypher_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_cypher_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6311b97472c06eb15ca82a28f4a84ddfd727da GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|!aQ9ZLo9le z6Bejf#0h_skL~FcVRlI^H8|2?#*k*cOIxDzBFE;R`=@a-Ki+E00|M*i;}a+3L>~3H zz);ehAk}%bo$241oJBeU@%H)0ml-kdRQYeQNrO&km+6M;VNL zE7|h%EqT)4S(i?31cHONqx%l}1k26#7fA44c=-SP@MnMi?^k~Zws?O0hoArd+ZO(> zkDK|q-g_Z)n|Q*IMn|p sw&35^{+SV`!Yn`ktu9ncT*b)1mNkc2)0ml-kdRQYeQNrO&km+6M;VNL zE7|h%EqT)4S(i?31cHONqx%l}1k26#7fA44c=-SP@MnMi?^k~Zws?O0hoArd+ZO(> zkDK|q-g_Z)n|Q*IMn|p sw&35^{+SV`!Yn`ktu9ncT*b)1mNkc2sHP-5}Zk1f0PJ+oK0ujPAC`P-tdl$k+CW!AQbb~}J}FnGH9xvX)0ml-kdRQYeQNrO&km+6M;VNL zE7|h%EqT)4S(i?31cHONqx%l}1k26#7fA44c=-SP@MnMi?^k~Zws?O0hoArd+ZO(> zkDK|q-g_Z)n|Q*IMn|p sw&35^{+SV`!Yn`ktu9ncT*b)1mNkc2zXU;OXk;vd$@?2>_H) BIB@^~ literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_empty.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..fbf5030e9d0bd019312f6435f130c9e583dfdb0b GIT binary patch literal 329 zcmV-P0k-~$P)Px$14%?dR5*>zku7e+FdRo;CX6@L*n5w2j;`xaO0k@YIE@3lO+{IjNGa+2{st_H;zqu#Bm>w&*ljAF z-`|i@(liZ4QBc?QT~*$D0GxAJYqP1JErb`5a~TI-4~OI|q?7=(ZHqA`o3?OxWD;cqEB^AB~|BIj3>>sW>H=OFq6Xt6)r05GC=v b1ph4G)boCco}Hql00000NkvXXu0mjfy)KWO literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_empty_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_empty_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4988e6b2bfa35a4512b02b86013e071bb13b02 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|ggjjwLo9le j6C_v{Cy4YgaWF8j2rw|#`&RS;Wf?qO{an^LB{Ts5=Rgvz literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_filled.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c83858d25db056a06c515b680681b50fe12f72 GIT binary patch literal 359 zcmV-t0hs=YP)Px$AxT6*R5*>zku7e+FdRpptB{hgQah|F*##zrR?&_SR$|s$gqKa>F&(R_(p0-b ztFgvM$iPS>kJN6KHXRw*4_TJq^Zx_>b@DuSd7isRZ=x{}AWc($<%}`nS3w_?Qil7B z=&mGs1okr~nXIGOeHs(sEX#g8u+~!7HK)^wG))=KWU}vCo~H>?N|aLUb~~44nXuMU zRaF2tn~jiC-be(%9NcP}@bvbIQi`G|n9XJ^7K>1o7nfz}0P4EN7$ZWtb8yQj=G?Ws zl;zDVyhJGlz~OK}Yc0YSK0wg5Zq;k2X__E79*+*7X&S7xY_(<`#qMS;!*+c7;N`>X z3?51RCbn9WL^1oWy;eLX=u6(e&UZndQGu8E^AP;Ad;@`pk9(KsrR)Fz002ovPDHLk FV1johpa1{> literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_filled_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_filled_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..cdeb9f77a7f309861ec9787917bf6e1f33251d83 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|G(BA$Lo9le z6C_xh1?Je-|Fb{Zc4m&H@L_?RBp2oxt2K&bUG*ebP1qO?oE2IueMO}lsENVT)z4*} HQ$iB}r_deI literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_sealed.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_sealed.png new file mode 100644 index 0000000000000000000000000000000000000000..b1bd1250726e7387b0035e3943cb13956e8b80ef GIT binary patch literal 358 zcmV-s0h#`ZP)Px$AW1|)R5*>zks)rwFc?OktB{hgQm3p6*##zro9qH+C1trqdD)Z$gpN&CX{27k z(b$qBbYLXXKT@Y@nsj7fAF?dJXMexpU&mT2)>?UVCYl2QvMdW*QkJFqRWJm#))-@y zb51UzNr{>Q0gN&I;i4!6psFgyl0_cH@>P~Mw*ollB*0ZwQP(wDmNA~m;@F*eUarwv zlOzewIWfklwr#Q2N&pXsgVI{xNff{aWV>AR^!7@UB<%NlR;v|hn%>O97^7zEY(VlT zmKTtsC?r%E)^W~>_g=jB5=8wke1M`m%XUy_81KCRG)+U>w!H6lx<_EL&@p;a}o@h6$D9GkHJ674=8k`XRJ+67ytkO07*qoM6N<$ Ef(z}IqyPW_ literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_sealed_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_spellbook_sealed_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..0f871bb828899a5a0b3b2a352d6f3fe3699e0727 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|96VhdLo9le z6C_wG4*vZ7{J(I};TG?tXJ=;qpP0ERNA(zMMXtJv+oshXWf#xPH2#0sWa87N&(F{Q hUw-1{;sy%_hL@JwwLK#DmjlgW@O1TaS?83{1OW0#GB5xD literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_trinket.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_trinket.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ac4bf1a5e482e428f866d223f3730dd242cf01 GIT binary patch literal 369 zcmV-%0gnEOP)Px$D@jB_R5*>zlCes}Komu9#C8iI*eon;l|n%Tr`XmHFpc$mK$;Z(f@~qAwKXth z{voZf6O4-lCRm7q`GJ6yn`<>g5_b!&_Ez)mn|EgBy#e-GNmMY23jVv8n~I%o7>C*4 zAhy^7I^FPkakmw6FgAn`1OPrAId5G}2DzO8DJ7Ls`1pK-h1g;MP)b2cIe;AY1K;-% z1Ob2-=bfFj0D$T796=Dk_x-KU9^Aqh!!m8z>4s(6GKmTrV>mwjm*OyEryB|(*y+ZB z%Cw~rg4|TQClZI*pz~$gQc6jZ4q_+LhqxxrrgH~dR}2em*k3G9cqJsSd0K9)^&{})rPqa9{#LfMMhrQ4b?l8xSD`6j6 P00000NkvXXu0mjfI53`@ literal 0 HcmV?d00001 diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_trinket_overlay.png b/Common/src/main/resources/assets/hexcasting/textures/item/cad/7_trinket_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..38148c0fdc05557607f42b711ba702abc965d4fe GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|oIG6|Lo9mV zPS_}Tz<`Ho=No&D$1DEi7ChJLT~qQgJcPgfi|ICFAqL%ppRe7EOSE=qP`UXt!sJ)t jmqwM)tA#(G?$^1u+W7Id_rD#1rZITB`njxgN@xNA246C> literal 0 HcmV?d00001 diff --git a/Forge/src/generated/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json b/Forge/src/generated/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json index 675296c5..7a23dc1e 100644 --- a/Forge/src/generated/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json +++ b/Forge/src/generated/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json @@ -1,6 +1,6 @@ { "values": [ - "hexcasting:conjured", + "hexcasting:conjured_light", "hexcasting:conjured_block", "hexcasting:amethyst_tiles", "hexcasting:amethyst_sconce" diff --git a/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java b/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java index e87b56b4..accd53e6 100644 --- a/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java +++ b/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java @@ -106,12 +106,12 @@ public class HexItemModels extends PaucalItemModelProvider { simpleItem(modLoc("patchouli_book")); buildThoughtKnot(); - buildSealableIotaHolder(HexItems.FOCUS, "focus"); - buildSealableIotaHolder(HexItems.SPELLBOOK, "spellbook"); + buildSealableIotaHolder(HexItems.FOCUS, "focus", HexItems.FOCUS.numVariants()); + buildSealableIotaHolder(HexItems.SPELLBOOK, "spellbook", HexItems.SPELLBOOK.numVariants()); - buildPackagedSpell(HexItems.CYPHER, "cypher"); - buildPackagedSpell(HexItems.TRINKET, "trinket"); - buildPackagedSpell(HexItems.ARTIFACT, "artifact"); + buildPackagedSpell(HexItems.CYPHER, "cypher", HexItems.CYPHER.numVariants()); + buildPackagedSpell(HexItems.TRINKET, "trinket", HexItems.TRINKET.numVariants()); + buildPackagedSpell(HexItems.ARTIFACT, "artifact", HexItems.ARTIFACT.numVariants()); int maxFill = 4; for (int size = 0; size < PHIAL_SIZES.length; size++) { @@ -194,23 +194,27 @@ public class HexItemModels extends PaucalItemModelProvider { .model(written).end(); } - private void buildSealableIotaHolder(Item item, String stub) { + private void buildSealableIotaHolder(Item item, String stub, int numVariants) { var name = getPath(item); - var plain = singleTexture(name, new ResourceLocation("item/generated"), - "layer0", modLoc("item/" + stub + "_empty")); - var unsealed = withExistingParent(name + "_filled", new ResourceLocation("item/generated")) - .texture("layer0", modLoc("item/" + stub + "_base")) - .texture("layer1", modLoc("item/" + stub) + "_overlay"); - var sealed = withExistingParent(name + "_sealed", new ResourceLocation("item/generated")) - .texture("layer0", modLoc("item/" + stub + "_base_sealed")) - .texture("layer1", modLoc("item/" + stub) + "_overlay_sealed"); - getBuilder(name) - .override().predicate(ItemFocus.OVERLAY_PRED, 0f) - .model(plain).end() - .override().predicate(ItemFocus.OVERLAY_PRED, 1f) - .model(unsealed).end() - .override().predicate(ItemFocus.OVERLAY_PRED, 2f) - .model(sealed).end(); + var builder = getBuilder(name); + for (int i = 0; i < numVariants; i++) { + var plain = i == 0 ? singleTexture(name, new ResourceLocation("item/generated"), + "layer0", modLoc("item/cad/" + i + "_" + stub + "_empty")) + : withExistingParent(name + "_" + i, new ResourceLocation("item/generated")) + .texture("layer0", modLoc("item/cad/" + i + "_" + stub + "_empty")); + var unsealed = withExistingParent(name + "_" + i + "_filled", new ResourceLocation("item/generated")) + .texture("layer0", modLoc("item/cad/" + i + "_" + stub + "_filled")) + .texture("layer1", modLoc("item/cad/" + i + "_" + stub + "_filled_overlay")); + var sealed = withExistingParent(name + "_" + i + "_sealed", new ResourceLocation("item/generated")) + .texture("layer0", modLoc("item/cad/" + i + "_" + stub + "_sealed")) + .texture("layer1", modLoc("item/cad/" + i + "_" + stub + "_sealed_overlay")); + builder.override().predicate(ItemFocus.VARIANT_PRED, i).predicate(ItemFocus.OVERLAY_PRED, 0f) + .model(plain).end() + .override().predicate(ItemFocus.VARIANT_PRED, i).predicate(ItemFocus.OVERLAY_PRED, 1f) + .model(unsealed).end() + .override().predicate(ItemFocus.VARIANT_PRED, i).predicate(ItemFocus.OVERLAY_PRED, 2f) + .model(sealed).end(); + } } private void buildScroll(Item item, String size) { @@ -238,18 +242,22 @@ public class HexItemModels extends PaucalItemModelProvider { .end(); } - private void buildPackagedSpell(Item item, String name) { - simpleItem(modLoc(name)); - simpleItem(modLoc(name + "_filled")); - getBuilder(getPath(item)) - .override() - .predicate(ItemPackagedHex.HAS_PATTERNS_PRED, -0.01f) - .model(new ModelFile.UncheckedModelFile(modLoc("item/" + name))) - .end() - .override() - .predicate(ItemPackagedHex.HAS_PATTERNS_PRED, 1f - 0.01f) - .model(new ModelFile.UncheckedModelFile(modLoc("item/" + name + "_filled"))) - .end(); + private void buildPackagedSpell(Item item, String stub, int numVariants) { + var name = getPath(item); + var builder = getBuilder(name); + for (int i = 0; i < numVariants; i++) { + var plain = i == 0 ? singleTexture(name, new ResourceLocation("item/generated"), + "layer0", modLoc("item/cad/" + i + "_" + stub)) + : withExistingParent(name + "_" + i, new ResourceLocation("item/generated")) + .texture("layer0", modLoc("item/cad/" + i + "_" + stub)); + var filled = withExistingParent(name + "_" + i + "_filled", new ResourceLocation("item/generated")) + .texture("layer0", modLoc("item/cad/" + i + "_" + stub)) + .texture("layer1", modLoc("item/cad/" + i + "_" + stub + "_overlay")); + builder.override().predicate(ItemFocus.VARIANT_PRED, i).predicate(ItemPackagedHex.HAS_PATTERNS_PRED, -0.01f) + .model(plain).end() + .override().predicate(ItemFocus.VARIANT_PRED, i).predicate(ItemPackagedHex.HAS_PATTERNS_PRED, 1f - 0.01f) + .model(filled).end(); + } } private void buildFourVariantGaslight(String name, String path,