Merge branch 'main' into side-effects
This commit is contained in:
commit
6505249cc3
541 changed files with 7030 additions and 501 deletions
|
@ -52,3 +52,5 @@ processResources {
|
|||
expand buildProps
|
||||
}
|
||||
}
|
||||
|
||||
setupJar(this)
|
||||
|
|
|
@ -317,263 +317,9 @@ a415fc73fe80dc76885f4ba16ec81251bed93d15 assets/hexcasting/models/item/wand_oak.
|
|||
f043370d6762b976e33dd6e9562d5e1659d32bbf assets/hexcasting/models/item/wand_old.json
|
||||
59e0a112daf74023ca10248b04fb674ae03c59f9 assets/hexcasting/models/item/wand_spruce.json
|
||||
0af04312fc4ca98dd5a7e65595f32cbfda0e93e8 assets/hexcasting/models/item/wand_warped.json
|
||||
637e118fc7c371db684d0d831a46833b5851e582 data/forge/loot_modifiers/global_loot_modifiers.json
|
||||
4d4caaea035ae4ee878843dd2455042b299b4e5e data/forge/tags/items/dusts/amethyst.json
|
||||
05e86742a71afd740f47639be62f93bc9898fcde data/forge/tags/items/gems.json
|
||||
b6593ea802a692c29b5032292df31beb84878ad8 data/hexcasting/advancements/aaa_wasteful_cast.json
|
||||
4f4c94021adfb296e3ef3dce1acc46f724f38f92 data/hexcasting/advancements/aab_big_cast.json
|
||||
2fe3543a209fca031b1eace7ea217c76142609cc data/hexcasting/advancements/enlightenment.json
|
||||
eb6393ffc79966e4b5983a68157742b78cd12414 data/hexcasting/advancements/opened_eyes.json
|
||||
cf0ad981bebbb79414d955fb40fbf537fe88b89d data/hexcasting/advancements/recipes/brainsweep/brainsweep/akashic_record.json
|
||||
c2a362b8c19cb288187d8ff340f82198edc54378 data/hexcasting/advancements/recipes/brainsweep/brainsweep/budding_amethyst.json
|
||||
c11dc4388c18dadff5d93126eb0f7ae848d627b9 data/hexcasting/advancements/recipes/brainsweep/brainsweep/directrix_redstone.json
|
||||
86424d21e1bf91c128d3b0d528b813629ad962e9 data/hexcasting/advancements/recipes/brainsweep/brainsweep/impetus_look.json
|
||||
5f9f0962f407062e7b6dd0e8c5f8c55ce13962a5 data/hexcasting/advancements/recipes/brainsweep/brainsweep/impetus_rightclick.json
|
||||
5d4811f78feefbef0a305555143f488b3dac7ac6 data/hexcasting/advancements/recipes/brainsweep/brainsweep/impetus_storedplayer.json
|
||||
3fe1fcf17e1e25aebede47c537f92888330ccf9f data/hexcasting/advancements/recipes/hexcasting/abacus.json
|
||||
5a17fa9a1496f5fbedd0362f94a5231e0e5ebbfc data/hexcasting/advancements/recipes/hexcasting/ageing_scroll_paper_lantern.json
|
||||
66e51300dc72c27ed8024ddf852ac9a6208a66b1 data/hexcasting/advancements/recipes/hexcasting/akashic_bookshelf.json
|
||||
31f9b7d8141f67981deedf7a46894e454006bb28 data/hexcasting/advancements/recipes/hexcasting/akashic_button.json
|
||||
168749d413b20bb9c05a8e7191758e0e596a319b data/hexcasting/advancements/recipes/hexcasting/akashic_connector.json
|
||||
1266b263056dd15c862bff27b05a119c4bbc89ee data/hexcasting/advancements/recipes/hexcasting/akashic_door.json
|
||||
149179e18b1b8db5dc3fb96e6faa6cb6ffaecb75 data/hexcasting/advancements/recipes/hexcasting/akashic_panel.json
|
||||
4f852507d843f82dce1512f55abfb205b9829ed4 data/hexcasting/advancements/recipes/hexcasting/akashic_planks.json
|
||||
7a535e710c96e39a17606a10bc1f153d7c57b8e7 data/hexcasting/advancements/recipes/hexcasting/akashic_pressure_plate.json
|
||||
26782da27b3ce2dcab8545f672d68fe1a8549f35 data/hexcasting/advancements/recipes/hexcasting/akashic_slab.json
|
||||
e0ff0fe75be853b849f84b05787c1c791fa9e208 data/hexcasting/advancements/recipes/hexcasting/akashic_stairs.json
|
||||
99aae9efc13ff2b8a4612579b2f865ed2fbe8985 data/hexcasting/advancements/recipes/hexcasting/akashic_tile.json
|
||||
d5122f034678cc53a2921c65f30451caf708046c data/hexcasting/advancements/recipes/hexcasting/akashic_trapdoor.json
|
||||
55dded121a8dddb2ee7fb1f3ffcdcd1ada4afbd5 data/hexcasting/advancements/recipes/hexcasting/akashic_wood.json
|
||||
4066f098ef104eadf6729bb372d9e643c598b477 data/hexcasting/advancements/recipes/hexcasting/akashic_wood_stripped.json
|
||||
ddd7bd92b9e1586cebd2cee658315a9336a80a76 data/hexcasting/advancements/recipes/hexcasting/amethyst_dust_packing.json
|
||||
e5ae652aee1567ac2e626fa0f88f160993a6f9a5 data/hexcasting/advancements/recipes/hexcasting/amethyst_dust_unpacking.json
|
||||
337c4370fd24b66a6b4b3f6c296a33d9a799034e data/hexcasting/advancements/recipes/hexcasting/amethyst_sconce.json
|
||||
563cb6dda9c55864f141f2ec0ecd2a2b95f57237 data/hexcasting/advancements/recipes/hexcasting/amethyst_tiles.json
|
||||
b42dae604eab34ae3831fa16c063af852c175791 data/hexcasting/advancements/recipes/hexcasting/ancient_scroll_paper.json
|
||||
f3e78a96f17dc5ed54047bb24be58dbf3151c8fa data/hexcasting/advancements/recipes/hexcasting/ancient_scroll_paper_lantern.json
|
||||
090b54b026f6fef2502295ddde5a60f5350e2ec6 data/hexcasting/advancements/recipes/hexcasting/artifact.json
|
||||
7f165b1783a871cf69db2e9978290f8993665649 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
|
||||
7351200c8e3eb24772852c578286384c8aab61bd data/hexcasting/advancements/recipes/hexcasting/empty_directrix.json
|
||||
023c32e8834eb313c4fa94a84a8f6390ee951ef0 data/hexcasting/advancements/recipes/hexcasting/empty_impetus.json
|
||||
f089ab17470c5fa0065438c5533d5fafb3ee8eaf data/hexcasting/advancements/recipes/hexcasting/focus.json
|
||||
874ee348cf2542696b7768049529a2001f0820e7 data/hexcasting/advancements/recipes/hexcasting/jeweler_hammer.json
|
||||
fc57d15e9f9f11347a2170dd06053954345368d2 data/hexcasting/advancements/recipes/hexcasting/lens.json
|
||||
82be04125e60a28701de5bb6bc7855bb46fa9d0f data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_0.json
|
||||
13fc3b9e91486b3b0ca56b4ef7d5ddb8920aa7fe data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_1.json
|
||||
9e8942971a3b3d0b1ec6a3add5366743429605ca data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_10.json
|
||||
c30bc14629d0bc99cad10d7b6af19a331357f6a8 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_11.json
|
||||
8e73ac3942a94096017e8c775724beafcbade37b data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_12.json
|
||||
d0c66f50c20912aa0175aea9f97a28e59051b586 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_13.json
|
||||
a78da1015ec1e17bf99ffaa75a85ed2cdf0351d2 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_2.json
|
||||
fa7dcb3a4e6a6631e437fda9739cfdf40f1b8102 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_3.json
|
||||
5241508316a04e9e22452f71c54beae4c75a9bad data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_4.json
|
||||
3dae781adc5cbdf6e415316ab6d5ce9efa8774c4 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_5.json
|
||||
c93d37c6a54b4015a073ad18189f6e721406f183 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_6.json
|
||||
6ffa37736a483cef3b174cf00bfcab0b91a6f737 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_7.json
|
||||
8209fd940de230393aae894c96a765c62bed4cc2 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_8.json
|
||||
9dc35c66da608913da03bc3016f127841d2414cc data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_9.json
|
||||
43071f2aa09fa59dd8f0211a68c842dac833be02 data/hexcasting/advancements/recipes/hexcasting/scroll.json
|
||||
d7213631b2f9075c9bdef0d5a48ca28f85f5a090 data/hexcasting/advancements/recipes/hexcasting/scroll_paper.json
|
||||
85fea90b80954899f236e52d3b3a25f305f8b9d5 data/hexcasting/advancements/recipes/hexcasting/scroll_paper_lantern.json
|
||||
22ad2496732633bb5539a1fa761051d7add48055 data/hexcasting/advancements/recipes/hexcasting/slate.json
|
||||
d72a4675ceb721ee4ac43339d8bfbbb82c2adba2 data/hexcasting/advancements/recipes/hexcasting/slate_block.json
|
||||
9fcc0862c99c50a1df9d3af95b2b3c2af28afa1b data/hexcasting/advancements/recipes/hexcasting/slate_block_from_slates.json
|
||||
cd3ca380294544b07e91ce85d97808c30ffa5d17 data/hexcasting/advancements/recipes/hexcasting/spellbook.json
|
||||
b684bfa3755ca25996e74152d2efecbc9d6387d8 data/hexcasting/advancements/recipes/hexcasting/stonecutting/amethyst_tiles.json
|
||||
59000d9f3edb942081f7d1e03d753e9cd59690cc data/hexcasting/advancements/recipes/hexcasting/sub_sandwich.json
|
||||
08f14a615c6c8c0b8a08a56af000c1e1991732d3 data/hexcasting/advancements/recipes/hexcasting/trinket.json
|
||||
eb17a23e7a9543f33922c056cdf0d63def176bf2 data/hexcasting/advancements/recipes/hexcasting/uuid_colorizer.json
|
||||
804f0e5c6c32c7310129437ccca3ffc148bb973b data/hexcasting/advancements/recipes/hexcasting/wand_acacia.json
|
||||
2d52419f3fcdc10643cdb8cef89858efc0ad4d11 data/hexcasting/advancements/recipes/hexcasting/wand_akashic.json
|
||||
f32ccb2d36d773215d91dee46bec70a20af501c3 data/hexcasting/advancements/recipes/hexcasting/wand_birch.json
|
||||
7c0107192c0e24ff9f23ab0f59834b6081ca5b33 data/hexcasting/advancements/recipes/hexcasting/wand_crimson.json
|
||||
67d4c536be3762833a4af33cd7cdfc68eb4ad629 data/hexcasting/advancements/recipes/hexcasting/wand_dark_oak.json
|
||||
318c04242e7b9c302e68b3bfe6dd11ec0fc8a863 data/hexcasting/advancements/recipes/hexcasting/wand_jungle.json
|
||||
30950c6dd31102cf145f8f7d2979df0736a7ba1e data/hexcasting/advancements/recipes/hexcasting/wand_oak.json
|
||||
f8d2872c4e692153049b6ae4879755a079954763 data/hexcasting/advancements/recipes/hexcasting/wand_spruce.json
|
||||
3b2bcffe70bb1f732f06c2560cef66de6c273d62 data/hexcasting/advancements/recipes/hexcasting/wand_warped.json
|
||||
ed0e62cb81783d8eb6323dd70609067219f163ec data/hexcasting/advancements/root.json
|
||||
739cbdf7f204132f2acfab4df8d21c6197aa1456 data/hexcasting/advancements/y_u_no_cast_angy.json
|
||||
70a8f77d38affa642afbfceebe129358737b09ac data/hexcasting/loot_modifiers/amethyst_cluster_charged.json
|
||||
f746acc6b3e798d3b95f4ceb463c648b1f3ae8c3 data/hexcasting/loot_modifiers/amethyst_cluster_dust.json
|
||||
a783e00f46a9ff0206e2495c15cea8ba57bdff31 data/hexcasting/loot_modifiers/amethyst_cluster_shard_reducer.json
|
||||
e04be385fa9daa422e41a38ddd70fdd065107968 data/hexcasting/loot_modifiers/scroll_bastion.json
|
||||
6569766d1579114149eb0a1154d05ec3c964b2a3 data/hexcasting/loot_modifiers/scroll_cartographer.json
|
||||
afecba3144e00505977a4ab4de7940f949ab7818 data/hexcasting/loot_modifiers/scroll_dungeon.json
|
||||
0e8c8a56161586a4021487b27059ca151465af67 data/hexcasting/loot_modifiers/scroll_jungle.json
|
||||
50e7ad657a0ab43f3bd632120e09f109791aaf34 data/hexcasting/loot_modifiers/scroll_shipwreck.json
|
||||
7ffa361bd8a108b504fe450749b42997dc898e5e data/hexcasting/loot_modifiers/scroll_stronghold_library.json
|
||||
cfd72df535fe95cd2b0d800696e7b4b3429a0459 data/hexcasting/loot_tables/blocks/akashic_bookshelf.json
|
||||
fc787ec13389b66afda79083f22c7b72f02d5966 data/hexcasting/loot_tables/blocks/akashic_button.json
|
||||
2e5958279471fa57ae2929d9f9da46e59495f50e data/hexcasting/loot_tables/blocks/akashic_connector.json
|
||||
3794453f5412af9c7307c9cd91fe2d01ffb763af data/hexcasting/loot_tables/blocks/akashic_door.json
|
||||
e05da321f00ce09c6f4ad3f6da95ae3dc93e7748 data/hexcasting/loot_tables/blocks/akashic_leaves1.json
|
||||
224d9bad572916bc9d5d5a749cc7261a8dad17d7 data/hexcasting/loot_tables/blocks/akashic_leaves2.json
|
||||
58a8470e73b0364f033bac76d6f31c009394fcaa data/hexcasting/loot_tables/blocks/akashic_leaves3.json
|
||||
4b0b1c0a353b8768c1c56d8dc4764a10c2cd7c5f data/hexcasting/loot_tables/blocks/akashic_log.json
|
||||
ff25315e494e3b79667a1fa90d22a80d0eb6d208 data/hexcasting/loot_tables/blocks/akashic_log_stripped.json
|
||||
7400ffa5214a5d7ed34be2ac2ffcc2b50cdf299c data/hexcasting/loot_tables/blocks/akashic_panel.json
|
||||
f59f016a4fa4edaad0b2731f8f1bb2c7b9299ede data/hexcasting/loot_tables/blocks/akashic_planks.json
|
||||
a8f202947467960dcc634ca7cc65b8911a5c2399 data/hexcasting/loot_tables/blocks/akashic_pressure_plate.json
|
||||
22517cb8c8063a6a2752cd80f63f224c88bc2ede data/hexcasting/loot_tables/blocks/akashic_record.json
|
||||
abb4c70d044fed6af763b75bdc50fe2624e83625 data/hexcasting/loot_tables/blocks/akashic_slab.json
|
||||
5128da5769f0a1a9045488e32ac453069d6431f5 data/hexcasting/loot_tables/blocks/akashic_stairs.json
|
||||
0ddb27503a7266d126661bad496047a069a07670 data/hexcasting/loot_tables/blocks/akashic_tile.json
|
||||
659b7e6d539474357532c1207b21354e19cbd4b1 data/hexcasting/loot_tables/blocks/akashic_trapdoor.json
|
||||
1590fee356080d4dd3f4e0718d87269bdd7f3519 data/hexcasting/loot_tables/blocks/akashic_wood.json
|
||||
58e51963cfde913d799a89ae8e0701407c488a14 data/hexcasting/loot_tables/blocks/akashic_wood_stripped.json
|
||||
41d666145104483214c0256958b14724e60a036b data/hexcasting/loot_tables/blocks/amethyst_dust_block.json
|
||||
967b64670e7d98b6c46779da68c245ee539ba375 data/hexcasting/loot_tables/blocks/amethyst_sconce.json
|
||||
79421f4528355837d12fbfcccb19e08a1eb40bff data/hexcasting/loot_tables/blocks/amethyst_tiles.json
|
||||
558ce469f2bcbf8f0498815b6b4c1fd4f2bfbc2b data/hexcasting/loot_tables/blocks/ancient_scroll_paper.json
|
||||
4ba256a96d6794214775c6ea94074f03ace6cb90 data/hexcasting/loot_tables/blocks/ancient_scroll_paper_lantern.json
|
||||
e78299c1aff23248f83fff872165ae70f0e1c1a9 data/hexcasting/loot_tables/blocks/directrix_redstone.json
|
||||
41834ac09febbefdca79bdbb404d42c91a4de2e5 data/hexcasting/loot_tables/blocks/empty_directrix.json
|
||||
5944235a01e31fbe3f2799f667b6deb2f8a62ca6 data/hexcasting/loot_tables/blocks/empty_impetus.json
|
||||
9d882c43431b33de256f2bc0acb831a393ab4740 data/hexcasting/loot_tables/blocks/impetus_look.json
|
||||
c87dcdb39d1d9cb0429763bbd32631cbf15047aa data/hexcasting/loot_tables/blocks/impetus_rightclick.json
|
||||
4c65e5287cefeec17703cb4959e12546b753d26b data/hexcasting/loot_tables/blocks/impetus_storedplayer.json
|
||||
e66ddc68e90e5e779f273a8d081c2f63e81d6698 data/hexcasting/loot_tables/blocks/scroll_paper.json
|
||||
fd662ce6977b96065bd438ff332bc5b9f62560e6 data/hexcasting/loot_tables/blocks/scroll_paper_lantern.json
|
||||
17e53b980127473558a1a544e59d329a4701e7cc data/hexcasting/loot_tables/blocks/slate.json
|
||||
33b4d5e6928828898fea92523f7cb81f9b4eac36 data/hexcasting/loot_tables/blocks/slate_block.json
|
||||
6b4459635b3d53cc2b6836fa97d29244a65b412d data/hexcasting/recipes/abacus.json
|
||||
1f0c9a98d97fb81e1f504cdb6619a3dfab52ba5f data/hexcasting/recipes/ageing_scroll_paper_lantern.json
|
||||
fa04d5bc32f5646cd67bc8e8b572bdb7849b735e data/hexcasting/recipes/akashic_bookshelf.json
|
||||
1d19457c9843d97d2ed59199d9077940d9e5e46a data/hexcasting/recipes/akashic_button.json
|
||||
2c542a616b312e41537fb25a2362877dd50d2692 data/hexcasting/recipes/akashic_connector.json
|
||||
add097a7a749bd1ebd5828216f013f6cd5b72b62 data/hexcasting/recipes/akashic_door.json
|
||||
f74f8389f1e8bdb77a92ecfb8d7d7d6f4418d818 data/hexcasting/recipes/akashic_panel.json
|
||||
ce9ca7b98a89540996f2ad18eea98e31df7974b5 data/hexcasting/recipes/akashic_planks.json
|
||||
b107ec9af9e08d124f3d4f14d85911f55a5b905b data/hexcasting/recipes/akashic_pressure_plate.json
|
||||
9a24dcdf873dc97001efb487f6e00739c2ebf15c data/hexcasting/recipes/akashic_slab.json
|
||||
a92e5560c774bb81cd9f38bd9378af8695cac622 data/hexcasting/recipes/akashic_stairs.json
|
||||
ac285195e958804bcbd0b87e443d2851fd3a4856 data/hexcasting/recipes/akashic_tile.json
|
||||
62b120d8943a9e73778ad1468f12532b21774994 data/hexcasting/recipes/akashic_trapdoor.json
|
||||
a84bf48a188d7b250db5c971a6d9b63d82279ba3 data/hexcasting/recipes/akashic_wood.json
|
||||
c386a7294db6ed97f9b131cb8402ca6203092b63 data/hexcasting/recipes/akashic_wood_stripped.json
|
||||
ef016ca292fa4edc7496b64e6f2931f4e7d90636 data/hexcasting/recipes/amethyst_dust_packing.json
|
||||
91bb341776ce64a68e1c4200aa8f5b2fa6669820 data/hexcasting/recipes/amethyst_dust_unpacking.json
|
||||
4b3f5fe572ec06feab786e3ba93b0d80b145dd69 data/hexcasting/recipes/amethyst_sconce.json
|
||||
e5c835d3866e8f5ecfb03c9e7c2c134a50951d67 data/hexcasting/recipes/amethyst_tiles.json
|
||||
0662d191ec9416e2c3c86962628d3bfbd11bc01f data/hexcasting/recipes/ancient_scroll_paper.json
|
||||
3f9756b2c5137b285c4faa88ab43c4996b6b2bb6 data/hexcasting/recipes/ancient_scroll_paper_lantern.json
|
||||
6e6e4d01097c10316892e274f33cb0faaf9dc0df data/hexcasting/recipes/artifact.json
|
||||
d7f85ce9d46aacc7ec89dc7aa0f88a331ccfbae7 data/hexcasting/recipes/brainsweep/akashic_record.json
|
||||
30f81e0537c625a4cafcdec75314926569291171 data/hexcasting/recipes/brainsweep/budding_amethyst.json
|
||||
9f7a9ba332e1018098d21a5ec474440fca7f6c73 data/hexcasting/recipes/brainsweep/directrix_redstone.json
|
||||
5861845c3cd84021c7c19ac4f5b3bcc8e1bd3916 data/hexcasting/recipes/brainsweep/impetus_look.json
|
||||
ab5d271371323d93ff6eed18179ee4f7fd8c939c data/hexcasting/recipes/brainsweep/impetus_rightclick.json
|
||||
34d21369f8879dd084c3215e709ae987a994372f data/hexcasting/recipes/brainsweep/impetus_storedplayer.json
|
||||
bc140b6c5d999b4bc5d12c302297f56bde3b161c 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
|
||||
db8a00478e1c4b0f9b143b5946d1ba25e489591d data/hexcasting/recipes/dynamic/seal_focus.json
|
||||
3a376402af89128dc37adaa0a72b6de66d58309d data/hexcasting/recipes/dynamic/seal_spellbook.json
|
||||
a952d33cda8b805237052b602cf066683c4bf261 data/hexcasting/recipes/empty_directrix.json
|
||||
b7c248d2627c2a2b398d1c50181c1e0863612424 data/hexcasting/recipes/empty_impetus.json
|
||||
7eaf7ee280d1982ecbaf5175cea5c5a7c7804f98 data/hexcasting/recipes/focus.json
|
||||
bbe78a0adf15bbcf5fb2d8089b24499ff7229858 data/hexcasting/recipes/jeweler_hammer.json
|
||||
2397e64bd5fa2af12bb4f0f7efbc55f387c07a2b data/hexcasting/recipes/lens.json
|
||||
0ea329526c81c1e4064bab61721ab4586cfcf706 data/hexcasting/recipes/pride_colorizer_0.json
|
||||
c742a0a5fba2388263bfccfb49c60277d817f8cd data/hexcasting/recipes/pride_colorizer_1.json
|
||||
855d1421063c24b2d1507f90f378f51261111d84 data/hexcasting/recipes/pride_colorizer_10.json
|
||||
51a90058e4701f2d6ef157e1a930c203876e2447 data/hexcasting/recipes/pride_colorizer_11.json
|
||||
65bb0279c70aed060a09332552a122cf993f5d2a data/hexcasting/recipes/pride_colorizer_12.json
|
||||
5f1e9330dcdf927e128212678c8e262c6daa92f1 data/hexcasting/recipes/pride_colorizer_13.json
|
||||
01841b89db3b16a614a098cd468b6d3b64986a34 data/hexcasting/recipes/pride_colorizer_2.json
|
||||
8ef1f2fcc98c19e3ff1ccdf1c427a6458a720023 data/hexcasting/recipes/pride_colorizer_3.json
|
||||
b3a23a6430b9e6c7c9e332c6ec996d9d90e7f432 data/hexcasting/recipes/pride_colorizer_4.json
|
||||
c7c7fa49b7d1f0d03cd753f1ba78aa05a68135d0 data/hexcasting/recipes/pride_colorizer_5.json
|
||||
5da3bff44e39ed9263f1f341d0a3851d02218018 data/hexcasting/recipes/pride_colorizer_6.json
|
||||
5d6fac562dd7b7a4be0006de8b4758d5657ac054 data/hexcasting/recipes/pride_colorizer_7.json
|
||||
03504ac1cc40ece1097e46a8244b7cfb4b32014c data/hexcasting/recipes/pride_colorizer_8.json
|
||||
3a12c82f29953ee4131a0b49c1b35999c2779019 data/hexcasting/recipes/pride_colorizer_9.json
|
||||
56d35172b3c5a58e2be4c5be20dd69417685f5d9 data/hexcasting/recipes/scroll.json
|
||||
ccf4ea841ea9a66738253385c659ff86c85a73f5 data/hexcasting/recipes/scroll_paper.json
|
||||
5c471f81cc168826f1652a39a71aeb85e786ea16 data/hexcasting/recipes/scroll_paper_lantern.json
|
||||
f3a33396e071f3afd61eadab2aabdb9acf2ae775 data/hexcasting/recipes/slate.json
|
||||
09e80537530ed51b6792f16fe8b32448e89dc334 data/hexcasting/recipes/slate_block.json
|
||||
6f5c41ab9f87ec1206efaaab8d91adc766bb79fd data/hexcasting/recipes/slate_block_from_slates.json
|
||||
4f06f5f4ae181c8bb6b993d7b6047cd9ca7afbce data/hexcasting/recipes/spellbook.json
|
||||
ef936e73eea3be9d53c4ac5c78d1477675550375 data/hexcasting/recipes/stonecutting/amethyst_tiles.json
|
||||
d14cf2f8f0895a5b6dc09b7582c0abf1c2514adf data/hexcasting/recipes/sub_sandwich.json
|
||||
67b16cdb26f40234a7d4e49357724f24c197580a data/hexcasting/recipes/trinket.json
|
||||
14d6be5d47b54676a349564ea32c045c76c39b45 data/hexcasting/recipes/uuid_colorizer.json
|
||||
2ad42dd4a4877a23cb7f45e8b75c9f53f58d12f5 data/hexcasting/recipes/wand_acacia.json
|
||||
1157a6545ece0e2b8734b8a1428f9a3c021c8b73 data/hexcasting/recipes/wand_akashic.json
|
||||
f6fab3a3296d157a2b969af0c86eb0e5a9f14df4 data/hexcasting/recipes/wand_birch.json
|
||||
0cd94b91d64a31a251eebbb37845d165c603452e data/hexcasting/recipes/wand_crimson.json
|
||||
022dc03ce6f2915459c7bf75d44ec0b8bb3e4083 data/hexcasting/recipes/wand_dark_oak.json
|
||||
2ec90cd941acad6eabfb38d21466ef8e9b9bf2c1 data/hexcasting/recipes/wand_jungle.json
|
||||
f7bbc60f547a02378ddb1f23395add4822725fed data/hexcasting/recipes/wand_oak.json
|
||||
196c49b203748e57a9b2b1259055b9de4b6be8d8 data/hexcasting/recipes/wand_spruce.json
|
||||
db09b7fc38bdaffa15b57bd361da8529c7bc943e data/hexcasting/recipes/wand_warped.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data/hexcasting/tags/blocks/akashic_logs.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data/hexcasting/tags/blocks/akashic_planks.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data/hexcasting/tags/items/akashic_logs.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data/hexcasting/tags/items/akashic_planks.json
|
||||
fe60c763bfe0afa0a266b7390edfc62bde8941b7 data/hexcasting/tags/items/phial_base.json
|
||||
d1b8725bbfc01e2d9a02ef84c911fef89b3636a9 data/hexcasting/tags/items/wands.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data/minecraft/tags/blocks/buttons.json
|
||||
1dc89dff5d4fadb95d9b5a2a5a910f63ea4b02bf data/minecraft/tags/blocks/crystal_sound_blocks.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data/minecraft/tags/blocks/doors.json
|
||||
c25784941d6416744fb2ca2d43a3203e5c3e7c8a data/minecraft/tags/blocks/leaves.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data/minecraft/tags/blocks/logs.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data/minecraft/tags/blocks/logs_that_burn.json
|
||||
cb5721fcb4a8f7bf14adf6ab560378a250128aba data/minecraft/tags/blocks/mineable/axe.json
|
||||
c25784941d6416744fb2ca2d43a3203e5c3e7c8a data/minecraft/tags/blocks/mineable/hoe.json
|
||||
eb4bfbd7fc7632a5c16aa1d50d6090a1f466069b data/minecraft/tags/blocks/mineable/pickaxe.json
|
||||
f55afc2c05d93b5a44bc9fd73c5e81e71b183965 data/minecraft/tags/blocks/mineable/shovel.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data/minecraft/tags/blocks/planks.json
|
||||
2d79a41ba8697f9e1fa26b1bff48f33c824d3823 data/minecraft/tags/blocks/pressure_plates.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data/minecraft/tags/blocks/slabs.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data/minecraft/tags/blocks/trapdoors.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data/minecraft/tags/blocks/wooden_buttons.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data/minecraft/tags/blocks/wooden_doors.json
|
||||
2d79a41ba8697f9e1fa26b1bff48f33c824d3823 data/minecraft/tags/blocks/wooden_pressure_plates.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data/minecraft/tags/blocks/wooden_slabs.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data/minecraft/tags/blocks/wooden_trapdoors.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data/minecraft/tags/items/buttons.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data/minecraft/tags/items/doors.json
|
||||
c25784941d6416744fb2ca2d43a3203e5c3e7c8a data/minecraft/tags/items/leaves.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data/minecraft/tags/items/logs.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data/minecraft/tags/items/logs_that_burn.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data/minecraft/tags/items/planks.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data/minecraft/tags/items/slabs.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data/minecraft/tags/items/trapdoors.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data/minecraft/tags/items/wooden_buttons.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data/minecraft/tags/items/wooden_doors.json
|
||||
2d79a41ba8697f9e1fa26b1bff48f33c824d3823 data/minecraft/tags/items/wooden_pressure_plates.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data/minecraft/tags/items/wooden_slabs.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data/minecraft/tags/items/wooden_trapdoors.json
|
||||
|
|
|
@ -13,13 +13,11 @@ public class HexItemTags {
|
|||
public static final TagKey<Item> WANDS = create("wands");
|
||||
public static final TagKey<Item> PHIAL_BASE = create("phial_base");
|
||||
|
||||
public static final TagKey<Item> AMETHYST_DUST = create(new ResourceLocation("forge", "dusts/amethyst"));
|
||||
|
||||
private static TagKey<Item> create(String name) {
|
||||
public static TagKey<Item> create(String name) {
|
||||
return create(modLoc(name));
|
||||
}
|
||||
|
||||
private static TagKey<Item> create(ResourceLocation id) {
|
||||
public static TagKey<Item> create(ResourceLocation id) {
|
||||
return TagKey.create(Registry.ITEM_REGISTRY, id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -123,7 +123,7 @@ class CastingHarness private constructor(
|
|||
return CastResult(
|
||||
continuation,
|
||||
null,
|
||||
ResolvedPatternType.ERROR,
|
||||
ResolvedPatternType.ERRORED,
|
||||
listOf(OperatorSideEffect.DoMishap(MishapError(exception), Mishap.Context(iota.payload as? HexPattern ?: HexPattern(HexDir.WEST), null)))
|
||||
)
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ class CastingHarness private constructor(
|
|||
return CastResult(
|
||||
cont2,
|
||||
fd,
|
||||
ResolvedPatternType.OK,
|
||||
ResolvedPatternType.EVALUATED,
|
||||
sideEffects,
|
||||
)
|
||||
} catch (mishap: Mishap) {
|
||||
|
@ -182,7 +182,7 @@ class CastingHarness private constructor(
|
|||
return CastResult(
|
||||
continuation,
|
||||
null,
|
||||
ResolvedPatternType.ERROR,
|
||||
ResolvedPatternType.ERRORED,
|
||||
listOf(OperatorSideEffect.DoMishap(MishapError(exception), Mishap.Context(newPat, operatorIdPair?.second)))
|
||||
)
|
||||
}
|
||||
|
@ -255,11 +255,11 @@ class CastingHarness private constructor(
|
|||
this.getFunctionalData().copy(
|
||||
escapeNext = false,
|
||||
parenthesized = newParens
|
||||
) to ResolvedPatternType.PATTERN
|
||||
) to ResolvedPatternType.ESCAPED
|
||||
} else if (operator == Widget.ESCAPE) {
|
||||
this.getFunctionalData().copy(
|
||||
escapeNext = true,
|
||||
) to ResolvedPatternType.OK
|
||||
) to ResolvedPatternType.EVALUATED
|
||||
} else if (operator == Widget.OPEN_PAREN) {
|
||||
// we have escaped the parens onto the stack; we just also record our count.
|
||||
val newParens = this.parenthesized.toMutableList()
|
||||
|
@ -267,7 +267,7 @@ class CastingHarness private constructor(
|
|||
this.getFunctionalData().copy(
|
||||
parenthesized = newParens,
|
||||
parenCount = this.parenCount + 1
|
||||
) to if (this.parenCount == 0) ResolvedPatternType.OK else ResolvedPatternType.PATTERN
|
||||
) to if (this.parenCount == 0) ResolvedPatternType.EVALUATED else ResolvedPatternType.ESCAPED
|
||||
} else if (operator == Widget.CLOSE_PAREN) {
|
||||
val newParenCount = this.parenCount - 1
|
||||
if (newParenCount == 0) {
|
||||
|
@ -277,7 +277,7 @@ class CastingHarness private constructor(
|
|||
stack = newStack,
|
||||
parenCount = newParenCount,
|
||||
parenthesized = listOf()
|
||||
) to ResolvedPatternType.OK
|
||||
) to ResolvedPatternType.EVALUATED
|
||||
} else if (newParenCount < 0) {
|
||||
throw MishapTooManyCloseParens()
|
||||
} else {
|
||||
|
@ -288,14 +288,14 @@ class CastingHarness private constructor(
|
|||
this.getFunctionalData().copy(
|
||||
parenCount = newParenCount,
|
||||
parenthesized = newParens
|
||||
) to ResolvedPatternType.PATTERN
|
||||
) to ResolvedPatternType.ESCAPED
|
||||
}
|
||||
} else {
|
||||
val newParens = this.parenthesized.toMutableList()
|
||||
newParens.add(iota)
|
||||
this.getFunctionalData().copy(
|
||||
parenthesized = newParens
|
||||
) to ResolvedPatternType.PATTERN
|
||||
) to ResolvedPatternType.ESCAPED
|
||||
}
|
||||
} else if (this.escapeNext) {
|
||||
val newStack = this.stack.toMutableList()
|
||||
|
@ -303,15 +303,15 @@ class CastingHarness private constructor(
|
|||
this.getFunctionalData().copy(
|
||||
stack = newStack,
|
||||
escapeNext = false,
|
||||
) to ResolvedPatternType.PATTERN
|
||||
) to ResolvedPatternType.ESCAPED
|
||||
} else if (operator == Widget.ESCAPE) {
|
||||
this.getFunctionalData().copy(
|
||||
escapeNext = true
|
||||
) to ResolvedPatternType.OK
|
||||
) to ResolvedPatternType.EVALUATED
|
||||
} else if (operator == Widget.OPEN_PAREN) {
|
||||
this.getFunctionalData().copy(
|
||||
parenCount = this.parenCount + 1
|
||||
) to ResolvedPatternType.OK
|
||||
) to ResolvedPatternType.EVALUATED
|
||||
} else if (operator == Widget.CLOSE_PAREN) {
|
||||
throw MishapTooManyCloseParens()
|
||||
} else {
|
||||
|
|
|
@ -24,7 +24,7 @@ data class ResolvedPattern(val pattern: HexPattern, val origin: HexCoord, var ty
|
|||
val valid = try {
|
||||
ResolvedPatternType.valueOf(tag.getString("Valid").uppercase(Locale.ROOT))
|
||||
} catch (e: IllegalArgumentException) {
|
||||
ResolvedPatternType.UNKNOWN
|
||||
ResolvedPatternType.UNRESOLVED
|
||||
}
|
||||
return ResolvedPattern(pattern, origin, valid)
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package at.petrak.hexcasting.api.spell.casting
|
||||
|
||||
enum class ResolvedPatternType(val color: Int, val fadeColor: Int, val success: Boolean) {
|
||||
UNKNOWN(0x7f7f7f, 0xcccccc, false),
|
||||
OK(0x7385de, 0xfecbe6, true),
|
||||
PATTERN(0xdddd73, 0xffffe5, true),
|
||||
ERROR(0xde6262, 0xffc7a0, false),
|
||||
INVALID(0xddbcbc, 0xfff0e5, false)
|
||||
UNRESOLVED(0x7f7f7f, 0xcccccc, false),
|
||||
EVALUATED(0x7385de, 0xfecbe6, true),
|
||||
ESCAPED(0xddcc73, 0xfffae5, true),
|
||||
ERRORED(0xde6262, 0xffc7a0, false),
|
||||
INVALID(0xb26b6b, 0xcca88e, false)
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ sealed class Mishap : Throwable() {
|
|||
return ParticleSpray(ctx.position.add(0.0, 0.2, 0.0), Vec3(0.0, 2.0, 0.0), 0.2, Math.PI / 4, 40)
|
||||
}
|
||||
|
||||
open fun resolutionType(ctx: CastingContext): ResolvedPatternType = ResolvedPatternType.ERROR
|
||||
open fun resolutionType(ctx: CastingContext): ResolvedPatternType = ResolvedPatternType.ERRORED
|
||||
|
||||
/**
|
||||
* Execute the actual effect, not any sfx.
|
||||
|
|
|
@ -211,7 +211,7 @@ class GuiSpellcasting(
|
|||
is PatternDrawState.Drawing -> {
|
||||
val (start, _, pat) = this.drawState as PatternDrawState.Drawing
|
||||
this.drawState = PatternDrawState.BetweenPatterns
|
||||
this.patterns.add(ResolvedPattern(pat, start, ResolvedPatternType.UNKNOWN))
|
||||
this.patterns.add(ResolvedPattern(pat, start, ResolvedPatternType.UNRESOLVED))
|
||||
|
||||
this.usedSpots.addAll(pat.positions(start))
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ public class HexBlockTags {
|
|||
public static final TagKey<Block> AKASHIC_LOGS = create("akashic_logs");
|
||||
public static final TagKey<Block> AKASHIC_PLANKS = create("akashic_planks");
|
||||
|
||||
private static TagKey<Block> create(String name) {
|
||||
public static TagKey<Block> create(String name) {
|
||||
return TagKey.create(Registry.BLOCK_REGISTRY, modLoc(name));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package at.petrak.hexcasting.mixin;
|
||||
|
||||
import net.minecraft.data.tags.TagsProvider;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||
|
||||
@Mixin(TagsProvider.class)
|
||||
public interface AccessorTagsProvider<T> {
|
||||
@Invoker("getOrCreateRawBuilder")
|
||||
Tag.Builder hex$getOrCreateRawBuilder(TagKey<T> p_206427_);
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package at.petrak.hexcasting.mixin.accessor;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import net.minecraft.data.HashCache;
|
||||
import net.minecraft.data.recipes.RecipeProvider;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||
|
||||
import java.nio.file.Path;
|
||||
|
||||
@Mixin(RecipeProvider.class)
|
||||
public interface AccessorRecipeProvider {
|
||||
@Invoker("saveRecipe")
|
||||
static void hex$SaveRecipe(HashCache $$0, JsonObject $$1, Path $$2) {
|
||||
}
|
||||
}
|
|
@ -10,7 +10,10 @@ import at.petrak.hexcasting.api.player.Sentinel;
|
|||
import at.petrak.hexcasting.api.spell.casting.CastingHarness;
|
||||
import at.petrak.hexcasting.api.spell.casting.ResolvedPattern;
|
||||
import at.petrak.hexcasting.common.network.IMessage;
|
||||
import com.google.gson.JsonObject;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.HashCache;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
|
@ -31,9 +34,11 @@ import net.minecraft.world.level.block.entity.BlockEntity;
|
|||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.function.BiFunction;
|
||||
|
@ -119,10 +124,20 @@ public interface IXplatAbstractions {
|
|||
|
||||
ResourceLocation getID(Block block);
|
||||
|
||||
ResourceLocation getID(Item item);
|
||||
|
||||
ResourceLocation getID(VillagerProfession profession);
|
||||
|
||||
Ingredient getUnsealedIngredient(ItemStack stack);
|
||||
|
||||
void saveRecipeAdvancement(DataGenerator generator, HashCache cache, JsonObject json, Path path);
|
||||
|
||||
IXplatTags tags();
|
||||
|
||||
LootItemCondition.Builder isShearsCondition();
|
||||
|
||||
///
|
||||
|
||||
IXplatAbstractions INSTANCE = find();
|
||||
|
||||
private static IXplatAbstractions find() {
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package at.petrak.hexcasting.xplat;
|
||||
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
|
||||
// https://fabricmc.net/wiki/tutorial:tags#existing_common_tags
|
||||
public interface IXplatTags {
|
||||
TagKey<Item> amethystDust();
|
||||
|
||||
TagKey<Item> gems();
|
||||
}
|
|
@ -1,22 +1,24 @@
|
|||
package at.petrak.hexcasting.forge.datagen;
|
||||
package at.petrak.hexcasting.xplat.datagen;
|
||||
|
||||
import at.petrak.hexcasting.api.HexAPI;
|
||||
import at.petrak.hexcasting.common.lib.HexBlockTags;
|
||||
import at.petrak.hexcasting.common.lib.HexBlocks;
|
||||
import at.petrak.hexcasting.xplat.IXplatTags;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.tags.BlockTagsProvider;
|
||||
import net.minecraft.data.tags.TagsProvider;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
||||
public class HexBlockTagProvider extends BlockTagsProvider {
|
||||
public HexBlockTagProvider(DataGenerator pGenerator,
|
||||
@Nullable ExistingFileHelper existingFileHelper) {
|
||||
super(pGenerator, HexAPI.MOD_ID, existingFileHelper);
|
||||
public class HexBlockTagProvider extends TagsProvider<Block> {
|
||||
public final IXplatTags xtags;
|
||||
|
||||
public HexBlockTagProvider(DataGenerator pGenerator, IXplatTags xtags) {
|
||||
super(pGenerator, Registry.BLOCK);
|
||||
this.xtags = xtags;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addTags() {
|
||||
public void addTags() {
|
||||
tag(BlockTags.MINEABLE_WITH_PICKAXE)
|
||||
.add(HexBlocks.SLATE_BLOCK, HexBlocks.SLATE,
|
||||
HexBlocks.EMPTY_DIRECTRIX, HexBlocks.DIRECTRIX_REDSTONE,
|
||||
|
@ -79,4 +81,9 @@ public class HexBlockTagProvider extends BlockTagsProvider {
|
|||
tag(BlockTags.WOODEN_BUTTONS)
|
||||
.add(HexBlocks.AKASHIC_BUTTON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Hexcasting Block Tags";
|
||||
}
|
||||
}
|
|
@ -1,29 +1,40 @@
|
|||
package at.petrak.hexcasting.forge.datagen;
|
||||
package at.petrak.hexcasting.xplat.datagen;
|
||||
|
||||
import at.petrak.hexcasting.api.HexAPI;
|
||||
import at.petrak.hexcasting.api.mod.HexItemTags;
|
||||
import at.petrak.hexcasting.common.lib.HexBlockTags;
|
||||
import at.petrak.hexcasting.common.lib.HexItems;
|
||||
import at.petrak.hexcasting.mixin.AccessorTagsProvider;
|
||||
import at.petrak.hexcasting.xplat.IXplatTags;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.tags.BlockTagsProvider;
|
||||
import net.minecraft.data.tags.ItemTagsProvider;
|
||||
import net.minecraft.data.tags.TagsProvider;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraftforge.common.Tags;
|
||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
||||
public class HexItemTagProvider extends ItemTagsProvider {
|
||||
public HexItemTagProvider(DataGenerator pGenerator, BlockTagsProvider pBlockTagsProvider,
|
||||
@Nullable ExistingFileHelper existingFileHelper) {
|
||||
super(pGenerator, pBlockTagsProvider, HexAPI.MOD_ID, existingFileHelper);
|
||||
import java.util.function.Function;
|
||||
|
||||
// ForgeCopy, mostly
|
||||
public class HexItemTagProvider extends TagsProvider<Item> {
|
||||
private final Function<TagKey<Block>, Tag.Builder> blockTags;
|
||||
private final IXplatTags xtags;
|
||||
|
||||
|
||||
public HexItemTagProvider(DataGenerator pGenerator, TagsProvider<Block> pBlockTagsProvider, IXplatTags xtags) {
|
||||
super(pGenerator, Registry.ITEM);
|
||||
this.blockTags = tag -> ((AccessorTagsProvider<Block>) pBlockTagsProvider).hex$getOrCreateRawBuilder(tag);
|
||||
this.xtags = xtags;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addTags() {
|
||||
tag(Tags.Items.GEMS).add(HexItems.CHARGED_AMETHYST);
|
||||
tag(HexItemTags.AMETHYST_DUST).add(HexItems.AMETHYST_DUST);
|
||||
tag(xtags.gems()).add(HexItems.CHARGED_AMETHYST);
|
||||
tag(xtags.amethystDust()).add(HexItems.AMETHYST_DUST);
|
||||
|
||||
tag(HexItemTags.WANDS).add(HexItems.WAND_OAK, HexItems.WAND_SPRUCE, HexItems.WAND_BIRCH,
|
||||
HexItems.WAND_JUNGLE, HexItems.WAND_ACACIA, HexItems.WAND_DARK_OAK,
|
||||
HexItems.WAND_CRIMSON, HexItems.WAND_WARPED, HexItems.WAND_AKASHIC);
|
||||
|
@ -46,4 +57,15 @@ public class HexItemTagProvider extends ItemTagsProvider {
|
|||
this.copy(BlockTags.BUTTONS, ItemTags.BUTTONS);
|
||||
this.copy(BlockTags.WOODEN_BUTTONS, ItemTags.WOODEN_BUTTONS);
|
||||
}
|
||||
|
||||
protected void copy(TagKey<Block> p_206422_, TagKey<Item> p_206423_) {
|
||||
Tag.Builder tag$builder = this.getOrCreateRawBuilder(p_206423_);
|
||||
Tag.Builder tag$builder1 = this.blockTags.apply(p_206422_);
|
||||
tag$builder1.getEntries().forEach(tag$builder::add);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Hexcasting Item Tags";
|
||||
}
|
||||
}
|
|
@ -1,14 +1,21 @@
|
|||
package at.petrak.hexcasting.forge.datagen;
|
||||
package at.petrak.hexcasting.xplat.datagen;
|
||||
|
||||
import at.petrak.hexcasting.common.blocks.circles.BlockEntitySlate;
|
||||
import at.petrak.hexcasting.common.lib.HexBlocks;
|
||||
import at.petrak.paucal.api.forge.datagen.PaucalLootTableProvider;
|
||||
import at.petrak.hexcasting.xplat.IXplatAbstractions;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import net.minecraft.advancements.critereon.EnchantmentPredicate;
|
||||
import net.minecraft.advancements.critereon.ItemPredicate;
|
||||
import net.minecraft.advancements.critereon.MinMaxBounds;
|
||||
import net.minecraft.advancements.critereon.StatePropertiesPredicate;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.DataProvider;
|
||||
import net.minecraft.data.HashCache;
|
||||
import net.minecraft.data.loot.LootTableProvider;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.enchantment.Enchantments;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.DoorBlock;
|
||||
import net.minecraft.world.level.block.SlabBlock;
|
||||
|
@ -16,28 +23,33 @@ import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
|
|||
import net.minecraft.world.level.block.state.properties.SlabType;
|
||||
import net.minecraft.world.level.storage.loot.LootPool;
|
||||
import net.minecraft.world.level.storage.loot.LootTable;
|
||||
import net.minecraft.world.level.storage.loot.LootTables;
|
||||
import net.minecraft.world.level.storage.loot.entries.LootItem;
|
||||
import net.minecraft.world.level.storage.loot.functions.ApplyExplosionDecay;
|
||||
import net.minecraft.world.level.storage.loot.functions.CopyNbtFunction;
|
||||
import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction;
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
|
||||
import net.minecraft.world.level.storage.loot.predicates.AlternativeLootItemCondition;
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition;
|
||||
import net.minecraft.world.level.storage.loot.predicates.MatchTool;
|
||||
import net.minecraft.world.level.storage.loot.providers.nbt.ContextNbtProvider;
|
||||
import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
|
||||
import net.minecraftforge.common.ToolActions;
|
||||
import net.minecraftforge.common.loot.CanToolPerformAction;
|
||||
import net.minecraft.world.level.storage.loot.providers.number.NumberProvider;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
// https://github.com/XuulMedia/Flint-Age/blob/4638289130ef80dafe9b6a3fdcb461a72688100f/src/main/java/xuul/flint/datagen/BaseLootTableProvider.java#L61
|
||||
// auugh mojang whyyyy
|
||||
public class HexLootTables extends PaucalLootTableProvider {
|
||||
public class HexLootTables extends LootTableProvider {
|
||||
// steal it ALL from paucal
|
||||
protected final DataGenerator generator;
|
||||
|
||||
public HexLootTables(DataGenerator pGenerator) {
|
||||
super(pGenerator);
|
||||
this.generator = pGenerator;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void makeLootTables(Map<Block, LootTable.Builder> lootTables) {
|
||||
dropSelf(lootTables, HexBlocks.EMPTY_IMPETUS,
|
||||
HexBlocks.IMPETUS_RIGHTCLICK, HexBlocks.IMPETUS_LOOK, HexBlocks.IMPETUS_STOREDPLAYER,
|
||||
|
@ -49,7 +61,8 @@ public class HexLootTables extends PaucalLootTableProvider {
|
|||
HexBlocks.AKASHIC_LOG, HexBlocks.AKASHIC_LOG_STRIPPED, HexBlocks.AKASHIC_WOOD,
|
||||
HexBlocks.AKASHIC_WOOD_STRIPPED,
|
||||
HexBlocks.AKASHIC_PLANKS, HexBlocks.AKASHIC_TILE, HexBlocks.AKASHIC_PANEL,
|
||||
HexBlocks.AKASHIC_TRAPDOOR, HexBlocks.AKASHIC_STAIRS, HexBlocks.AKASHIC_PRESSURE_PLATE, HexBlocks.AKASHIC_BUTTON);
|
||||
HexBlocks.AKASHIC_TRAPDOOR, HexBlocks.AKASHIC_STAIRS, HexBlocks.AKASHIC_PRESSURE_PLATE,
|
||||
HexBlocks.AKASHIC_BUTTON);
|
||||
|
||||
makeSlabTable(lootTables, HexBlocks.AKASHIC_SLAB);
|
||||
|
||||
|
@ -57,8 +70,8 @@ public class HexLootTables extends PaucalLootTableProvider {
|
|||
makeLeafTable(lootTables, HexBlocks.AKASHIC_LEAVES2);
|
||||
makeLeafTable(lootTables, HexBlocks.AKASHIC_LEAVES3);
|
||||
|
||||
var slatePool = LootPool.lootPool().name("slate").
|
||||
setRolls(ConstantValue.exactly(1))
|
||||
var slatePool = LootPool.lootPool()
|
||||
.setRolls(ConstantValue.exactly(1))
|
||||
.add(LootItem.lootTableItem(HexBlocks.SLATE)
|
||||
.apply(CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY)
|
||||
.copy(BlockEntitySlate.TAG_PATTERN, "BlockEntityTag." + BlockEntitySlate.TAG_PATTERN)));
|
||||
|
@ -74,7 +87,7 @@ public class HexLootTables extends PaucalLootTableProvider {
|
|||
private void makeLeafTable(Map<Block, LootTable.Builder> lootTables, Block block) {
|
||||
var leafPool = dropThisPool(block, 1)
|
||||
.when(new AlternativeLootItemCondition.Builder(
|
||||
CanToolPerformAction.canToolPerformAction(ToolActions.SHEARS_DIG),
|
||||
IXplatAbstractions.INSTANCE.isShearsCondition(),
|
||||
MatchTool.toolMatches(ItemPredicate.Builder.item()
|
||||
.hasEnchantment(new EnchantmentPredicate(Enchantments.SILK_TOUCH, MinMaxBounds.Ints.atLeast(1))))
|
||||
));
|
||||
|
@ -90,4 +103,60 @@ public class HexLootTables extends PaucalLootTableProvider {
|
|||
.apply(ApplyExplosionDecay.explosionDecay());
|
||||
lootTables.put(block, LootTable.lootTable().withPool(leafPool));
|
||||
}
|
||||
|
||||
|
||||
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
|
||||
|
||||
protected LootPool.Builder dropThisPool(ItemLike item, int count) {
|
||||
return dropThisPool(item, ConstantValue.exactly(count));
|
||||
}
|
||||
|
||||
protected LootPool.Builder dropThisPool(ItemLike item, NumberProvider count) {
|
||||
return LootPool.lootPool()
|
||||
.setRolls(count)
|
||||
.add(LootItem.lootTableItem(item));
|
||||
}
|
||||
|
||||
protected void dropSelf(Map<Block, LootTable.Builder> lootTables, Block... blocks) {
|
||||
for (var block : blocks) {
|
||||
dropSelf(block, lootTables);
|
||||
}
|
||||
}
|
||||
|
||||
protected void dropSelf(Block block, Map<Block, LootTable.Builder> lootTables) {
|
||||
var table = LootTable.lootTable().withPool(dropThisPool(block, 1));
|
||||
lootTables.put(block, table);
|
||||
}
|
||||
|
||||
protected void dropThis(Block block, ItemLike drop, Map<Block, LootTable.Builder> lootTables) {
|
||||
var table = LootTable.lootTable().withPool(dropThisPool(drop, 1));
|
||||
lootTables.put(block, table);
|
||||
}
|
||||
|
||||
protected void dropThis(Block block, ItemLike drop, NumberProvider count,
|
||||
Map<Block, LootTable.Builder> lootTables) {
|
||||
var table = LootTable.lootTable().withPool(dropThisPool(drop, count));
|
||||
lootTables.put(block, table);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(HashCache cache) {
|
||||
var lootTables = new HashMap<Block, LootTable.Builder>();
|
||||
this.makeLootTables(lootTables);
|
||||
|
||||
var tables = new HashMap<ResourceLocation, LootTable>();
|
||||
for (var entry : lootTables.entrySet()) {
|
||||
tables.put(entry.getKey().getLootTable(), entry.getValue().setParamSet(LootContextParamSets.BLOCK).build());
|
||||
}
|
||||
|
||||
var outputFolder = this.generator.getOutputFolder();
|
||||
tables.forEach((key, lootTable) -> {
|
||||
Path path = outputFolder.resolve("data/" + key.getNamespace() + "/loot_tables/" + key.getPath() + ".json");
|
||||
try {
|
||||
DataProvider.save(GSON, cache, LootTables.serialize(lootTable), path);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package at.petrak.hexcasting.xplat.datagen;
|
||||
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
|
||||
import java.util.EnumMap;
|
||||
|
||||
public interface IXplatIngredients {
|
||||
Ingredient glowstoneDust();
|
||||
|
||||
Ingredient leather();
|
||||
|
||||
Ingredient ironNugget();
|
||||
|
||||
Ingredient goldNugget();
|
||||
|
||||
Ingredient copperIngot();
|
||||
|
||||
Ingredient ironIngot();
|
||||
|
||||
Ingredient goldIngot();
|
||||
|
||||
EnumMap<DyeColor, Ingredient> dyes();
|
||||
|
||||
Ingredient stick();
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package at.petrak.hexcasting.forge.datagen;
|
||||
package at.petrak.hexcasting.xplat.datagen.recipe;
|
||||
|
||||
import at.petrak.hexcasting.api.HexAPI;
|
||||
import at.petrak.hexcasting.api.advancements.OvercastTrigger;
|
||||
|
@ -10,13 +10,19 @@ import at.petrak.hexcasting.common.recipe.SealFocusRecipe;
|
|||
import at.petrak.hexcasting.common.recipe.SealSpellbookRecipe;
|
||||
import at.petrak.hexcasting.common.recipe.ingredient.StateIngredientHelper;
|
||||
import at.petrak.hexcasting.common.recipe.ingredient.VillagerIngredient;
|
||||
import at.petrak.hexcasting.forge.datagen.recipebuilders.BrainsweepRecipeBuilder;
|
||||
import at.petrak.paucal.api.forge.datagen.PaucalRecipeProvider;
|
||||
import at.petrak.hexcasting.mixin.accessor.AccessorRecipeProvider;
|
||||
import at.petrak.hexcasting.xplat.IXplatAbstractions;
|
||||
import at.petrak.hexcasting.xplat.datagen.IXplatIngredients;
|
||||
import at.petrak.hexcasting.xplat.datagen.recipe.builders.BrainsweepRecipeBuilder;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.gson.JsonObject;
|
||||
import net.minecraft.advancements.critereon.EntityPredicate;
|
||||
import net.minecraft.advancements.critereon.InventoryChangeTrigger;
|
||||
import net.minecraft.advancements.critereon.ItemPredicate;
|
||||
import net.minecraft.advancements.critereon.MinMaxBounds;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.HashCache;
|
||||
import net.minecraft.data.recipes.*;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
|
@ -27,20 +33,54 @@ import net.minecraft.world.item.Item;
|
|||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.item.crafting.SimpleRecipeSerializer;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraftforge.common.Tags;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import static at.petrak.hexcasting.api.HexAPI.modLoc;
|
||||
|
||||
public class HexRecipes extends PaucalRecipeProvider {
|
||||
public HexRecipes(DataGenerator pGenerator) {
|
||||
super(pGenerator, HexAPI.MOD_ID);
|
||||
|
||||
public class HexplatRecipes extends RecipeProvider {
|
||||
public DataGenerator generator;
|
||||
public IXplatIngredients ingredients;
|
||||
|
||||
public HexplatRecipes(DataGenerator pGenerator, IXplatIngredients ingredients) {
|
||||
super(pGenerator);
|
||||
this.generator = pGenerator;
|
||||
this.ingredients = ingredients;
|
||||
}
|
||||
|
||||
|
||||
// [VanillaCopy] RecipeProvider
|
||||
@Override
|
||||
protected void buildCraftingRecipes(Consumer<FinishedRecipe> recipes) {
|
||||
public void run(HashCache cache) {
|
||||
Path path = this.generator.getOutputFolder();
|
||||
Set<ResourceLocation> set = Sets.newHashSet();
|
||||
makeRecipes((recipeJsonProvider) -> {
|
||||
if (!set.add(recipeJsonProvider.getId())) {
|
||||
throw new IllegalStateException("Duplicate recipe " + recipeJsonProvider.getId());
|
||||
} else {
|
||||
AccessorRecipeProvider.hex$SaveRecipe(cache, recipeJsonProvider.serializeRecipe(), path.resolve(
|
||||
"data/" + recipeJsonProvider.getId().getNamespace() + "/recipes/" + recipeJsonProvider.getId()
|
||||
.getPath() + ".json"));
|
||||
JsonObject jsonObject = recipeJsonProvider.serializeAdvancement();
|
||||
if (jsonObject != null) {
|
||||
IXplatAbstractions.INSTANCE.saveRecipeAdvancement(this.generator, cache, jsonObject, path.resolve(
|
||||
"data/"
|
||||
+ recipeJsonProvider.getId().getNamespace()
|
||||
+ "/advancements/" +
|
||||
recipeJsonProvider.getAdvancementId().getPath()
|
||||
+ ".json"));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void makeRecipes(Consumer<FinishedRecipe> recipes) {
|
||||
specialRecipe(recipes, SealFocusRecipe.SERIALIZER);
|
||||
specialRecipe(recipes, SealSpellbookRecipe.SERIALIZER);
|
||||
|
||||
|
@ -54,13 +94,13 @@ public class HexRecipes extends PaucalRecipeProvider {
|
|||
wandRecipe(recipes, HexItems.WAND_WARPED, Items.WARPED_PLANKS);
|
||||
wandRecipe(recipes, HexItems.WAND_AKASHIC, HexBlocks.AKASHIC_PLANKS.asItem());
|
||||
|
||||
ringCornered(HexItems.FOCUS, 1, Ingredient.of(Tags.Items.DUSTS_GLOWSTONE),
|
||||
Ingredient.of(Tags.Items.LEATHER), Ingredient.of(HexItems.CHARGED_AMETHYST))
|
||||
ringCornered(HexItems.FOCUS, 1, ingredients.glowstoneDust(),
|
||||
ingredients.leather(), Ingredient.of(HexItems.CHARGED_AMETHYST))
|
||||
.unlockedBy("has_item", has(HexItemTags.WANDS))
|
||||
.save(recipes);
|
||||
|
||||
ShapedRecipeBuilder.shaped(HexItems.SPELLBOOK)
|
||||
.define('N', Tags.Items.NUGGETS_GOLD)
|
||||
.define('N', ingredients.goldNugget())
|
||||
.define('B', Items.WRITABLE_BOOK)
|
||||
.define('A', HexItems.CHARGED_AMETHYST)
|
||||
.define('F', Items.CHORUS_FRUIT) // i wanna gate this behind the end SOMEHOW
|
||||
|
@ -72,17 +112,17 @@ public class HexRecipes extends PaucalRecipeProvider {
|
|||
.unlockedBy("has_chorus", has(Items.CHORUS_FRUIT)).save(recipes);
|
||||
|
||||
ringCornerless(HexItems.CYPHER, 1,
|
||||
Ingredient.of(Tags.Items.INGOTS_COPPER),
|
||||
ingredients.copperIngot(),
|
||||
Ingredient.of(HexItems.AMETHYST_DUST))
|
||||
.unlockedBy("has_item", has(HexItemTags.WANDS)).save(recipes);
|
||||
|
||||
ringCornerless(HexItems.TRINKET, 1,
|
||||
Ingredient.of(Tags.Items.INGOTS_IRON),
|
||||
ingredients.ironIngot(),
|
||||
Ingredient.of(Items.AMETHYST_SHARD))
|
||||
.unlockedBy("has_item", has(HexItemTags.WANDS)).save(recipes);
|
||||
|
||||
ShapedRecipeBuilder.shaped(HexItems.ARTIFACT)
|
||||
.define('F', Tags.Items.INGOTS_GOLD)
|
||||
.define('F', ingredients.goldIngot())
|
||||
.define('A', HexItems.CHARGED_AMETHYST)
|
||||
// why in god's name does minecraft have two different places for item tags
|
||||
.define('D', ItemTags.MUSIC_DISCS)
|
||||
|
@ -166,10 +206,10 @@ public class HexRecipes extends PaucalRecipeProvider {
|
|||
.unlockedBy("has_item", has(HexItems.AMETHYST_DUST)).save(recipes);
|
||||
|
||||
ShapedRecipeBuilder.shaped(HexItems.JEWELER_HAMMER)
|
||||
.define('I', Items.IRON_INGOT)
|
||||
.define('N', Items.IRON_NUGGET)
|
||||
.define('I', ingredients.ironIngot())
|
||||
.define('N', ingredients.ironNugget())
|
||||
.define('A', Items.AMETHYST_SHARD)
|
||||
.define('S', Items.STICK)
|
||||
.define('S', ingredients.stick())
|
||||
.pattern("IAN")
|
||||
.pattern(" S ")
|
||||
.pattern(" S ")
|
||||
|
@ -197,7 +237,7 @@ public class HexRecipes extends PaucalRecipeProvider {
|
|||
ringAll(HexBlocks.SCROLL_PAPER, 8, Items.PAPER, Items.AMETHYST_SHARD)
|
||||
.unlockedBy("has_item", has(Items.AMETHYST_SHARD)).save(recipes);
|
||||
ShapelessRecipeBuilder.shapeless(HexBlocks.ANCIENT_SCROLL_PAPER, 8)
|
||||
.requires(Tags.Items.DYES_BROWN)
|
||||
.requires(ingredients.dyes().get(DyeColor.BROWN))
|
||||
.requires(HexBlocks.SCROLL_PAPER, 8)
|
||||
.unlockedBy("has_item", has(HexBlocks.SCROLL_PAPER)).save(recipes);
|
||||
stack(HexBlocks.SCROLL_PAPER_LANTERN, 1, HexBlocks.SCROLL_PAPER, Items.TORCH)
|
||||
|
@ -205,13 +245,13 @@ public class HexRecipes extends PaucalRecipeProvider {
|
|||
stack(HexBlocks.ANCIENT_SCROLL_PAPER_LANTERN, 1, HexBlocks.ANCIENT_SCROLL_PAPER, Items.TORCH)
|
||||
.unlockedBy("has_item", has(HexBlocks.ANCIENT_SCROLL_PAPER)).save(recipes);
|
||||
ShapelessRecipeBuilder.shapeless(HexBlocks.ANCIENT_SCROLL_PAPER_LANTERN, 8)
|
||||
.requires(Tags.Items.DYES_BROWN)
|
||||
.requires(ingredients.dyes().get(DyeColor.BROWN))
|
||||
.requires(HexBlocks.SCROLL_PAPER_LANTERN, 8)
|
||||
.unlockedBy("has_item", has(HexBlocks.SCROLL_PAPER_LANTERN))
|
||||
.save(recipes, modLoc("ageing_scroll_paper_lantern"));
|
||||
|
||||
stack(HexBlocks.SCONCE, 4, Ingredient.of(HexItems.CHARGED_AMETHYST),
|
||||
Ingredient.of(Tags.Items.INGOTS_COPPER))
|
||||
ingredients.copperIngot())
|
||||
.unlockedBy("has_item", has(HexItems.CHARGED_AMETHYST)).save(recipes);
|
||||
|
||||
ShapelessRecipeBuilder.shapeless(HexBlocks.AKASHIC_PLANKS, 4)
|
||||
|
@ -366,12 +406,156 @@ public class HexRecipes extends PaucalRecipeProvider {
|
|||
}
|
||||
|
||||
protected void specialRecipe(Consumer<FinishedRecipe> consumer, SimpleRecipeSerializer<?> serializer) {
|
||||
var name = ForgeRegistries.RECIPE_SERIALIZERS.getKey(serializer);
|
||||
var name = Registry.RECIPE_SERIALIZER.getKey(serializer);
|
||||
SpecialRecipeBuilder.special(serializer).save(consumer, HexAPI.MOD_ID + ":dynamic/" + name.getPath());
|
||||
}
|
||||
|
||||
// why is this private waa
|
||||
protected static InventoryChangeTrigger.TriggerInstance has(TagKey<Item> pTag) {
|
||||
public static InventoryChangeTrigger.TriggerInstance has(TagKey<Item> pTag) {
|
||||
return inventoryTrigger(ItemPredicate.Builder.item().of(pTag).build());
|
||||
}
|
||||
|
||||
public static InventoryChangeTrigger.TriggerInstance has(ItemLike $$0) {
|
||||
return inventoryTrigger(ItemPredicate.Builder.item().of($$0).build());
|
||||
}
|
||||
|
||||
public static InventoryChangeTrigger.TriggerInstance inventoryTrigger(ItemPredicate... $$0) {
|
||||
return new InventoryChangeTrigger.TriggerInstance(EntityPredicate.Composite.ANY, MinMaxBounds.Ints.ANY,
|
||||
MinMaxBounds.Ints.ANY, MinMaxBounds.Ints.ANY, $$0);
|
||||
}
|
||||
|
||||
// steal from paucal
|
||||
protected ShapedRecipeBuilder ring(ItemLike out, int count, Ingredient outer, @Nullable Ingredient inner) {
|
||||
return this.ringCornered(out, count, outer, outer, inner);
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ring(ItemLike out, int count, ItemLike outer, @Nullable ItemLike inner) {
|
||||
return this.ring(out, count, Ingredient.of(new ItemLike[]{outer}), this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ring(ItemLike out, int count, TagKey<Item> outer, @Nullable TagKey<Item> inner) {
|
||||
return this.ring(out, count, Ingredient.of(outer), this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringCornerless(ItemLike out, int count, Ingredient outer,
|
||||
@Nullable Ingredient inner) {
|
||||
return this.ringCornered(out, count, (Ingredient) outer, (Ingredient) null, (Ingredient) inner);
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringCornerless(ItemLike out, int count, ItemLike outer, @Nullable ItemLike inner) {
|
||||
return this.ringCornerless(out, count, Ingredient.of(new ItemLike[]{outer}), this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringCornerless(ItemLike out, int count, TagKey<Item> outer,
|
||||
@Nullable TagKey<Item> inner) {
|
||||
return this.ringCornerless(out, count, Ingredient.of(outer), this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringAll(ItemLike out, int count, Ingredient outer, @Nullable Ingredient inner) {
|
||||
return this.ringCornered(out, count, outer, outer, inner);
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringAll(ItemLike out, int count, ItemLike outer, @Nullable ItemLike inner) {
|
||||
return this.ringAll(out, count, Ingredient.of(outer), this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringAll(ItemLike out, int count, TagKey<Item> outer, @Nullable TagKey<Item> inner) {
|
||||
return this.ringAll(out, count, Ingredient.of(outer), this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringCornered(ItemLike out, int count, @Nullable Ingredient cardinal,
|
||||
@Nullable Ingredient diagonal, @Nullable Ingredient inner) {
|
||||
if (cardinal == null && diagonal == null && inner == null) {
|
||||
throw new IllegalArgumentException("at least one ingredient must be non-null");
|
||||
} else if (inner != null && cardinal == null && diagonal == null) {
|
||||
throw new IllegalArgumentException("if inner is non-null, either cardinal or diagonal must not be");
|
||||
} else {
|
||||
ShapedRecipeBuilder builder = ShapedRecipeBuilder.shaped(out, count);
|
||||
char C = ' ';
|
||||
if (cardinal != null) {
|
||||
builder.define('C', cardinal);
|
||||
C = 'C';
|
||||
}
|
||||
|
||||
char D = ' ';
|
||||
if (diagonal != null) {
|
||||
builder.define('D', diagonal);
|
||||
D = 'D';
|
||||
}
|
||||
|
||||
char I = ' ';
|
||||
if (inner != null) {
|
||||
builder.define('I', inner);
|
||||
I = 'I';
|
||||
}
|
||||
|
||||
builder.pattern(String.format("%c%c%c", D, C, D))
|
||||
.pattern(String.format("%c%c%c", C, I, C))
|
||||
.pattern(String.format("%c%c%c", D, C, D));
|
||||
return builder;
|
||||
}
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringCornered(ItemLike out, int count, @Nullable ItemLike cardinal,
|
||||
@Nullable ItemLike diagonal, @Nullable ItemLike inner) {
|
||||
return this.ringCornered(out, count, this.ingredientOf(cardinal), this.ingredientOf(diagonal),
|
||||
this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder ringCornered(ItemLike out, int count, @Nullable TagKey<Item> cardinal,
|
||||
@Nullable TagKey<Item> diagonal, @Nullable TagKey<Item> inner) {
|
||||
return this.ringCornered(out, count, this.ingredientOf(cardinal), this.ingredientOf(diagonal),
|
||||
this.ingredientOf(inner));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder stack(ItemLike out, int count, Ingredient top, Ingredient bottom) {
|
||||
return ShapedRecipeBuilder.shaped(out, count).define('T', top).define('B', bottom).pattern("T").pattern("B");
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder stack(ItemLike out, int count, ItemLike top, ItemLike bottom) {
|
||||
return this.stack(out, count, Ingredient.of(top), Ingredient.of(bottom));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder stack(ItemLike out, int count, TagKey<Item> top, TagKey<Item> bottom) {
|
||||
return this.stack(out, count, Ingredient.of(top), Ingredient.of(bottom));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder stick(ItemLike out, int count, Ingredient input) {
|
||||
return this.stack(out, count, input, input);
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder stick(ItemLike out, int count, ItemLike input) {
|
||||
return this.stick(out, count, Ingredient.of(input));
|
||||
}
|
||||
|
||||
protected ShapedRecipeBuilder stick(ItemLike out, int count, TagKey<Item> input) {
|
||||
return this.stick(out, count, Ingredient.of(input));
|
||||
}
|
||||
|
||||
protected void packing(ItemLike free, ItemLike compressed, String freeName, boolean largeSize,
|
||||
Consumer<FinishedRecipe> recipes) {
|
||||
ShapedRecipeBuilder pack = ShapedRecipeBuilder.shaped(compressed).define('X', free);
|
||||
if (largeSize) {
|
||||
pack.pattern("XXX").pattern("XXX").pattern("XXX");
|
||||
} else {
|
||||
pack.pattern("XX").pattern("XX");
|
||||
}
|
||||
|
||||
pack.unlockedBy("has_item", has(free)).save(recipes, modLoc(freeName + "_packing"));
|
||||
ShapelessRecipeBuilder.shapeless(free, largeSize ? 9 : 4)
|
||||
.requires(compressed)
|
||||
.unlockedBy("has_item", has(free))
|
||||
.save(recipes, modLoc(freeName + "_unpacking"));
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
protected Ingredient ingredientOf(@Nullable ItemLike item) {
|
||||
return item == null ? null : Ingredient.of(new ItemLike[]{item});
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected Ingredient ingredientOf(@Nullable TagKey<Item> item) {
|
||||
return item == null ? null : Ingredient.of(item);
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package at.petrak.hexcasting.forge.datagen.recipebuilders;
|
||||
package at.petrak.hexcasting.xplat.datagen.recipe.builders;
|
||||
|
||||
import at.petrak.hexcasting.common.recipe.HexRecipeSerializers;
|
||||
import at.petrak.hexcasting.common.recipe.ingredient.StateIngredient;
|
|
@ -5,12 +5,7 @@
|
|||
"refmap": "hexcasting.mixins.refmap.json",
|
||||
"package": "at.petrak.hexcasting.mixin",
|
||||
"mixins": [
|
||||
"MixinMob",
|
||||
"MixinRaider",
|
||||
"MixinVillager",
|
||||
"MixinWitch",
|
||||
"accessor.AccessorLivingEntity",
|
||||
"accessor.AccessorUseOnContext",
|
||||
"accessor.CriteriaTriggersAccessor"
|
||||
"AccessorTagsProvider", "MixinMob", "MixinRaider", "MixinVillager", "MixinWitch", "accessor.AccessorLivingEntity",
|
||||
"accessor.AccessorRecipeProvider", "accessor.AccessorUseOnContext", "accessor.CriteriaTriggersAccessor"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -18,6 +18,12 @@ loom {
|
|||
server()
|
||||
setConfigName("Fabric Server")
|
||||
}
|
||||
datagen {
|
||||
client()
|
||||
vmArg "-Dfabric-api.datagen"
|
||||
vmArg "-Dfabric-api.datagen.modid=${modID}"
|
||||
vmArg "-Dfabric-api.datagen.output-dir=${file("src/generated/resources")}"
|
||||
}
|
||||
|
||||
configureEach {
|
||||
runDir "Fabric/run"
|
||||
|
@ -85,4 +91,8 @@ processResources {
|
|||
filesMatching("fabric.mod.json") {
|
||||
expand "version": project.version
|
||||
}
|
||||
|
||||
duplicatesStrategy 'exclude'
|
||||
}
|
||||
|
||||
setupJar(this)
|
||||
|
|
244
Fabric/src/generated/resources/.cache/cache
Normal file
244
Fabric/src/generated/resources/.cache/cache
Normal file
|
@ -0,0 +1,244 @@
|
|||
196c49b203748e57a9b2b1259055b9de4b6be8d8 data\hexcasting\recipes\wand_spruce.json
|
||||
06a4f3776d2bb8f294737d100143a0914342310a data\hexcasting\recipes\dye_colorizer_light_blue.json
|
||||
e125117befadda0785e370969a8e04eff070d057 data\hexcasting\loot_tables\blocks\amethyst_sconce.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data\minecraft\tags\blocks\wooden_buttons.json
|
||||
26782da27b3ce2dcab8545f672d68fe1a8549f35 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_slab.json
|
||||
8aa3d09d72255aa4da497ab4225654961063a496 data\hexcasting\recipes\ancient_scroll_paper.json
|
||||
fe5f10e9258f430859f1f1f87320a2b5c7b67654 data\hexcasting\recipes\dye_colorizer_green.json
|
||||
7a535e710c96e39a17606a10bc1f153d7c57b8e7 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_pressure_plate.json
|
||||
090b54b026f6fef2502295ddde5a60f5350e2ec6 data\hexcasting\advancements\recipes\hexcasting.creative_tab\artifact.json
|
||||
49b6ea97ddc55ef3d7fa47582f268a07a35cadde data\hexcasting\loot_tables\blocks\slate.json
|
||||
9fcc0862c99c50a1df9d3af95b2b3c2af28afa1b data\hexcasting\advancements\recipes\hexcasting.creative_tab\slate_block_from_slates.json
|
||||
4f852507d843f82dce1512f55abfb205b9829ed4 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_planks.json
|
||||
2397e64bd5fa2af12bb4f0f7efbc55f387c07a2b data\hexcasting\recipes\lens.json
|
||||
26e9416771d97f9c716d07c27b1b5ca4a267eea2 data\hexcasting\loot_tables\blocks\amethyst_dust_block.json
|
||||
3e49b1076839e73e871faf64262f96bed22a6b1d data\hexcasting\recipes\artifact.json
|
||||
a78da1015ec1e17bf99ffaa75a85ed2cdf0351d2 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_2.json
|
||||
add097a7a749bd1ebd5828216f013f6cd5b72b62 data\hexcasting\recipes\akashic_door.json
|
||||
8ef1f2fcc98c19e3ff1ccdf1c427a6458a720023 data\hexcasting\recipes\pride_colorizer_3.json
|
||||
85fea90b80954899f236e52d3b3a25f305f8b9d5 data\hexcasting\advancements\recipes\hexcasting.creative_tab\scroll_paper_lantern.json
|
||||
8e73ac3942a94096017e8c775724beafcbade37b data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_12.json
|
||||
5f1e9330dcdf927e128212678c8e262c6daa92f1 data\hexcasting\recipes\pride_colorizer_13.json
|
||||
7351200c8e3eb24772852c578286384c8aab61bd data\hexcasting\advancements\recipes\hexcasting.creative_tab\empty_directrix.json
|
||||
eb17a23e7a9543f33922c056cdf0d63def176bf2 data\hexcasting\advancements\recipes\hexcasting.creative_tab\uuid_colorizer.json
|
||||
33fed8fb8e34df026e1eea0df8161c7f842a8648 data\hexcasting\recipes\dye_colorizer_black.json
|
||||
bceac44311dc2771c3744c0cda299f03fb957350 data\hexcasting\loot_tables\blocks\scroll_paper_lantern.json
|
||||
4066f098ef104eadf6729bb372d9e643c598b477 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_wood_stripped.json
|
||||
a27a2514fd3acb6cf0a4f2a6b176ca4c2a3ee064 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_cyan.json
|
||||
d6dfd0c6e995270868cb90de818d24b8a667fd01 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_purple.json
|
||||
b7c248d2627c2a2b398d1c50181c1e0863612424 data\hexcasting\recipes\empty_impetus.json
|
||||
d5122f034678cc53a2921c65f30451caf708046c data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_trapdoor.json
|
||||
5d4811f78feefbef0a305555143f488b3dac7ac6 data\hexcasting\advancements\recipes\brainsweep\brainsweep\impetus_storedplayer.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data\hexcasting\tags\items\akashic_logs.json
|
||||
6837c1fe0ab23167ca8475086b28115369227e0c data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_light_gray.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data\minecraft\tags\items\doors.json
|
||||
fe8a7288aa27c07932a31c64ff8fadb943b278d5 data\hexcasting\recipes\dye_colorizer_pink.json
|
||||
43071f2aa09fa59dd8f0211a68c842dac833be02 data\hexcasting\advancements\recipes\hexcasting.creative_tab\scroll.json
|
||||
5241508316a04e9e22452f71c54beae4c75a9bad data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_4.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data\minecraft\tags\blocks\logs.json
|
||||
e0ff0fe75be853b849f84b05787c1c791fa9e208 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_stairs.json
|
||||
c25784941d6416744fb2ca2d43a3203e5c3e7c8a data\minecraft\tags\items\leaves.json
|
||||
310e2440f26f130c81d32d9fcd93a3384c2b1e72 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_brown.json
|
||||
737ac05e20d6633abd383d654f7cd7e92564447b data\hexcasting\loot_tables\blocks\directrix_redstone.json
|
||||
2ec90cd941acad6eabfb38d21466ef8e9b9bf2c1 data\hexcasting\recipes\wand_jungle.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data\minecraft\tags\blocks\wooden_trapdoors.json
|
||||
874ee348cf2542696b7768049529a2001f0820e7 data\hexcasting\advancements\recipes\hexcasting.creative_tab\jeweler_hammer.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data\minecraft\tags\items\wooden_buttons.json
|
||||
7077bb190244008a715eab451c80e8d489844c01 data\hexcasting\loot_tables\blocks\empty_impetus.json
|
||||
cf0ad981bebbb79414d955fb40fbf537fe88b89d data\hexcasting\advancements\recipes\brainsweep\brainsweep\akashic_record.json
|
||||
c742a0a5fba2388263bfccfb49c60277d817f8cd data\hexcasting\recipes\pride_colorizer_1.json
|
||||
9e8942971a3b3d0b1ec6a3add5366743429605ca data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_10.json
|
||||
0cd94b91d64a31a251eebbb37845d165c603452e data\hexcasting\recipes\wand_crimson.json
|
||||
5d6fac562dd7b7a4be0006de8b4758d5657ac054 data\hexcasting\recipes\pride_colorizer_7.json
|
||||
ce9ca7b98a89540996f2ad18eea98e31df7974b5 data\hexcasting\recipes\akashic_planks.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data\minecraft\tags\items\logs.json
|
||||
484be1c50092772587dd18769e63ee3ab22ad971 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_orange.json
|
||||
91348d69c8a49eae2bbaf9fb00b9604c43716527 data\hexcasting\recipes\dye_colorizer_brown.json
|
||||
29559dc2a5c4e189ab7edfbb71fed0a84dd96d45 data\hexcasting\recipes\dye_colorizer_red.json
|
||||
b9083c4c0a7a365bdfd785a21826a89dc8d5db52 data\hexcasting\loot_tables\blocks\akashic_record.json
|
||||
fa04d5bc32f5646cd67bc8e8b572bdb7849b735e data\hexcasting\recipes\akashic_bookshelf.json
|
||||
3f9756b2c5137b285c4faa88ab43c4996b6b2bb6 data\hexcasting\recipes\ancient_scroll_paper_lantern.json
|
||||
1157a6545ece0e2b8734b8a1428f9a3c021c8b73 data\hexcasting\recipes\wand_akashic.json
|
||||
2c542a616b312e41537fb25a2362877dd50d2692 data\hexcasting\recipes\akashic_connector.json
|
||||
2d79a41ba8697f9e1fa26b1bff48f33c824d3823 data\minecraft\tags\blocks\pressure_plates.json
|
||||
1ba431aef086bb60bfe8fe01b4d2bf5dfb7593c4 data\hexcasting\loot_tables\blocks\impetus_look.json
|
||||
f3e78a96f17dc5ed54047bb24be58dbf3151c8fa data\hexcasting\advancements\recipes\hexcasting.creative_tab\ancient_scroll_paper_lantern.json
|
||||
fc57d15e9f9f11347a2170dd06053954345368d2 data\hexcasting\advancements\recipes\hexcasting.creative_tab\lens.json
|
||||
5c471f81cc168826f1652a39a71aeb85e786ea16 data\hexcasting\recipes\scroll_paper_lantern.json
|
||||
9d4704f96cc4cfa3275092fb58ff90c98449abe3 data\hexcasting\loot_tables\blocks\ancient_scroll_paper.json
|
||||
ab5d271371323d93ff6eed18179ee4f7fd8c939c data\hexcasting\recipes\brainsweep\impetus_rightclick.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data\minecraft\tags\items\slabs.json
|
||||
318c04242e7b9c302e68b3bfe6dd11ec0fc8a863 data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_jungle.json
|
||||
3a12c82f29953ee4131a0b49c1b35999c2779019 data\hexcasting\recipes\pride_colorizer_9.json
|
||||
563cb6dda9c55864f141f2ec0ecd2a2b95f57237 data\hexcasting\advancements\recipes\hexcasting.creative_tab\amethyst_tiles.json
|
||||
03504ac1cc40ece1097e46a8244b7cfb4b32014c data\hexcasting\recipes\pride_colorizer_8.json
|
||||
7c607fdc60aac2b78394931fc39ae24a1a3dd3d2 data\hexcasting\loot_tables\blocks\empty_directrix.json
|
||||
022dc03ce6f2915459c7bf75d44ec0b8bb3e4083 data\hexcasting\recipes\wand_dark_oak.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data\minecraft\tags\blocks\planks.json
|
||||
1d19457c9843d97d2ed59199d9077940d9e5e46a data\hexcasting\recipes\akashic_button.json
|
||||
3b566309ba10142fe73c8f32ce501592befd907e data\hexcasting\loot_tables\blocks\akashic_stairs.json
|
||||
c3aed1dbaa46e084711a116d1bb4522df9a7405a data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_light_blue.json
|
||||
14d6be5d47b54676a349564ea32c045c76c39b45 data\hexcasting\recipes\uuid_colorizer.json
|
||||
339dc062b4d8d0c4fa2d1eccd2935b4c37ec75c6 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_pink.json
|
||||
f8d2872c4e692153049b6ae4879755a079954763 data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_spruce.json
|
||||
c5341777604a4be5a311e300a4de89967b7caad2 data\hexcasting\recipes\dye_colorizer_yellow.json
|
||||
4fad619e1330e938d2e2596fc8fd4e5050a8b40e data\hexcasting\recipes\dye_colorizer_lime.json
|
||||
2d79a41ba8697f9e1fa26b1bff48f33c824d3823 data\minecraft\tags\blocks\wooden_pressure_plates.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data\hexcasting\tags\items\akashic_planks.json
|
||||
d6355142e6edb7964c95997dc877a3652081f793 data\hexcasting\loot_tables\blocks\amethyst_tiles.json
|
||||
168749d413b20bb9c05a8e7191758e0e596a319b data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_connector.json
|
||||
f55afc2c05d93b5a44bc9fd73c5e81e71b183965 data\minecraft\tags\blocks\mineable\shovel.json
|
||||
855d1421063c24b2d1507f90f378f51261111d84 data\hexcasting\recipes\pride_colorizer_10.json
|
||||
9a24dcdf873dc97001efb487f6e00739c2ebf15c data\hexcasting\recipes\akashic_slab.json
|
||||
769de6bc8862c02c3364d20e304b21cfb0bfaf31 data\hexcasting\loot_tables\blocks\akashic_log.json
|
||||
1266b263056dd15c862bff27b05a119c4bbc89ee data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_door.json
|
||||
9dc35c66da608913da03bc3016f127841d2414cc data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_9.json
|
||||
d14cf2f8f0895a5b6dc09b7582c0abf1c2514adf data\hexcasting\recipes\sub_sandwich.json
|
||||
4dc3f5865d69a604923cb59f4a3eed7b4aa175cf data\hexcasting\recipes\ageing_scroll_paper_lantern.json
|
||||
f74f8389f1e8bdb77a92ecfb8d7d7d6f4418d818 data\hexcasting\recipes\akashic_panel.json
|
||||
4da41a82a17f58c9342944f214e745696c1d8ed7 data\hexcasting\loot_tables\blocks\impetus_storedplayer.json
|
||||
c11dc4388c18dadff5d93126eb0f7ae848d627b9 data\hexcasting\advancements\recipes\brainsweep\brainsweep\directrix_redstone.json
|
||||
6f1c0a84236b1e3cb4352d87bf3d553eb7e1a938 data\hexcasting\recipes\dye_colorizer_orange.json
|
||||
2ad42dd4a4877a23cb7f45e8b75c9f53f58d12f5 data\hexcasting\recipes\wand_acacia.json
|
||||
2d79a41ba8697f9e1fa26b1bff48f33c824d3823 data\minecraft\tags\items\wooden_pressure_plates.json
|
||||
51a90058e4701f2d6ef157e1a930c203876e2447 data\hexcasting\recipes\pride_colorizer_11.json
|
||||
ce79c9e183b57bfbdb75cd074d7ff6e48894d05c data\hexcasting\loot_tables\blocks\akashic_connector.json
|
||||
d7213631b2f9075c9bdef0d5a48ca28f85f5a090 data\hexcasting\advancements\recipes\hexcasting.creative_tab\scroll_paper.json
|
||||
0e95c5f97c4089d654334a0d58fbf2b808548bd0 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_gray.json
|
||||
72795bfbffffa8ab2a02c869f16447167f4fd179 data\hexcasting\loot_tables\blocks\akashic_pressure_plate.json
|
||||
e4ef73afbd13a579493f45929c3f7adb8aa86dc2 data\hexcasting\recipes\dye_colorizer_cyan.json
|
||||
31f9b7d8141f67981deedf7a46894e454006bb28 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_button.json
|
||||
076dd8bb2ce1508293384fa93fa138a369d10751 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_green.json
|
||||
a84bf48a188d7b250db5c971a6d9b63d82279ba3 data\hexcasting\recipes\akashic_wood.json
|
||||
09e80537530ed51b6792f16fe8b32448e89dc334 data\hexcasting\recipes\slate_block.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data\hexcasting\tags\blocks\akashic_logs.json
|
||||
fe60c763bfe0afa0a266b7390edfc62bde8941b7 data\hexcasting\tags\items\phial_base.json
|
||||
a639b071a5f4738ddf798fcac041a5002657e146 data\hexcasting\recipes\jeweler_hammer.json
|
||||
d1b8725bbfc01e2d9a02ef84c911fef89b3636a9 data\hexcasting\tags\items\wands.json
|
||||
6f5c41ab9f87ec1206efaaab8d91adc766bb79fd data\hexcasting\recipes\slate_block_from_slates.json
|
||||
b8bc2f7ab38646e63376b23f7490a17011908496 data\hexcasting\loot_tables\blocks\akashic_leaves1.json
|
||||
584bd8806ef8df5f0e623ed727d6e54a61e60dea data\hexcasting\loot_tables\blocks\slate_block.json
|
||||
fa7dcb3a4e6a6631e437fda9739cfdf40f1b8102 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_3.json
|
||||
3b2bcffe70bb1f732f06c2560cef66de6c273d62 data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_warped.json
|
||||
a92e5560c774bb81cd9f38bd9378af8695cac622 data\hexcasting\recipes\akashic_stairs.json
|
||||
c2a362b8c19cb288187d8ff340f82198edc54378 data\hexcasting\advancements\recipes\brainsweep\brainsweep\budding_amethyst.json
|
||||
86424d21e1bf91c128d3b0d528b813629ad962e9 data\hexcasting\advancements\recipes\brainsweep\brainsweep\impetus_look.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data\minecraft\tags\blocks\logs_that_burn.json
|
||||
e5c835d3866e8f5ecfb03c9e7c2c134a50951d67 data\hexcasting\recipes\amethyst_tiles.json
|
||||
30f81e0537c625a4cafcdec75314926569291171 data\hexcasting\recipes\brainsweep\budding_amethyst.json
|
||||
b519fd81671c9cb8d909bbfd0d4017d2005432d3 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_blue.json
|
||||
ac285195e958804bcbd0b87e443d2851fd3a4856 data\hexcasting\recipes\akashic_tile.json
|
||||
c25784941d6416744fb2ca2d43a3203e5c3e7c8a data\minecraft\tags\blocks\mineable\hoe.json
|
||||
08f14a615c6c8c0b8a08a56af000c1e1991732d3 data\hexcasting\advancements\recipes\hexcasting.creative_tab\trinket.json
|
||||
13fc3b9e91486b3b0ca56b4ef7d5ddb8920aa7fe data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_1.json
|
||||
811177c2ddc341f7a6d8704e1eb273f200aee3a1 data\hexcasting\loot_tables\blocks\akashic_button.json
|
||||
01841b89db3b16a614a098cd468b6d3b64986a34 data\hexcasting\recipes\pride_colorizer_2.json
|
||||
91bb341776ce64a68e1c4200aa8f5b2fa6669820 data\hexcasting\recipes\amethyst_dust_unpacking.json
|
||||
bc79add419b8791e68b35076355fea11dfc640c6 data\hexcasting\recipes\dye_colorizer_white.json
|
||||
d72a4675ceb721ee4ac43339d8bfbbb82c2adba2 data\hexcasting\advancements\recipes\hexcasting.creative_tab\slate_block.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data\minecraft\tags\blocks\buttons.json
|
||||
5b9b1c15c7a157aa56b3caa7d43a6ad1fa8f4710 data\hexcasting\loot_tables\blocks\akashic_bookshelf.json
|
||||
ef936e73eea3be9d53c4ac5c78d1477675550375 data\hexcasting\recipes\stonecutting\amethyst_tiles.json
|
||||
b0b1c5fff194b92ff8c5d6468e177271fd910abd data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_red.json
|
||||
7f165b1783a871cf69db2e9978290f8993665649 data\hexcasting\advancements\recipes\hexcasting.creative_tab\cypher.json
|
||||
c386a7294db6ed97f9b131cb8402ca6203092b63 data\hexcasting\recipes\akashic_wood_stripped.json
|
||||
66e51300dc72c27ed8024ddf852ac9a6208a66b1 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_bookshelf.json
|
||||
bdf848284137f0116ddf4725b0dda6eaa0cef5fd data\hexcasting\loot_tables\blocks\akashic_wood_stripped.json
|
||||
f32ccb2d36d773215d91dee46bec70a20af501c3 data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_birch.json
|
||||
16fd879351f390bfa980a5f4d77e32f576de2f66 data\hexcasting\recipes\dye_colorizer_purple.json
|
||||
eb4bfbd7fc7632a5c16aa1d50d6090a1f466069b data\minecraft\tags\blocks\mineable\pickaxe.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data\minecraft\tags\items\trapdoors.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data\minecraft\tags\blocks\trapdoors.json
|
||||
5a17fa9a1496f5fbedd0362f94a5231e0e5ebbfc data\hexcasting\advancements\recipes\hexcasting.creative_tab\ageing_scroll_paper_lantern.json
|
||||
d7f85ce9d46aacc7ec89dc7aa0f88a331ccfbae7 data\hexcasting\recipes\brainsweep\akashic_record.json
|
||||
5703cc53d18f6b3a14bb030b639d286981c4c754 data\hexcasting\recipes\spellbook.json
|
||||
386f1b0f7676324186d0694de3c86a77fac5ce98 data\hexcasting\recipes\dye_colorizer_magenta.json
|
||||
b107ec9af9e08d124f3d4f14d85911f55a5b905b data\hexcasting\recipes\akashic_pressure_plate.json
|
||||
0ea329526c81c1e4064bab61721ab4586cfcf706 data\hexcasting\recipes\pride_colorizer_0.json
|
||||
bb5c04fa0e6d0b3322f3b24d49d1a30a5b790889 data\hexcasting\loot_tables\blocks\akashic_slab.json
|
||||
149179e18b1b8db5dc3fb96e6faa6cb6ffaecb75 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_panel.json
|
||||
ccc33b4f1a43c8ecd3352ad36ae2dd2191317b5b data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_white.json
|
||||
9c857c4aeda8a1b3d7a1b5d341871a9434b5816f data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_yellow.json
|
||||
c471220e70ee9ecbf58a21ea1d28e653efcc4fad data\hexcasting\recipes\dye_colorizer_gray.json
|
||||
59000d9f3edb942081f7d1e03d753e9cd59690cc data\hexcasting\advancements\recipes\hexcasting.creative_tab\sub_sandwich.json
|
||||
b8b58bbaf1ddca3514896af14db83f304e415305 data\minecraft\tags\items\wooden_trapdoors.json
|
||||
55dded121a8dddb2ee7fb1f3ffcdcd1ada4afbd5 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_wood.json
|
||||
8886e95ddd696288c1f5706cbd63878a4a2bae3a data\hexcasting\loot_tables\blocks\akashic_planks.json
|
||||
ccf4ea841ea9a66738253385c659ff86c85a73f5 data\hexcasting\recipes\scroll_paper.json
|
||||
9ddd0b27bb747d433eef17a9f1bd4f055e444f7a data\hexcasting\loot_tables\blocks\akashic_leaves2.json
|
||||
337c4370fd24b66a6b4b3f6c296a33d9a799034e data\hexcasting\advancements\recipes\hexcasting.creative_tab\amethyst_sconce.json
|
||||
7cb828138a8ea2dae399011ee02bb909ca5f993e data\hexcasting\loot_tables\blocks\akashic_log_stripped.json
|
||||
f089ab17470c5fa0065438c5533d5fafb3ee8eaf data\hexcasting\advancements\recipes\hexcasting.creative_tab\focus.json
|
||||
8209fd940de230393aae894c96a765c62bed4cc2 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_8.json
|
||||
22ad2496732633bb5539a1fa761051d7add48055 data\hexcasting\advancements\recipes\hexcasting.creative_tab\slate.json
|
||||
3b1c077f88f625c0b2653324c7b94fd3f2b3a538 data\hexcasting\loot_tables\blocks\akashic_tile.json
|
||||
aab3082b3303f358cc265fb10bc9bbe08c96eef0 data\hexcasting\recipes\trinket.json
|
||||
65bb0279c70aed060a09332552a122cf993f5d2a data\hexcasting\recipes\pride_colorizer_12.json
|
||||
d0c66f50c20912aa0175aea9f97a28e59051b586 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_13.json
|
||||
1dc89dff5d4fadb95d9b5a2a5a910f63ea4b02bf data\minecraft\tags\blocks\crystal_sound_blocks.json
|
||||
b3a23a6430b9e6c7c9e332c6ec996d9d90e7f432 data\hexcasting\recipes\pride_colorizer_4.json
|
||||
e5ae652aee1567ac2e626fa0f88f160993a6f9a5 data\hexcasting\advancements\recipes\hexcasting.creative_tab\amethyst_dust_unpacking.json
|
||||
c25784941d6416744fb2ca2d43a3203e5c3e7c8a data\minecraft\tags\blocks\leaves.json
|
||||
ef016ca292fa4edc7496b64e6f2931f4e7d90636 data\hexcasting\recipes\amethyst_dust_packing.json
|
||||
f7bbc60f547a02378ddb1f23395add4822725fed data\hexcasting\recipes\wand_oak.json
|
||||
3fe1fcf17e1e25aebede47c537f92888330ccf9f data\hexcasting\advancements\recipes\hexcasting.creative_tab\abacus.json
|
||||
b42dae604eab34ae3831fa16c063af852c175791 data\hexcasting\advancements\recipes\hexcasting.creative_tab\ancient_scroll_paper.json
|
||||
c375ba3f7105d6f57ef982f6f4e9326ad88a947d data\hexcasting\loot_tables\blocks\ancient_scroll_paper_lantern.json
|
||||
62b120d8943a9e73778ad1468f12532b21774994 data\hexcasting\recipes\akashic_trapdoor.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data\minecraft\tags\blocks\wooden_slabs.json
|
||||
c521621c409275e219f72abf5c6089d60408e646 data\hexcasting\loot_tables\blocks\impetus_rightclick.json
|
||||
a952d33cda8b805237052b602cf066683c4bf261 data\hexcasting\recipes\empty_directrix.json
|
||||
f3a33396e071f3afd61eadab2aabdb9acf2ae775 data\hexcasting\recipes\slate.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data\minecraft\tags\blocks\slabs.json
|
||||
05e86742a71afd740f47639be62f93bc9898fcde data\c\tags\items\gems.json
|
||||
c93d37c6a54b4015a073ad18189f6e721406f183 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_6.json
|
||||
918075a87ccc30a489aa8cafa2de992dd179aeac data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_lime.json
|
||||
0295cb6a13069d4e211c18132a2a40d57145b45c data\hexcasting\loot_tables\blocks\scroll_paper.json
|
||||
804f0e5c6c32c7310129437ccca3ffc148bb973b data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_acacia.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data\hexcasting\tags\blocks\akashic_planks.json
|
||||
16705d340500a2796facb4256852fd3d8e9775f8 data\hexcasting\loot_tables\blocks\akashic_wood.json
|
||||
99aae9efc13ff2b8a4612579b2f865ed2fbe8985 data\hexcasting\advancements\recipes\hexcasting.creative_tab\akashic_tile.json
|
||||
5f3e3813757d8300acad523d45ac7c4d85728399 data\minecraft\tags\items\buttons.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data\minecraft\tags\items\wooden_doors.json
|
||||
a2ea936ff220d9faa168ffbc60a9823de2119ac5 data\hexcasting\recipes\cypher.json
|
||||
5f9f0962f407062e7b6dd0e8c5f8c55ce13962a5 data\hexcasting\advancements\recipes\brainsweep\brainsweep\impetus_rightclick.json
|
||||
3dae781adc5cbdf6e415316ab6d5ce9efa8774c4 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_5.json
|
||||
779b7b9be93062e935972af1cff9c79fa5440a23 data\hexcasting\recipes\amethyst_sconce.json
|
||||
f6fab3a3296d157a2b969af0c86eb0e5a9f14df4 data\hexcasting\recipes\wand_birch.json
|
||||
34d21369f8879dd084c3215e709ae987a994372f data\hexcasting\recipes\brainsweep\impetus_storedplayer.json
|
||||
db8a00478e1c4b0f9b143b5946d1ba25e489591d data\hexcasting\recipes\dynamic\seal_focus.json
|
||||
b684bfa3755ca25996e74152d2efecbc9d6387d8 data\hexcasting\advancements\recipes\hexcasting.creative_tab\stonecutting\amethyst_tiles.json
|
||||
cd63a4179aa8c6aff90b251995bc4e8e1a71a784 data\hexcasting\loot_tables\blocks\akashic_leaves3.json
|
||||
67d4c536be3762833a4af33cd7cdfc68eb4ad629 data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_dark_oak.json
|
||||
6ffa37736a483cef3b174cf00bfcab0b91a6f737 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_7.json
|
||||
48e782ce4fbd486dd0d6ceb9fdcb94d0e0c727d4 data\minecraft\tags\items\wooden_slabs.json
|
||||
b596d96eebb4f7bad5930f4eebc589f292b59c98 data\minecraft\tags\items\planks.json
|
||||
5da3bff44e39ed9263f1f341d0a3851d02218018 data\hexcasting\recipes\pride_colorizer_6.json
|
||||
771e22cb013a2566773da73f3bd3dd48bef34830 data\hexcasting\loot_tables\blocks\akashic_trapdoor.json
|
||||
30950c6dd31102cf145f8f7d2979df0736a7ba1e data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_oak.json
|
||||
d4328adfccf702d2de3eb6098a47c95e429b7b28 data\hexcasting\loot_tables\blocks\akashic_door.json
|
||||
0529b25d154715d6b1c030d87e59e6f9d41d91d6 data\hexcasting\recipes\focus.json
|
||||
023c32e8834eb313c4fa94a84a8f6390ee951ef0 data\hexcasting\advancements\recipes\hexcasting.creative_tab\empty_impetus.json
|
||||
db09b7fc38bdaffa15b57bd361da8529c7bc943e data\hexcasting\recipes\wand_warped.json
|
||||
5861845c3cd84021c7c19ac4f5b3bcc8e1bd3916 data\hexcasting\recipes\brainsweep\impetus_look.json
|
||||
7c08784f2de139be380b5299f8ea8b8c78126ed8 data\minecraft\tags\blocks\mineable\axe.json
|
||||
6b4459635b3d53cc2b6836fa97d29244a65b412d data\hexcasting\recipes\abacus.json
|
||||
29260d23193f414236b0278a5abd7fe1f7ba8b46 data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_black.json
|
||||
c30bc14629d0bc99cad10d7b6af19a331357f6a8 data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_11.json
|
||||
9f7a9ba332e1018098d21a5ec474440fca7f6c73 data\hexcasting\recipes\brainsweep\directrix_redstone.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data\minecraft\tags\blocks\doors.json
|
||||
25f5d03a6f4290bbbe86c9cac5604b1e8a49ad84 data\hexcasting\recipes\dye_colorizer_light_gray.json
|
||||
c7c7fa49b7d1f0d03cd753f1ba78aa05a68135d0 data\hexcasting\recipes\pride_colorizer_5.json
|
||||
556d2e6068965e90c307a435b372ae761cd1c606 data\minecraft\tags\blocks\wooden_doors.json
|
||||
cf855b595844c6f2522c0ad18030519279b396ad data\hexcasting\advancements\recipes\hexcasting.creative_tab\dye_colorizer_magenta.json
|
||||
3a376402af89128dc37adaa0a72b6de66d58309d data\hexcasting\recipes\dynamic\seal_spellbook.json
|
||||
42441ca3b389ea4db8a4153ec363847f0ca6e714 data\hexcasting\loot_tables\blocks\akashic_panel.json
|
||||
f3c6b6917e504e1c3d5d8875f7cce6f311e791d2 data\minecraft\tags\items\logs_that_burn.json
|
||||
56d35172b3c5a58e2be4c5be20dd69417685f5d9 data\hexcasting\recipes\scroll.json
|
||||
ddd7bd92b9e1586cebd2cee658315a9336a80a76 data\hexcasting\advancements\recipes\hexcasting.creative_tab\amethyst_dust_packing.json
|
||||
4d4caaea035ae4ee878843dd2455042b299b4e5e data\c\tags\items\amethyst_dusts.json
|
||||
2d52419f3fcdc10643cdb8cef89858efc0ad4d11 data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_akashic.json
|
||||
82be04125e60a28701de5bb6bc7855bb46fa9d0f data\hexcasting\advancements\recipes\hexcasting.creative_tab\pride_colorizer_0.json
|
||||
cd3ca380294544b07e91ce85d97808c30ffa5d17 data\hexcasting\advancements\recipes\hexcasting.creative_tab\spellbook.json
|
||||
c36caf44a941a4abc44a15141eba8fe634c76fb8 data\hexcasting\recipes\dye_colorizer_blue.json
|
||||
7c0107192c0e24ff9f23ab0f59834b6081ca5b33 data\hexcasting\advancements\recipes\hexcasting.creative_tab\wand_crimson.json
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue