diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 2f001f23..44bac248 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -65,8 +65,38 @@ a165e3959b7d0c37bea586d0e94609b483255569 data/hexcasting/advancements/enlightenm eb6393ffc79966e4b5983a68157742b78cd12414 data/hexcasting/advancements/opened_eyes.json af81f4442801d794920d6330d82cb1289a78f236 data/hexcasting/advancements/recipes/hexcasting/artifact.json 7e4de1f72dd75e3efea6e879e1be15fa4216bd4b data/hexcasting/advancements/recipes/hexcasting/cypher.json +29260d23193f414236b0278a5abd7fe1f7ba8b46 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_black.json +b519fd81671c9cb8d909bbfd0d4017d2005432d3 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_blue.json +310e2440f26f130c81d32d9fcd93a3384c2b1e72 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_brown.json +a27a2514fd3acb6cf0a4f2a6b176ca4c2a3ee064 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_cyan.json +0e95c5f97c4089d654334a0d58fbf2b808548bd0 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_gray.json +076dd8bb2ce1508293384fa93fa138a369d10751 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_green.json +c3aed1dbaa46e084711a116d1bb4522df9a7405a data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_blue.json +6837c1fe0ab23167ca8475086b28115369227e0c data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_gray.json +918075a87ccc30a489aa8cafa2de992dd179aeac data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_lime.json +cf855b595844c6f2522c0ad18030519279b396ad data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_magenta.json +484be1c50092772587dd18769e63ee3ab22ad971 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_orange.json +339dc062b4d8d0c4fa2d1eccd2935b4c37ec75c6 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_pink.json +d6dfd0c6e995270868cb90de818d24b8a667fd01 data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_purple.json +b0b1c5fff194b92ff8c5d6468e177271fd910abd data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_red.json +ccc33b4f1a43c8ecd3352ad36ae2dd2191317b5b data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_white.json +9c857c4aeda8a1b3d7a1b5d341871a9434b5816f data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_yellow.json 0655dfb9f39d662b9b4084c6fa1881777ef5bcdb data/hexcasting/advancements/recipes/hexcasting/focus.json 0c792569bbaf3b30a78a378f6eb192cbd5e304a1 data/hexcasting/advancements/recipes/hexcasting/lens.json +e6d89fba01472d10608a30d005ec8873abee6ffa data/hexcasting/advancements/recipes/hexcasting/political_colorizer_0.json +17e213d276a1827fcfd70ae7c821f12a334aa15a data/hexcasting/advancements/recipes/hexcasting/political_colorizer_1.json +765f41c74c0238ac65a9f2f4d8b62e8ebff68c4a data/hexcasting/advancements/recipes/hexcasting/political_colorizer_10.json +131735f5c81350d9b27b85b13cea8d55a335ed75 data/hexcasting/advancements/recipes/hexcasting/political_colorizer_11.json +0ebeb273a9f76b464832f3beeee6c1da64d00d43 data/hexcasting/advancements/recipes/hexcasting/political_colorizer_12.json +d2a52ccbc66b46f0e8f1df76d72166c291678cd7 data/hexcasting/advancements/recipes/hexcasting/political_colorizer_13.json +65aeb3574636d2cdbb653f713c2181cda3d8d6fc data/hexcasting/advancements/recipes/hexcasting/political_colorizer_2.json +11c0bdcfc07c67dd273793235151f83544834be2 data/hexcasting/advancements/recipes/hexcasting/political_colorizer_3.json +b624feda5c7a9c6487ba8e08085af449d5f7d2a9 data/hexcasting/advancements/recipes/hexcasting/political_colorizer_4.json +93e1e631f0a7247acd11c0377a737f323c6895b4 data/hexcasting/advancements/recipes/hexcasting/political_colorizer_5.json +bfe2df4e6823b83c83e4b8fe6ceba7668eebf0ee data/hexcasting/advancements/recipes/hexcasting/political_colorizer_6.json +0b6d8ebdb341b0205b0c85d9f875eab37e28ae0f data/hexcasting/advancements/recipes/hexcasting/political_colorizer_7.json +00b6e53c8012fe17e7fedf8e5244ccce3be57285 data/hexcasting/advancements/recipes/hexcasting/political_colorizer_8.json +95359cc6ae6730bfa6b044f1256bfa67fed2cf8a data/hexcasting/advancements/recipes/hexcasting/political_colorizer_9.json cd3ca380294544b07e91ce85d97808c30ffa5d17 data/hexcasting/advancements/recipes/hexcasting/spellbook.json 59000d9f3edb942081f7d1e03d753e9cd59690cc data/hexcasting/advancements/recipes/hexcasting/sub_sandwich.json e0954b5771ab64014fe3a0269db6ab0699e3e6f8 data/hexcasting/advancements/recipes/hexcasting/trinket.json @@ -82,8 +112,38 @@ afecba3144e00505977a4ab4de7940f949ab7818 data/hexcasting/loot_modifiers/scroll_d 7ffa361bd8a108b504fe450749b42997dc898e5e data/hexcasting/loot_modifiers/scroll_stronghold_library.json 2a8ed63d969c2a7ce3e49f87018374c4c5cb56d0 data/hexcasting/recipes/artifact.json 27164ae64cf43091f25946cc15dfcace2c903b2b data/hexcasting/recipes/cypher.json +33fed8fb8e34df026e1eea0df8161c7f842a8648 data/hexcasting/recipes/dye_colorizer_black.json +c36caf44a941a4abc44a15141eba8fe634c76fb8 data/hexcasting/recipes/dye_colorizer_blue.json +91348d69c8a49eae2bbaf9fb00b9604c43716527 data/hexcasting/recipes/dye_colorizer_brown.json +e4ef73afbd13a579493f45929c3f7adb8aa86dc2 data/hexcasting/recipes/dye_colorizer_cyan.json +c471220e70ee9ecbf58a21ea1d28e653efcc4fad data/hexcasting/recipes/dye_colorizer_gray.json +fe5f10e9258f430859f1f1f87320a2b5c7b67654 data/hexcasting/recipes/dye_colorizer_green.json +06a4f3776d2bb8f294737d100143a0914342310a data/hexcasting/recipes/dye_colorizer_light_blue.json +25f5d03a6f4290bbbe86c9cac5604b1e8a49ad84 data/hexcasting/recipes/dye_colorizer_light_gray.json +4fad619e1330e938d2e2596fc8fd4e5050a8b40e data/hexcasting/recipes/dye_colorizer_lime.json +386f1b0f7676324186d0694de3c86a77fac5ce98 data/hexcasting/recipes/dye_colorizer_magenta.json +6f1c0a84236b1e3cb4352d87bf3d553eb7e1a938 data/hexcasting/recipes/dye_colorizer_orange.json +fe8a7288aa27c07932a31c64ff8fadb943b278d5 data/hexcasting/recipes/dye_colorizer_pink.json +16fd879351f390bfa980a5f4d77e32f576de2f66 data/hexcasting/recipes/dye_colorizer_purple.json +29559dc2a5c4e189ab7edfbb71fed0a84dd96d45 data/hexcasting/recipes/dye_colorizer_red.json +bc79add419b8791e68b35076355fea11dfc640c6 data/hexcasting/recipes/dye_colorizer_white.json +c5341777604a4be5a311e300a4de89967b7caad2 data/hexcasting/recipes/dye_colorizer_yellow.json 91d690ba6ad40da05111aff1ea5804c859618986 data/hexcasting/recipes/focus.json 3a47933ad88386e7e70712d9db682f0a987afeda data/hexcasting/recipes/lens.json +57963997e80645a8febd0132fe0fdbac65cb5ecf data/hexcasting/recipes/political_colorizer_0.json +302528cf1c702e6bad89146b355b8e3168853904 data/hexcasting/recipes/political_colorizer_1.json +8c7bbc25127ef217de8a5c85ee927b366b8b6a5e data/hexcasting/recipes/political_colorizer_10.json +672e5180f702d4fb8540181badbda67f74868bd8 data/hexcasting/recipes/political_colorizer_11.json +7be9d0d43a37692982922565ed3e0670101fe2a9 data/hexcasting/recipes/political_colorizer_12.json +b8258dccef1cf0d307b2fe60a240b3ca7b47c69d data/hexcasting/recipes/political_colorizer_13.json +740d139c61d9edc1df29d71046e395ae0fcc73b7 data/hexcasting/recipes/political_colorizer_2.json +1b8b7bc76992cc4e777d4f1240b1bdbfab58fee2 data/hexcasting/recipes/political_colorizer_3.json +353ab723af89fc3ffcae5a93d1659555affc3135 data/hexcasting/recipes/political_colorizer_4.json +457a7e687e1796c72722e6fbdbdfb9eaf347b259 data/hexcasting/recipes/political_colorizer_5.json +effb374f850b3627e84a490808bb37f37a761fb9 data/hexcasting/recipes/political_colorizer_6.json +fb8f7113d9e0e1376fd5a0eb4e282db63079cdd8 data/hexcasting/recipes/political_colorizer_7.json +4cbdc6a6d707b2ff055d0baab2ecb6ad9e991055 data/hexcasting/recipes/political_colorizer_8.json +65a1cd7644cb8c996a51b6c0483a6afa915ff0b9 data/hexcasting/recipes/political_colorizer_9.json 4f06f5f4ae181c8bb6b993d7b6047cd9ca7afbce data/hexcasting/recipes/spellbook.json d14cf2f8f0895a5b6dc09b7582c0abf1c2514adf data/hexcasting/recipes/sub_sandwich.json 33b9d3a5e65343fc0e442e17d55a1eaa08943c8f data/hexcasting/recipes/trinket.json diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_black.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_black.json new file mode 100644 index 00000000..c20ed581 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_black.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_black" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_black" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_blue.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_blue.json new file mode 100644 index 00000000..027ae20d --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_blue.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_blue" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_blue" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_brown.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_brown.json new file mode 100644 index 00000000..3e24afcd --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_brown.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_brown" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_brown" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_cyan.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_cyan.json new file mode 100644 index 00000000..f599f7b7 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_cyan.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_cyan" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_cyan" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_gray.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_gray.json new file mode 100644 index 00000000..dfa20314 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_gray.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_gray" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_gray" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_green.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_green.json new file mode 100644 index 00000000..9461e189 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_green.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_green" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_green" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_blue.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_blue.json new file mode 100644 index 00000000..b92528b6 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_blue.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_light_blue" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_light_blue" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_gray.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_gray.json new file mode 100644 index 00000000..11702b27 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_light_gray.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_light_gray" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_light_gray" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_lime.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_lime.json new file mode 100644 index 00000000..9a9d85ce --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_lime.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_lime" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_lime" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_magenta.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_magenta.json new file mode 100644 index 00000000..796f4771 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_magenta.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_magenta" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_magenta" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_orange.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_orange.json new file mode 100644 index 00000000..9737a37c --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_orange.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_orange" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_orange" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_pink.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_pink.json new file mode 100644 index 00000000..a11eb310 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_pink.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_pink" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_pink" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_purple.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_purple.json new file mode 100644 index 00000000..4c94d7da --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_purple.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_purple" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_purple" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_red.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_red.json new file mode 100644 index 00000000..50a58ced --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_red.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_red" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_red" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_white.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_white.json new file mode 100644 index 00000000..8b7af45e --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_white.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_white" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_white" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_yellow.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_yellow.json new file mode 100644 index 00000000..36b06f5e --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/dye_colorizer_yellow.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:dye_colorizer_yellow" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:dye_colorizer_yellow" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_0.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_0.json new file mode 100644 index 00000000..b34d03ea --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_0.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_0" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_0" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_1.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_1.json new file mode 100644 index 00000000..ab068b34 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_1.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_1" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_1" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_10.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_10.json new file mode 100644 index 00000000..fe5859d0 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_10.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_10" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_10" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_11.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_11.json new file mode 100644 index 00000000..32fac2e9 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_11.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_11" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_11" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_12.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_12.json new file mode 100644 index 00000000..95667340 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_12.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_12" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_12" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_13.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_13.json new file mode 100644 index 00000000..985a56cf --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_13.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_13" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_13" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_2.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_2.json new file mode 100644 index 00000000..427df7a4 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_2.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_2" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_2" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_3.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_3.json new file mode 100644 index 00000000..a45b4d79 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_3.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_3" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_3" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_4.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_4.json new file mode 100644 index 00000000..0a6d9b18 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_4.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_4" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_4" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_5.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_5.json new file mode 100644 index 00000000..48f4a264 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_5.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_5" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_5" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_6.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_6.json new file mode 100644 index 00000000..2f293fee --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_6.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_6" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_6" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_7.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_7.json new file mode 100644 index 00000000..d372c731 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_7.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_7" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_7" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_8.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_8.json new file mode 100644 index 00000000..ba14c59a --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_8.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_8" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_8" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_9.json b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_9.json new file mode 100644 index 00000000..c95e75a1 --- /dev/null +++ b/src/generated/resources/data/hexcasting/advancements/recipes/hexcasting/political_colorizer_9.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "hexcasting:political_colorizer_9" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "hexcasting:amethyst_dust" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "hexcasting:political_colorizer_9" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_black.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_black.json new file mode 100644 index 00000000..caf8f0b1 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_black.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:black_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_black" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_blue.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_blue.json new file mode 100644 index 00000000..66bed974 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_blue.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:blue_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_blue" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_brown.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_brown.json new file mode 100644 index 00000000..1d78857d --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_brown.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:brown_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_brown" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_cyan.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_cyan.json new file mode 100644 index 00000000..8c9cfed2 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_cyan.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:cyan_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_cyan" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_gray.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_gray.json new file mode 100644 index 00000000..b1ee5991 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_gray.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:gray_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_gray" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_green.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_green.json new file mode 100644 index 00000000..4cd95563 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_green.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:green_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_green" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_light_blue.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_light_blue.json new file mode 100644 index 00000000..25a7197c --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_light_blue.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:light_blue_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_light_blue" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_light_gray.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_light_gray.json new file mode 100644 index 00000000..368700cf --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_light_gray.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:light_gray_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_light_gray" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_lime.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_lime.json new file mode 100644 index 00000000..5f76b5d7 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_lime.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:lime_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_lime" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_magenta.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_magenta.json new file mode 100644 index 00000000..6f6d2b12 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_magenta.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:magenta_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_magenta" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_orange.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_orange.json new file mode 100644 index 00000000..7d773eaa --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_orange.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:orange_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_orange" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_pink.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_pink.json new file mode 100644 index 00000000..22ed9a0c --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_pink.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:pink_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_pink" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_purple.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_purple.json new file mode 100644 index 00000000..ff457f3f --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_purple.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:purple_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_purple" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_red.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_red.json new file mode 100644 index 00000000..a51c335a --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_red.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:red_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_red" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_white.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_white.json new file mode 100644 index 00000000..f77b7214 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_white.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:white_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_white" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/dye_colorizer_yellow.json b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_yellow.json new file mode 100644 index 00000000..28a2b452 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/dye_colorizer_yellow.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:yellow_dye" + } + }, + "result": { + "item": "hexcasting:dye_colorizer_yellow" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_0.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_0.json new file mode 100644 index 00000000..c1907d2b --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_0.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:egg" + } + }, + "result": { + "item": "hexcasting:political_colorizer_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_1.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_1.json new file mode 100644 index 00000000..c0fbfc8f --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_1.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:stone_brick_wall" + } + }, + "result": { + "item": "hexcasting:political_colorizer_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_10.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_10.json new file mode 100644 index 00000000..48ae99b3 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_10.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:raw_iron" + } + }, + "result": { + "item": "hexcasting:political_colorizer_10" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_11.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_11.json new file mode 100644 index 00000000..44a87c50 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_11.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:water_bucket" + } + }, + "result": { + "item": "hexcasting:political_colorizer_11" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_12.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_12.json new file mode 100644 index 00000000..0e0b4173 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_12.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:ender_pearl" + } + }, + "result": { + "item": "hexcasting:political_colorizer_12" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_13.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_13.json new file mode 100644 index 00000000..4afff919 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_13.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:arrow" + } + }, + "result": { + "item": "hexcasting:political_colorizer_13" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_2.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_2.json new file mode 100644 index 00000000..03d38dc6 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_2.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:glass" + } + }, + "result": { + "item": "hexcasting:political_colorizer_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_3.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_3.json new file mode 100644 index 00000000..ae0f00aa --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_3.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:bread" + } + }, + "result": { + "item": "hexcasting:political_colorizer_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_4.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_4.json new file mode 100644 index 00000000..8b626a16 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_4.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:wheat" + } + }, + "result": { + "item": "hexcasting:political_colorizer_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_5.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_5.json new file mode 100644 index 00000000..ddf75995 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_5.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:carrot" + } + }, + "result": { + "item": "hexcasting:political_colorizer_5" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_6.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_6.json new file mode 100644 index 00000000..d11251e1 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_6.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:glass_bottle" + } + }, + "result": { + "item": "hexcasting:political_colorizer_6" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_7.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_7.json new file mode 100644 index 00000000..2ac29a7f --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_7.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:raw_copper" + } + }, + "result": { + "item": "hexcasting:political_colorizer_7" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_8.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_8.json new file mode 100644 index 00000000..f7c3ae17 --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_8.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:stone" + } + }, + "result": { + "item": "hexcasting:political_colorizer_8" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/hexcasting/recipes/political_colorizer_9.json b/src/generated/resources/data/hexcasting/recipes/political_colorizer_9.json new file mode 100644 index 00000000..5624c80b --- /dev/null +++ b/src/generated/resources/data/hexcasting/recipes/political_colorizer_9.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + " D ", + " B " + ], + "key": { + "B": { + "item": "minecraft:bowl" + }, + "D": { + "item": "hexcasting:amethyst_dust" + }, + "C": { + "item": "minecraft:honeycomb" + } + }, + "result": { + "item": "hexcasting:political_colorizer_9" + } +} \ No newline at end of file diff --git a/src/main/java/at/petrak/hexcasting/HexMod.kt b/src/main/java/at/petrak/hexcasting/HexMod.kt index 48caab55..e7393f5a 100644 --- a/src/main/java/at/petrak/hexcasting/HexMod.kt +++ b/src/main/java/at/petrak/hexcasting/HexMod.kt @@ -6,7 +6,6 @@ import at.petrak.hexcasting.client.RegisterClientStuff import at.petrak.hexcasting.common.ContributorList import at.petrak.hexcasting.common.casting.RegisterPatterns import at.petrak.hexcasting.common.casting.operators.spells.great.OpFlight -import at.petrak.hexcasting.common.casting.operators.spells.sentinel.CapSentinel import at.petrak.hexcasting.common.command.HexCommands import at.petrak.hexcasting.common.items.HexItems import at.petrak.hexcasting.common.items.ItemScroll @@ -61,7 +60,6 @@ object HexMod { evBus.register(ClientTickCounter::class.java) evBus.register(HexCapabilities::class.java) evBus.register(OpFlight) - evBus.register(CapSentinel::class.java) evBus.register(ItemScroll::class.java) evBus.register(HexAdditionalRenderers::class.java) diff --git a/src/main/java/at/petrak/hexcasting/client/HexAdditionalRenderers.java b/src/main/java/at/petrak/hexcasting/client/HexAdditionalRenderers.java index 239c0451..c4c19eaa 100644 --- a/src/main/java/at/petrak/hexcasting/client/HexAdditionalRenderers.java +++ b/src/main/java/at/petrak/hexcasting/client/HexAdditionalRenderers.java @@ -66,7 +66,7 @@ public class HexAdditionalRenderers { RenderSystem.setShader(GameRenderer::getRendertypeLinesShader); RenderSystem.disableDepthTest(); RenderSystem.disableCull(); - RenderSystem.lineWidth(5f); + RenderSystem.lineWidth(15f); var maybeColorizerCap = owner.getCapability(HexCapabilities.PREFERRED_COLORIZER).resolve(); CapPreferredColorizer cap = null; diff --git a/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/OpAddMotion.kt b/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/OpAddMotion.kt index 81387947..f5179835 100644 --- a/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/OpAddMotion.kt +++ b/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/OpAddMotion.kt @@ -21,7 +21,7 @@ object OpAddMotion : SpellOperator { val motion = args.getChecked(1) return Pair( Spell(target, motion), - (motion.length() * 10_000f).toInt() + (motion.lengthSqr() * 10_000f).toInt() ) } diff --git a/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/sentinel/CapSentinel.java b/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/sentinel/CapSentinel.java index 65023cbf..762f6b1a 100644 --- a/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/sentinel/CapSentinel.java +++ b/src/main/java/at/petrak/hexcasting/common/casting/operators/spells/sentinel/CapSentinel.java @@ -2,18 +2,12 @@ package at.petrak.hexcasting.common.casting.operators.spells.sentinel; import at.petrak.hexcasting.HexUtils; import at.petrak.hexcasting.common.lib.HexCapabilities; -import at.petrak.hexcasting.common.network.HexMessages; -import at.petrak.hexcasting.common.network.MsgSentinelStatusUpdateAck; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.phys.Vec3; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.ICapabilitySerializable; import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.event.entity.player.PlayerEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.network.PacketDistributor; import org.jetbrains.annotations.NotNull; // it *really* doesn't like this being kotlin @@ -55,32 +49,4 @@ public class CapSentinel implements ICapabilitySerializable { this.extendsRange = tag.getBoolean(TAG_EXTENDS_RANGE); this.position = HexUtils.DeserializeVec3FromNBT(tag.getLongArray(TAG_POSITION)); } - - @SubscribeEvent - public void syncSentinelToClient(PlayerEvent evt) { - var player = evt.getPlayer(); - // this apparently defines it in outside scope. the more you know. - if (!(player instanceof ServerPlayer splayer)) { - return; - } - - var doSync = false; - if (evt instanceof PlayerEvent.PlayerLoggedInEvent) { - doSync = true; - } else if (evt instanceof PlayerEvent.Clone clone) { - doSync = clone.isWasDeath(); - } - - if (doSync) { - var maybeCap = splayer.getCapability(HexCapabilities.SENTINEL).resolve(); - if (maybeCap.isEmpty()) { - return; - } - - var cap = maybeCap.get(); - - HexMessages.getNetwork() - .send(PacketDistributor.PLAYER.with(() -> splayer), new MsgSentinelStatusUpdateAck(cap)); - } - } } diff --git a/src/main/java/at/petrak/hexcasting/common/items/HexItems.java b/src/main/java/at/petrak/hexcasting/common/items/HexItems.java index 1732c43c..c9e9fedd 100644 --- a/src/main/java/at/petrak/hexcasting/common/items/HexItems.java +++ b/src/main/java/at/petrak/hexcasting/common/items/HexItems.java @@ -31,7 +31,7 @@ public class HexItems { } }; - public static final RegistryObject WAND = ITEMS.register(HexItemNames.WAND, + public static final RegistryObject WAND = ITEMS.register(HexItemNames.WAND, () -> new ItemWand(unstackable())); public static final RegistryObject AMETHYST_DUST = ITEMS.register(HexItemNames.AMETHYST_DUST, @@ -44,20 +44,20 @@ public class HexItems { public static final RegistryObject SCROLL = ITEMS.register(HexItemNames.SCROLL, () -> new ItemScroll(unstackable())); - public static final RegistryObject FOCUS = ITEMS.register(HexItemNames.FOCUS, + public static final RegistryObject FOCUS = ITEMS.register(HexItemNames.FOCUS, () -> new ItemFocus(props())); - public static final RegistryObject SPELLBOOK = ITEMS.register(HexItemNames.SPELLBOOK, + public static final RegistryObject SPELLBOOK = ITEMS.register(HexItemNames.SPELLBOOK, () -> new ItemSpellbook(unstackable())); - public static final RegistryObject CYPHER = ITEMS.register(HexItemNames.CYPHER, + public static final RegistryObject CYPHER = ITEMS.register(HexItemNames.CYPHER, () -> new ItemCypher(unstackable())); - public static final RegistryObject TRINKET = ITEMS.register(HexItemNames.TRINKET, + public static final RegistryObject TRINKET = ITEMS.register(HexItemNames.TRINKET, () -> new ItemTrinket(unstackable())); - public static final RegistryObject ARTIFACT = ITEMS.register(HexItemNames.ARTIFACT, + public static final RegistryObject ARTIFACT = ITEMS.register(HexItemNames.ARTIFACT, () -> new ItemArtifact(unstackable())); - public static final RegistryObject[] DYE_COLORIZERS = new RegistryObject[16]; - public static final RegistryObject[] POLITICAL_COLORIZERS = new RegistryObject[14]; + public static final RegistryObject[] DYE_COLORIZERS = new RegistryObject[16]; + public static final RegistryObject[] POLITICAL_COLORIZERS = new RegistryObject[14]; static { for (int i = 0; i < DYE_COLORIZERS.length; i++) { diff --git a/src/main/java/at/petrak/hexcasting/common/lib/HexCapabilities.java b/src/main/java/at/petrak/hexcasting/common/lib/HexCapabilities.java index 702d620e..13818baf 100644 --- a/src/main/java/at/petrak/hexcasting/common/lib/HexCapabilities.java +++ b/src/main/java/at/petrak/hexcasting/common/lib/HexCapabilities.java @@ -5,7 +5,11 @@ import at.petrak.hexcasting.common.casting.colors.CapPreferredColorizer; import at.petrak.hexcasting.common.casting.operators.spells.great.OpFlight; import at.petrak.hexcasting.common.casting.operators.spells.sentinel.CapSentinel; import at.petrak.hexcasting.common.items.HexItems; +import at.petrak.hexcasting.common.network.HexMessages; +import at.petrak.hexcasting.common.network.MsgColorizerUpdateAck; +import at.petrak.hexcasting.common.network.MsgSentinelStatusUpdateAck; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -15,7 +19,9 @@ import net.minecraftforge.common.capabilities.CapabilityManager; import net.minecraftforge.common.capabilities.CapabilityToken; import net.minecraftforge.common.capabilities.RegisterCapabilitiesEvent; import net.minecraftforge.event.AttachCapabilitiesEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.network.PacketDistributor; public class HexCapabilities { public static final Capability FLIGHT = CapabilityManager.get(new CapabilityToken<>() { @@ -30,6 +36,7 @@ public class HexCapabilities { public static void registerCaps(RegisterCapabilitiesEvent evt) { evt.register(OpFlight.CapFlight.class); evt.register(CapSentinel.class); + evt.register(CapPreferredColorizer.class); } @SubscribeEvent @@ -44,4 +51,36 @@ public class HexCapabilities { new CapPreferredColorizer(new ItemStack(HexItems.DYE_COLORIZERS[0].get()))); } } + + @SubscribeEvent + public static void syncCapToNewPlayer(PlayerEvent evt) { + var player = evt.getPlayer(); + // this apparently defines it in outside scope. the more you know. + if (!(player instanceof ServerPlayer splayer)) { + return; + } + + var doSync = false; + if (evt instanceof PlayerEvent.PlayerLoggedInEvent) { + doSync = true; + } else if (evt instanceof PlayerEvent.Clone clone) { + doSync = clone.isWasDeath(); + } + + if (doSync) { + var capSentinel = splayer.getCapability(HexCapabilities.SENTINEL).resolve(); + if (capSentinel.isEmpty()) { + return; + } + HexMessages.getNetwork() + .send(PacketDistributor.PLAYER.with(() -> splayer), new MsgSentinelStatusUpdateAck(capSentinel.get())); + + var capColorizer = splayer.getCapability(HexCapabilities.PREFERRED_COLORIZER).resolve(); + if (capColorizer.isEmpty()) { + return; + } + HexMessages.getNetwork() + .send(PacketDistributor.PLAYER.with(() -> splayer), new MsgColorizerUpdateAck(capColorizer.get())); + } + } } diff --git a/src/main/java/at/petrak/hexcasting/datagen/Recipes.java b/src/main/java/at/petrak/hexcasting/datagen/Recipes.java index a4afd2ae..2f636c1d 100644 --- a/src/main/java/at/petrak/hexcasting/datagen/Recipes.java +++ b/src/main/java/at/petrak/hexcasting/datagen/Recipes.java @@ -5,6 +5,9 @@ import net.minecraft.data.DataGenerator; import net.minecraft.data.recipes.FinishedRecipe; import net.minecraft.data.recipes.RecipeProvider; import net.minecraft.data.recipes.ShapedRecipeBuilder; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.DyeItem; +import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraftforge.common.Tags; @@ -99,5 +102,52 @@ public class Recipes extends RecipeProvider { .pattern(" C ") .pattern(" B ") .unlockedBy("has_item", has(Items.AMETHYST_SHARD)).save(recipes); + + for (var dyeColorizer : HexItems.DYE_COLORIZERS) { + var item = dyeColorizer.get(); + ShapedRecipeBuilder.shaped(item) + .define('B', Items.BOWL) + .define('D', HexItems.AMETHYST_DUST.get()) + .define('C', DyeItem.byColor(DyeColor.values()[item.getDyeIdx()])) + .pattern(" C ") + .pattern(" D ") + .pattern(" B ") + .unlockedBy("has_item", has(HexItems.AMETHYST_DUST.get())).save(recipes); + } + Item[] politicsInMyVidya = new Item[]{ + Items.EGG, + Items.STONE_BRICK_WALL, + Items.GLASS, + Items.BREAD, + Items.WHEAT, + Items.CARROT, + Items.GLASS_BOTTLE, + Items.RAW_COPPER, + Items.STONE, + Items.HONEYCOMB, + Items.RAW_IRON, + Items.WATER_BUCKET, + Items.ENDER_PEARL, + Items.ARROW, + }; + for (int i = 0; i < politicsInMyVidya.length; i++) { + var item = HexItems.POLITICAL_COLORIZERS[i].get(); + ShapedRecipeBuilder.shaped(item) + .define('B', Items.BOWL) + .define('D', HexItems.AMETHYST_DUST.get()) + .define('C', politicsInMyVidya[i]) + .pattern(" C ") + .pattern(" D ") + .pattern(" B ") + .unlockedBy("has_item", has(HexItems.AMETHYST_DUST.get())).save(recipes); + } + ShapedRecipeBuilder.shaped(HexItems.UUID_COLORIZER.get()) + .define('B', Items.BOWL) + .define('D', HexItems.AMETHYST_DUST.get()) + .define('C', Items.AMETHYST_SHARD) + .pattern(" C ") + .pattern(" D ") + .pattern(" B ") + .unlockedBy("has_item", has(HexItems.AMETHYST_DUST.get())).save(recipes); } } diff --git a/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/items/pigments.json b/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/items/pigments.json index bfa2334f..2cb28ce0 100644 --- a/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/items/pigments.json +++ b/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/items/pigments.json @@ -1,14 +1,80 @@ { "name": "Pigments", "category": "hexcasting:items", - "icon": "hexcasting:uuid_pigment", + "icon": "hexcasting:uuid_colorizer", "sortnum": 5, "advancement": "hexcasting:root", "read_by_default": true, "pages": [ { "type": "patchouli:text", - "text": "aaaaaaaaaaaa" + "text": "Although their names were lost to time, the old practitioners of my art were often known for a color, emblematic of them and their spells. It seems a special kind of pigment, offered to Nature in the right way, would \"[...] paint one's thoughts in a manner pleasing to Nature, inducing a miraculous change in color.\"" + }, + { + "type": "patchouli:text", + "text": "I'm not certain on the specifics of how it works, but I believe I have isolated the formulae for many different colors of pigments. To use one, I hold it in my other hand while casting $(l:patterns/spells/colorize)$(action)Internalize Pigment/$, which will consume the pigment and mark my mind with that color.$(br2)The pigments seem to affect the color of the spare media coming out of a staff when I cast a _Hex, as well as my $(l:hexcasting/patterns/sentinels)$(thing)Sentinel/$." + }, + { + "type": "hexcasting:crafting_multi", + "heading": "Chromatic Colorizers", + "text": "Pigments all the colors of the rainbow.", + "recipes": [ + "hexcasting:dye_colorizer_white", + "hexcasting:dye_colorizer_orange", + "hexcasting:dye_colorizer_magenta", + "hexcasting:dye_colorizer_light_blue", + "hexcasting:dye_colorizer_yellow", + "hexcasting:dye_colorizer_lime", + "hexcasting:dye_colorizer_pink", + "hexcasting:dye_colorizer_gray", + "hexcasting:dye_colorizer_light_gray", + "hexcasting:dye_colorizer_cyan", + "hexcasting:dye_colorizer_purple", + "hexcasting:dye_colorizer_blue", + "hexcasting:dye_colorizer_brown", + "hexcasting:dye_colorizer_green", + "hexcasting:dye_colorizer_red" + ] + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:political_colorizer_0", + "recipe2": "hexcasting:political_colorizer_1" + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:political_colorizer_2", + "recipe2": "hexcasting:political_colorizer_3" + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:political_colorizer_4", + "recipe2": "hexcasting:political_colorizer_5" + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:political_colorizer_6", + "recipe2": "hexcasting:political_colorizer_7" + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:political_colorizer_8", + "recipe2": "hexcasting:political_colorizer_9" + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:political_colorizer_10", + "recipe2": "hexcasting:political_colorizer_11" + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:political_colorizer_12", + "recipe2": "hexcasting:political_colorizer_13" + }, + { + "type": "patchouli:crafting", + "recipe": "hexcasting:uuid_colorizer", + "text": "And finally, a pigment with a color wholly unique to me.$(br2)$(italic)And all the colors I am inside have not been invented yet./$" } ] } diff --git a/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/colorize.json b/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/colorize.json index a2fff625..359eb99f 100644 --- a/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/colorize.json +++ b/src/main/resources/data/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/colorize.json @@ -1,5 +1,5 @@ { - "name": "Internalizing Pigment", + "name": "hexcasting.spell.hexcasting:colorize", "category": "hexcasting:patterns/spells", "icon": "hexcasting:political_colorizer_1", "sortnum": 8,