hopefuly, hopefully, caps sync to player

This commit is contained in:
gamma-delta 2022-01-28 12:21:59 -06:00
parent 14e9f2ea9f
commit ecd2e65fad
70 changed files with 1908 additions and 49 deletions

View file

@ -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

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
]
]
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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)

View file

@ -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;

View file

@ -21,7 +21,7 @@ object OpAddMotion : SpellOperator {
val motion = args.getChecked<Vec3>(1)
return Pair(
Spell(target, motion),
(motion.length() * 10_000f).toInt()
(motion.lengthSqr() * 10_000f).toInt()
)
}

View file

@ -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<CompoundTag> {
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));
}
}
}

View file

@ -31,7 +31,7 @@ public class HexItems {
}
};
public static final RegistryObject<Item> WAND = ITEMS.register(HexItemNames.WAND,
public static final RegistryObject<ItemWand> WAND = ITEMS.register(HexItemNames.WAND,
() -> new ItemWand(unstackable()));
public static final RegistryObject<Item> AMETHYST_DUST = ITEMS.register(HexItemNames.AMETHYST_DUST,
@ -44,20 +44,20 @@ public class HexItems {
public static final RegistryObject<Item> SCROLL = ITEMS.register(HexItemNames.SCROLL,
() -> new ItemScroll(unstackable()));
public static final RegistryObject<Item> FOCUS = ITEMS.register(HexItemNames.FOCUS,
public static final RegistryObject<ItemFocus> FOCUS = ITEMS.register(HexItemNames.FOCUS,
() -> new ItemFocus(props()));
public static final RegistryObject<Item> SPELLBOOK = ITEMS.register(HexItemNames.SPELLBOOK,
public static final RegistryObject<ItemSpellbook> SPELLBOOK = ITEMS.register(HexItemNames.SPELLBOOK,
() -> new ItemSpellbook(unstackable()));
public static final RegistryObject<Item> CYPHER = ITEMS.register(HexItemNames.CYPHER,
public static final RegistryObject<ItemCypher> CYPHER = ITEMS.register(HexItemNames.CYPHER,
() -> new ItemCypher(unstackable()));
public static final RegistryObject<Item> TRINKET = ITEMS.register(HexItemNames.TRINKET,
public static final RegistryObject<ItemTrinket> TRINKET = ITEMS.register(HexItemNames.TRINKET,
() -> new ItemTrinket(unstackable()));
public static final RegistryObject<Item> ARTIFACT = ITEMS.register(HexItemNames.ARTIFACT,
public static final RegistryObject<ItemArtifact> ARTIFACT = ITEMS.register(HexItemNames.ARTIFACT,
() -> new ItemArtifact(unstackable()));
public static final RegistryObject<Item>[] DYE_COLORIZERS = new RegistryObject[16];
public static final RegistryObject<Item>[] POLITICAL_COLORIZERS = new RegistryObject[14];
public static final RegistryObject<ItemDyeColorizer>[] DYE_COLORIZERS = new RegistryObject[16];
public static final RegistryObject<ItemPoliticalColorizer>[] POLITICAL_COLORIZERS = new RegistryObject[14];
static {
for (int i = 0; i < DYE_COLORIZERS.length; i++) {

View file

@ -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<OpFlight.CapFlight> 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()));
}
}
}

View file

@ -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);
}
}

View file

@ -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./$"
}
]
}

View file

@ -1,5 +1,5 @@
{
"name": "Internalizing Pigment",
"name": "hexcasting.spell.hexcasting:colorize",
"category": "hexcasting:patterns/spells",
"icon": "hexcasting:political_colorizer_1",
"sortnum": 8,