Added most of the rest of the Anointment framework and a few more items.

Includes a Fortune, Silk Touch, and +damage Anointment.
This commit is contained in:
WayofTime 2021-01-12 08:27:47 -05:00
parent 8d9319e271
commit 7f2c40a1c4
114 changed files with 962 additions and 218 deletions

View file

@ -2,7 +2,7 @@
Version 3.0.5
------------------------------------------------------
- Fixed a crash with the Blood Altar because I am dumb.
- Also fixed the recipe for the Day array.
- Also fixed the recipe for the Day array. Now you don't need to clean your clocks!
------------------------------------------------------
Version 3.0.4

View file

@ -58,7 +58,7 @@ e6d9cf699667aaa47efff37b2b033895dee29c15 assets/bloodmagic/blockstates/waterritu
42f26f715bddd16c069f9b51e3767b36477c8908 assets/bloodmagic/blockstates/woodtilepath.json
3c6ce233dae6c1307d9016406c324bbe844b4e1e assets/bloodmagic/blockstates/wornstonebrickpath.json
d59655f12d1724b73b77c373fb6864fcff69db12 assets/bloodmagic/blockstates/wornstonetilepath.json
62b19f0ba7a22f2a7b80588b82884013885dd74b assets/bloodmagic/lang/en_us.json
c3d7a74aa0c09e6064e79457eb2cc615048870fc assets/bloodmagic/lang/en_us.json
34445195b9f2459475cde53454bc8e37d32865d7 assets/bloodmagic/models/block/accelerationrune.json
bcdbccc49d4509571be6988762ab87126275a4c8 assets/bloodmagic/models/block/airritualstone.json
adf6c0b1e25451609486dc8c8cfbd9cf0f8c67f4 assets/bloodmagic/models/block/alchemicalreactionchamber.json
@ -187,44 +187,44 @@ e54a4f2b3cd405c69782662b1b0d57e24f7c2524 assets/bloodmagic/models/block/woodtile
ee59117289640eaebf7a9d7f629dd584ac3ed50f assets/bloodmagic/models/block/wornstonebrickpath.json
bee51abed529a89ad088b2cb89a4c1d0de541bf1 assets/bloodmagic/models/block/wornstonetilepath.json
9462d62d9bc9408359d30728de8651dc104aacf1 assets/bloodmagic/models/item/accelerationrune.json
1aad9b00930b996e3680223cfcb631db2d9cb5ce assets/bloodmagic/models/item/activationcrystalawakened.json
5b8a9b260de9e5eccac525b3fa665ae973f5d23f assets/bloodmagic/models/item/activationcrystalcreative.json
80d2bbc93783663f605b360e6df25bd6497c704a assets/bloodmagic/models/item/activationcrystalweak.json
28dc926a434253f140a7c4eece1522a64a7cccae assets/bloodmagic/models/item/activationcrystalawakened.json
3f64f82051888db51f30a75c41e1d249d7899235 assets/bloodmagic/models/item/activationcrystalcreative.json
10fa1f758c52f639880607bfaac3ced18b8b91ae assets/bloodmagic/models/item/activationcrystalweak.json
fe8e3deb3ad0107ca3ebd70694c1fc55a987d912 assets/bloodmagic/models/item/airritualstone.json
0bcf230493163a43357cbee7c26b8756089cb548 assets/bloodmagic/models/item/airscribetool.json
17cbe9142ef3950ea1b6be11694b849f55e93f13 assets/bloodmagic/models/item/airsigil.json
33074d865864911fcaf65e6d56430e87d466a1b8 assets/bloodmagic/models/item/airscribetool.json
60487d07a2fc1af61993e6bbebf012cf20aa3edd assets/bloodmagic/models/item/airsigil.json
92cc51b70ce22796804d093e3fc21141658f85fd assets/bloodmagic/models/item/alchemicalreactionchamber.json
f150f178edf7d6d250bcfd84af1c28a21cff09c6 assets/bloodmagic/models/item/altarcapacityrune.json
866b8cdd3da56e2e82dbd5f16ab5117b5a503749 assets/bloodmagic/models/item/apprenticebloodorb.json
719e38516b76596e177809508b4e2b28f05acfb0 assets/bloodmagic/models/item/arcaneashes.json
b95ae11c1910a67770fcdc0c7704282ce7b3f564 assets/bloodmagic/models/item/basemonstersoul.json
cbf1f930da06b0d1194760411a39f55b8ced1189 assets/bloodmagic/models/item/basemonstersoul_corrosive.json
09839c1f062c6a9ef143d81b6ad89065a9f4e39f assets/bloodmagic/models/item/basemonstersoul_destructive.json
23e9b2f79cea038b8d4c840854946ebedd444532 assets/bloodmagic/models/item/basemonstersoul_steadfast.json
f5bcdfe42e526de447df29ed801798bb33a90dfa assets/bloodmagic/models/item/basemonstersoul_vengeful.json
bbe897c889c5378c523bf2459900a5a9bad8f9dc assets/bloodmagic/models/item/basiccuttingfluid.json
cb96caeaa30f168d03a7763f06fdff9fe47d29c5 assets/bloodmagic/models/item/apprenticebloodorb.json
5ae6e2eedcbf4a58b2e437aae2304e8171e05689 assets/bloodmagic/models/item/arcaneashes.json
69dc96914b3f5c8f672bbaca16720ffef951c179 assets/bloodmagic/models/item/basemonstersoul.json
975b721b2a1b40b4d3b3bf20d17329476f4bfc98 assets/bloodmagic/models/item/basemonstersoul_corrosive.json
318e954cc662ea33e30dad9bdff5e73b1da3b129 assets/bloodmagic/models/item/basemonstersoul_destructive.json
366657ca2747a4c8f9521c5b0b8f439d7880fcce assets/bloodmagic/models/item/basemonstersoul_steadfast.json
af6319be25a2aeadf7366c6f4b83a6c8e9e07343 assets/bloodmagic/models/item/basemonstersoul_vengeful.json
f5a0419f239ff5079b60011adb903a126265942e assets/bloodmagic/models/item/basiccuttingfluid.json
d3c33ff908880e7abc8a2cd977304419ec48a23d assets/bloodmagic/models/item/bettercapacityrune.json
7a1c55d55fe59d8a70bc2a867d127cb303c1ba23 assets/bloodmagic/models/item/blankrune.json
3f207755d189c316cf06734a268669afc6b77766 assets/bloodmagic/models/item/blankslate.json
ef26c203159e9f55672ed5ea75107d4a9d081cfe assets/bloodmagic/models/item/bloodlightsigil.json
db9d31cae77018833be0e4d38db84d75adeb30a1 assets/bloodmagic/models/item/blankslate.json
c801f34e88224f9fabd89245f9d2a0d9ef466b64 assets/bloodmagic/models/item/bloodlightsigil.json
c795d1b7aa99ce27da63868f81bac615cf199c66 assets/bloodmagic/models/item/bloodstonebrick.json
7315e49149eca494e6b132d383082cb76fc9c0e4 assets/bloodmagic/models/item/chargingrune.json
738eb84b10400c04e0c7a5a253e55c109c233ec8 assets/bloodmagic/models/item/coalsand.json
9301a2fc234f064caf7e13afabb9343540d3412f assets/bloodmagic/models/item/corrosivecrystal.json
8c84f53166f2fdf7eaac4b6dc45402e3fa5b18d9 assets/bloodmagic/models/item/coalsand.json
3636c40fafa385642db14ca5f09d68e547060c4d assets/bloodmagic/models/item/corrosivecrystal.json
e8bdf0e3f557bb09c665312df380672e676f4382 assets/bloodmagic/models/item/corrosivedemoncrystal.json
e4822c0c7e2a41b7b450839fb51b985ff36c4d0f assets/bloodmagic/models/item/corrupted_dust.json
a14760b028650f41da69454701c1611e68a33056 assets/bloodmagic/models/item/corrupted_tinydust.json
470406aa7191f99f8b8d144fa0b1c314bdc10f11 assets/bloodmagic/models/item/corrupted_dust.json
1136b546d2cf73fc0f419447f7c328b8e2083323 assets/bloodmagic/models/item/corrupted_tinydust.json
9b332dc0443cb28c08d3af52096b7dd4fb2b68cc assets/bloodmagic/models/item/creeping_doubt.json
5ffcaf5c5378e51d9474b4e75fb3a9cae946a492 assets/bloodmagic/models/item/crystalline_resonator.json
f404148f9df3a61da3c18175885ffa56b2a85a6a assets/bloodmagic/models/item/daggerofsacrifice.json
6b89387f771da9535a0234f1a267af1b6853724d assets/bloodmagic/models/item/defaultcrystal.json
7b4471ae902c8e96a3730a86e1b15fb5c13aeec7 assets/bloodmagic/models/item/crystalline_resonator.json
5414b42d1246ff780f15ebd42212f19e90891daa assets/bloodmagic/models/item/daggerofsacrifice.json
08e573e533ecbfed2a734691608abe0119f3f3e3 assets/bloodmagic/models/item/defaultcrystal.json
cad1aef333d131d77b7960f5dc295694baeead1c assets/bloodmagic/models/item/deforester_charge.json
9671199681493a396e07d7bcab20137c22d981d5 assets/bloodmagic/models/item/demonslate.json
630d3287fcbdcca0dec3343488a2c868316d83d2 assets/bloodmagic/models/item/demonwillgauge.json
a61193ff59b71a79e8e28720dfce4185122a7ec1 assets/bloodmagic/models/item/destructivecrystal.json
6353ff212d21942d3fcbf7ea0cedd027e831059f assets/bloodmagic/models/item/demonslate.json
fd9ec2b5fe4436363ae5058b6ff9d77bd81ce85d assets/bloodmagic/models/item/demonwillgauge.json
51f65b07ce2ff59d740e28a27a039bd0022c367f assets/bloodmagic/models/item/destructivecrystal.json
3e952fc5e87bd7883dadd761ef708ddfac29638c assets/bloodmagic/models/item/destructivedemoncrystal.json
7af07ab578bbd20e2f834b26d9cafb5fe23bc7d4 assets/bloodmagic/models/item/dislocationrune.json
f4531e22aa1db1cff324db5ccb344d3b9fa85c8d assets/bloodmagic/models/item/divinationsigil.json
d57d9bcecc2580bdc009e1cd2b4a87cc39b4bca9 assets/bloodmagic/models/item/divinationsigil.json
f866879eed9f1bd7eebac14495de599ca3ad855d assets/bloodmagic/models/item/dungeon_brick1.json
78f206d696acf10f082a34c7ec2fdbddc321231a assets/bloodmagic/models/item/dungeon_brick2.json
52f18a291e92fe5218dd4abacdabdc106dc2d380 assets/bloodmagic/models/item/dungeon_brick3.json
@ -244,79 +244,83 @@ d098a544e7b9918a45106c2cbc5e10baea66502a assets/bloodmagic/models/item/dungeon_p
f3b763d6edc3c75655797481f05e02d409f481d9 assets/bloodmagic/models/item/dungeon_polished_wall.json
2ecba4811bd02698f6a34b5cdd9160426f7bda63 assets/bloodmagic/models/item/dungeon_smallbrick.json
2d7a8a3ed9f91a5bf5c277c6342c69e97692d347 assets/bloodmagic/models/item/dungeon_stone.json
027369d4162f28a808223ca7b22bdb68de28f290 assets/bloodmagic/models/item/dungeon_tester.json
717a9dcc833d1fbea4e5f989f45f46268d4ffe37 assets/bloodmagic/models/item/dungeon_tester.json
6186d2045f87b1e6cc7006226993a93b63d650ff assets/bloodmagic/models/item/dungeon_tile.json
21e8a4fa93ba249684e0624a10a6f0f00ff6d194 assets/bloodmagic/models/item/dungeon_tilespecial.json
10aceefca3ad3f0da773cb317c4effc6c06051ea assets/bloodmagic/models/item/duskritualstone.json
5783901af844ab0a741958dbe684d668a9c293c4 assets/bloodmagic/models/item/duskscribetool.json
1f8ce936602a2e55ecf05b926734099c057733e5 assets/bloodmagic/models/item/duskscribetool.json
4d56efd7fdbf430f49903ce201577047687c3804 assets/bloodmagic/models/item/earthritualstone.json
98ee75786f9d0ab2a8c0835896d07d18df77de0f assets/bloodmagic/models/item/earthscribetool.json
b29b6d11b54e98dbfbeb9d677298e6ca95bf2ca2 assets/bloodmagic/models/item/earthscribetool.json
cdbaaf8662f2e855a34a66f28e49403c4ea9a45e assets/bloodmagic/models/item/ethereal_mimic.json
4c39378f6c14dc243a7d52564e5a21df94683415 assets/bloodmagic/models/item/etherealslate.json
823b5cc34bf73811058f47ff73d760a8c0b2b1ea assets/bloodmagic/models/item/experiencebook.json
6ccd9f4e27f43b7f30217e73e0cdfad3bc826b1e assets/bloodmagic/models/item/explosivepowder.json
c5a3b58c52f75650ae38391841b21ad1cb0855f9 assets/bloodmagic/models/item/etherealslate.json
64529fc174f49c6eabca127ebdd287ff77a7ed63 assets/bloodmagic/models/item/experiencebook.json
dbd20c2ac822262cc368fd7d649de67c754e693d assets/bloodmagic/models/item/explosivepowder.json
c36bde4f98c0aeb3bf0f369ad3bc067e5f0dc916 assets/bloodmagic/models/item/fireritualstone.json
b5708a8cc7259fd36ffeabd155ea085b9fdef0fd assets/bloodmagic/models/item/firescribetool.json
61e64aa75a534606689c33a352ef90cccfbf0ef7 assets/bloodmagic/models/item/fragment_netherite_scrap.json
537a52d7b59dc996ea23f24d86a4add87c61c6a0 assets/bloodmagic/models/item/furnacecell_primitive.json
e58ab37eb5c43fdf2f088250a68ad358c764cbaa assets/bloodmagic/models/item/goldfragment.json
15dd3953b62bb2553d81ceeb021f7660d5ac6d84 assets/bloodmagic/models/item/goldgravel.json
ce2465efcc0c17583c8b3c7251a6cecefdce1970 assets/bloodmagic/models/item/goldsand.json
3d42648f711e6b65969e66405f33cfe67b9c39c5 assets/bloodmagic/models/item/gravel_netherite_scrap.json
0a3dcea188a3e5cf5f7c9a2cc4ad62667ac5821b assets/bloodmagic/models/item/firescribetool.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/fortune_anointment.json
0392d220dc92ab8abad335e620b011e000b61ef9 assets/bloodmagic/models/item/fragment_netherite_scrap.json
27ce75b6179a4620fd23aa07568c47fad36a14eb assets/bloodmagic/models/item/furnacecell_primitive.json
72386afa0dcb2444a8072d1618425038c73106c7 assets/bloodmagic/models/item/goldfragment.json
2bf9f4f4901425531903ace1cebee594bc37e55a assets/bloodmagic/models/item/goldgravel.json
bad504721d3bfd106869df9902bac0aa4001a1a7 assets/bloodmagic/models/item/goldsand.json
ebb91dfd0f28c439478b5f041b127aefa00ae583 assets/bloodmagic/models/item/gravel_netherite_scrap.json
44663089f348642bcca1c5020b5081c3ab172f92 assets/bloodmagic/models/item/growthsigil.json
f68825f667ca73b4373fd5068a47f0d1ca9b2aad assets/bloodmagic/models/item/icesigil.json
109b5485c25d978af55b46682d5bfa7008909458 assets/bloodmagic/models/item/infusedslate.json
ac7a996ed25b523a08e05824049786d3eea8c430 assets/bloodmagic/models/item/ingot_hellforged.json
ccbcba6e4a6450bb67f91ba17754d668ba64c0ac assets/bloodmagic/models/item/ironfragment.json
8d24cd26bf78c9076c1ed764bdca9f7bbbcaf8f9 assets/bloodmagic/models/item/irongravel.json
36cde62c239e351b9c32958135e893829d1d3925 assets/bloodmagic/models/item/ironsand.json
5d151f9d9007fb7459dde9f2d5c182b9b6aa06e0 assets/bloodmagic/models/item/infusedslate.json
59940408324c0379fa791a58f4a81781d06d1257 assets/bloodmagic/models/item/ingot_hellforged.json
80c575c613c1696069284224fe2c711c343bb0be assets/bloodmagic/models/item/ironfragment.json
4b803c1c838284d78474bab0f8ced938985dd958 assets/bloodmagic/models/item/irongravel.json
d83040a473f44ff2fd9d290f3fd6ef0d8b9f3114 assets/bloodmagic/models/item/ironsand.json
9b9fc4a11a187257d30334cd3faa949790b6ca29 assets/bloodmagic/models/item/largebloodstonebrick.json
413fa378c40dec89cb765a7d5c8bfc9cdef1d828 assets/bloodmagic/models/item/lavacrystal.json
588c5208e3f4ef941cd8375aeceeed44484d85d3 assets/bloodmagic/models/item/lavasigil.json
ffc3da1cbb86adc5aec7dfd503d23af319aec529 assets/bloodmagic/models/item/lavacrystal.json
12360580230f4eab90dbe7de3d5bbf79e2338b03 assets/bloodmagic/models/item/lavasigil.json
5a76914a87fc9b99079bb6afed1d4cfe3e4a532e assets/bloodmagic/models/item/lightritualstone.json
bd4db65caffbc68b312607bae4258fc1b67f60fd assets/bloodmagic/models/item/livingboots.json
c80cdacad2c4b6e995fe846c11cb2124a1813d79 assets/bloodmagic/models/item/livinghelmet.json
a64aa9003209d9eeca67cd7d3f1e2f05795c8f1a assets/bloodmagic/models/item/livingleggings.json
c0c9c72a8e31c9fa2d12eb870495407255431c8b assets/bloodmagic/models/item/livingplate.json
15d8178b626da912334774142d40d1012fb21fa0 assets/bloodmagic/models/item/magicianbloodorb.json
0a3566d3c86403f24c22977dd32ffaec727a9ad3 assets/bloodmagic/models/item/masterbloodorb.json
0d6c9d3b2ec30835ef74b6d6e8184074ac0861b8 assets/bloodmagic/models/item/livingboots.json
dd50db84188025895693164736f4799e75b8c7a9 assets/bloodmagic/models/item/livinghelmet.json
e39cf255d5c8873e02d1f2df2c829d0858df25e3 assets/bloodmagic/models/item/livingleggings.json
45756697d2f012fcc2de5fead120768a87655662 assets/bloodmagic/models/item/livingplate.json
7211624c82431d12dd21b3de262f4f332a69e0e1 assets/bloodmagic/models/item/magicianbloodorb.json
2b760616f7dad714accf1249b85eec4761f69706 assets/bloodmagic/models/item/masterbloodorb.json
9e377ab2c131993f96ab6fb544bda4dbba0ab87e assets/bloodmagic/models/item/masterritualstone.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/melee_anointment.json
3d5c71d1f24ebcc65db48765b56db60d64673a0d assets/bloodmagic/models/item/mimic.json
7596826c5b40c2809eb0a42eb5f5f2089290e3e5 assets/bloodmagic/models/item/miningsigil.json
9010fdcefb80ed0db271b41263412a1673c6c311 assets/bloodmagic/models/item/nether_soil.json
eaa0548775c3d5839b46d333af33f815dc6dd0fe assets/bloodmagic/models/item/obsidianbrickpath.json
cf066d15baae650a383240a91240abd335bbb0e3 assets/bloodmagic/models/item/obsidiantilepath.json
ff9b802098659824626dc90dbb5a0d8960234228 assets/bloodmagic/models/item/orbcapacityrune.json
aa3947434e24f4a4c4ae43428de3f2dd2ceb31a6 assets/bloodmagic/models/item/plantoil.json
f267edf1b08e69d377290a549bd5ec4a12661d9e assets/bloodmagic/models/item/primitive_crystalline_resonator.json
51720bf25f152c38056c81cebf79ca97b78dbb48 assets/bloodmagic/models/item/primitive_explosive_cell.json
aa8684bdce288295cfbb41248ff7f008f98b5e7b assets/bloodmagic/models/item/primitive_hydration_cell.json
d5fd516b1cf94ab01d5b1fbe554705215f21ff66 assets/bloodmagic/models/item/plantoil.json
abdd58730704a0936783c6752098a9fec1e3f18d assets/bloodmagic/models/item/primitive_crystalline_resonator.json
f3dd3ad67c86895983e3cf0f21e44d0f4046962e assets/bloodmagic/models/item/primitive_explosive_cell.json
0a88f03b48e0032f7ed7878212b0b01a930186d0 assets/bloodmagic/models/item/primitive_hydration_cell.json
63fe86d0faf9aa03a513221a6a12828a886b1301 assets/bloodmagic/models/item/rawdemoncrystal.json
b4e1259784354b048cd7ec5ef888a182e3909dc6 assets/bloodmagic/models/item/reagentair.json
2b43c346e0dc565cba8a9b4748e0976eb1f1913f assets/bloodmagic/models/item/reagentbinding.json
919b17ed4620c7b76c86494683951ab6e7fc7864 assets/bloodmagic/models/item/reagentbloodlight.json
c0a7633527bdd25fc85e78fc4838733063726d88 assets/bloodmagic/models/item/reagentfastminer.json
4ff6b8f6943d96a0f292ff4e0b0973edff550229 assets/bloodmagic/models/item/reagentgrowth.json
c82717c2706ec2ef1518f95c6aefdff9bdae09b8 assets/bloodmagic/models/item/reagentlava.json
baafdb5915c5fbc99b84a54670ed64a6f26cb0fe assets/bloodmagic/models/item/reagentmagnetism.json
2023ecdc208cfca92053b5cc3bbb98e21f5e3e19 assets/bloodmagic/models/item/reagentsight.json
95b2925e96a7df71d72568e0ed7b03290293cbe7 assets/bloodmagic/models/item/reagentvoid.json
fd1447d943ddc4540a51a72dcbb245d77d45da71 assets/bloodmagic/models/item/reagentwater.json
50bf796adbed412488df48ed9250fc9b0ecd851f assets/bloodmagic/models/item/reinforcedslate.json
8b727eee7b06ffa735e6ba49f0c13042b73c45c0 assets/bloodmagic/models/item/ritualdiviner.json
42b96a7c792d1672d798b52fa1c9c4ba58d2df71 assets/bloodmagic/models/item/ritualdivinerdusk.json
6f5418ed5739381e95b4d3b33f3e2924a6233941 assets/bloodmagic/models/item/reagentair.json
0f3fbea424448d41cac91bc479d9235def615af7 assets/bloodmagic/models/item/reagentbinding.json
df9beacb97275ffaa7f186778d94ad11138dffe3 assets/bloodmagic/models/item/reagentbloodlight.json
ba57b2a11a0920e7a4df894c6fbae38bf2a6e0ce assets/bloodmagic/models/item/reagentfastminer.json
f9a2fbb703e22dee4ae74daff99249e5f22caa0f assets/bloodmagic/models/item/reagentgrowth.json
2f8cfb7f2c9cb3dd62a007c2ec56f585414149d8 assets/bloodmagic/models/item/reagentlava.json
2a07dc18d2d8166815c29aa989ccd0093d5d112b assets/bloodmagic/models/item/reagentmagnetism.json
7ce18ad9b0de94a3fc5abf03c6726c8cc4cf5524 assets/bloodmagic/models/item/reagentsight.json
7aa180a374f6a60f0525659c90f386a9df7bedcd assets/bloodmagic/models/item/reagentvoid.json
d6fefc8d0d11bcc40ec6c9fa41e8e9402274251a assets/bloodmagic/models/item/reagentwater.json
98783464efdcbcaf2f457dfafc4a126f57454f8c assets/bloodmagic/models/item/reinforcedslate.json
8c473f375d7e45adb82f615a6d9e6dea312f57bd assets/bloodmagic/models/item/ritualdiviner.json
152682fd87d660cb06931b65d7a402ccd332a21a assets/bloodmagic/models/item/ritualdivinerdusk.json
2722891c9c40b124d85bf9ff8eb885e175f5e6ff assets/bloodmagic/models/item/ritualstone.json
094b2d159deb0996c655498cf89a20e1c06a4ab7 assets/bloodmagic/models/item/ritualtinkerer.json
7f7c3f406430ca088c3993c1347c2219b287498e assets/bloodmagic/models/item/ritualtinkerer.json
db73abb3bcb1731b6fc389e3577910b6aab87b10 assets/bloodmagic/models/item/sacrificerune.json
616afe16c430ce4732498f0b2d19509d3a545bcc assets/bloodmagic/models/item/sacrificialdagger.json
b23b701e93011247714ebdaffd6d52e918ba3d8a assets/bloodmagic/models/item/saltpeter.json
8a99c9b2d62d7ac9252ea6af0b9137935f19f353 assets/bloodmagic/models/item/sand_hellforged.json
b4afc1907cb2463f11579803122bb2af38b1f4ae assets/bloodmagic/models/item/sand_netherite.json
b8582a5cd6ca35279e9b35931f1c5ca089b094b8 assets/bloodmagic/models/item/sanguinereverter.json
b9fd6c60eba0186ba7ac156c4d126fcf74c21b84 assets/bloodmagic/models/item/seersigil.json
7d0c46410e4e256bd88f9220cd3eaf948a4b715f assets/bloodmagic/models/item/sacrificialdagger.json
9a67ae7be820dca31446758377677cc2c906ab80 assets/bloodmagic/models/item/saltpeter.json
db66835b16edd296fe71a63a2f195ffdc9e97519 assets/bloodmagic/models/item/sand_hellforged.json
1e7fca5638c09e4c46f9e65854bc0316d8142361 assets/bloodmagic/models/item/sand_netherite.json
eb098783e91a17d07429d9006fb09bf056350e57 assets/bloodmagic/models/item/sanguinereverter.json
b6e98c7b1789654fe7ff559e95011c0a28c58bc1 assets/bloodmagic/models/item/seersigil.json
cc71421e98ee7ee047a4cfbb6cb69529c2b02d4e assets/bloodmagic/models/item/selfsacrificerune.json
7f0256ef2f219d92882e759677399050b0776d64 assets/bloodmagic/models/item/shaped_charge.json
ea5747638d0b5dcc03f008b202cc60a11e0827bb assets/bloodmagic/models/item/sigilofmagnetism.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/silk_touch_anointment.json
08bee690d5092e3c9e6c04c43f50af668fdb3b7e assets/bloodmagic/models/item/slate_vial.json
db0f63198089161b8d4ecfb1ec8a45f7dc5ba83d assets/bloodmagic/models/item/soulaxe.json
9ec68a2dcf04b987c3c5d5c6c52195e3deccacbb assets/bloodmagic/models/item/soulgemcommon.json
6501bb4b72457e8107bec818f26de6178b655203 assets/bloodmagic/models/item/soulgemgreater.json
@ -325,15 +329,15 @@ b49e7f34913e32ccb68eeb6f6c196ff6b209f482 assets/bloodmagic/models/item/soulgempe
c873e91c70eef9ad4c39aeb2fe8b9aa16a26cccd assets/bloodmagic/models/item/soulpickaxe.json
5682770badd4dbc1ae533de0ce0f9a7cd0b2aeea assets/bloodmagic/models/item/soulscythe.json
bde2befafc97fd89a428dfa3f39fc970e9a3ae29 assets/bloodmagic/models/item/soulshovel.json
f8db155d49b0f2c37504bac46a8974d4bf90db3e assets/bloodmagic/models/item/soulsnare.json
7b375670d1fa52a3585907d3e880863dbcc04b32 assets/bloodmagic/models/item/soulsnare.json
fe2b201007c974229509f6900c6eb8b03d158b0a assets/bloodmagic/models/item/soulsword.json
52d21027ac6fed000e77b5e8ad9102319b25cb33 assets/bloodmagic/models/item/speedrune.json
6e2b7581e06ee42915cc98ac10a6cb8e45512c70 assets/bloodmagic/models/item/steadfastcrystal.json
36e0914768c8b3eb3b80702280ca74bbd8546623 assets/bloodmagic/models/item/steadfastcrystal.json
6968a3d0c3bbeac8ea4cb2c050e28506e8938851 assets/bloodmagic/models/item/steadfastdemoncrystal.json
29009ca92dc30e1ec4ae1d454cd3f8726d8edc3c assets/bloodmagic/models/item/stonebrickpath.json
2dc28b0e2b7ae7bb0bcf8c8e74b9ba7c800446ff assets/bloodmagic/models/item/stonetilepath.json
26cb0aae63ea4f27efd5337c90c580ddd7481b99 assets/bloodmagic/models/item/sulfur.json
1e735651ebcc0087d38dfce304e5d722d219870e assets/bloodmagic/models/item/upgradetome.json
1992b3655f7bbca8b7aac7c53f1a0e7b1ab3124d assets/bloodmagic/models/item/sulfur.json
d13731c45f6dd23b8e70d2a75d4068bdae88ef5c assets/bloodmagic/models/item/upgradetome.json
e8fe01c5cddc268538681889f3161472a8f1c8ad assets/bloodmagic/models/item/variants/growthsigil_activated.json
20c802279de4df496057795c2e891fa54a21376f assets/bloodmagic/models/item/variants/growthsigil_deactivated.json
2778ea3a62ce6dd718a557beee7b5329bb185ff9 assets/bloodmagic/models/item/variants/icesigil_activated.json
@ -394,14 +398,14 @@ ec6f6bf7f520182b2044f3cc5a10f1d4c7a8d7ab assets/bloodmagic/models/item/variants/
7d22fdba9bb8593c247a0b33df11f3b26a16c254 assets/bloodmagic/models/item/variants/soulsword_steadfast_deactivated.json
2029220112f89a3f4d432ab4749dff6143846659 assets/bloodmagic/models/item/variants/soulsword_vengeful_activated.json
0f5a3e1e5993a03ccda156eed855b71fbd0be0a2 assets/bloodmagic/models/item/variants/soulsword_vengeful_deactivated.json
da99afb65d43a438864740ee08839a5d3db1d1a1 assets/bloodmagic/models/item/vengefulcrystal.json
16bde91467016c6012fe2b618c898d0340043492 assets/bloodmagic/models/item/vengefulcrystal.json
11e3347147e079093c4fa12018412071db22a4f5 assets/bloodmagic/models/item/vengefuldemoncrystal.json
836b5a7f19915af809795a72983a23f0d5f9c5b2 assets/bloodmagic/models/item/voidsigil.json
9019dcd2f21b03e703ceeee1ea3199de72110268 assets/bloodmagic/models/item/voidsigil.json
a31019db55828cb937a071ac2f74b125a2d0c955 assets/bloodmagic/models/item/waterritualstone.json
4130e8907fe8fcf0a5de805f9c2b7ba9166323e9 assets/bloodmagic/models/item/waterscribetool.json
7426fed5f833ce3d08602f727f1467dd3e107991 assets/bloodmagic/models/item/watersigil.json
f72efc172699d43405019add97f455bd6b7f452b assets/bloodmagic/models/item/weakbloodorb.json
1efacee8dc0c3114567509ad247800cff59cb455 assets/bloodmagic/models/item/weakbloodshard.json
23d5a97cb44909c470ea76833138cd187f13ba80 assets/bloodmagic/models/item/waterscribetool.json
bfa6dec13cc193bbe634c2c68b641f3897ccb342 assets/bloodmagic/models/item/watersigil.json
cb4eaa9292890e172b0f36a63605db0c973f735e assets/bloodmagic/models/item/weakbloodorb.json
46423c1325542ab0efad772e1aab52082d9ef636 assets/bloodmagic/models/item/weakbloodshard.json
c0907e611e09ccc924452070519006add21f3d12 assets/bloodmagic/models/item/woodbrickpath.json
1de444baa270a146dcd33c784b08f75a3d745421 assets/bloodmagic/models/item/woodtilepath.json
c8ea88c439c91d0eeee3e6204a3c50f8cfd36758 assets/bloodmagic/models/item/wornstonebrickpath.json
@ -532,6 +536,7 @@ f41e9bf8376ffcad07752b5657e27e06e500be0a data/bloodmagic/recipes/alchemytable/pl
842713a090b5abf3ce967dbee90d7582f7414949 data/bloodmagic/recipes/alchemytable/sand_coal.json
9292733697eca52de2c2ac7325ba45ab0354bfa3 data/bloodmagic/recipes/alchemytable/sand_gold.json
06f00cce47e0d5e5d25a2587796494340f8a3278 data/bloodmagic/recipes/alchemytable/sand_iron.json
f7e91d164ea5c782420ff3507a98da16c5915b73 data/bloodmagic/recipes/alchemytable/slate_vial.json
a91e81c79959b522bcd1bac901bca646184015de data/bloodmagic/recipes/alchemytable/string.json
3c9d829f7bff8a4d607c46fc3ff4f86dffa28fd5 data/bloodmagic/recipes/altar/air_tool.json
f41b0e9dfab608c42a85c3c5c5bbc050b03f02a1 data/bloodmagic/recipes/altar/apprenticebloodorb.json

View file

@ -1,4 +1,7 @@
{
"anointment.bloodmagic.fortune": "Fortunate",
"anointment.bloodmagic.melee_damage": "Whetstone",
"anointment.bloodmagic.silk_touch": "Soft Touch",
"block.bloodmagic.accelerationrune": "Acceleration Rune",
"block.bloodmagic.airritualstone": "Air Ritual Stone",
"block.bloodmagic.alchemicalreactionchamber": "Alchemical Reaction Chamber",
@ -121,6 +124,7 @@
"item.bloodmagic.livingplate": "Living Chestplate",
"item.bloodmagic.magicianbloodorb": "Magician Blood Orb",
"item.bloodmagic.masterbloodorb": "Master Blood Orb",
"item.bloodmagic.melee_anointment": "Honing Oil",
"item.bloodmagic.miningsigil": "Sigil of the Fast Miner",
"item.bloodmagic.plantoil": "Plant Oil",
"item.bloodmagic.primitive_crystalline_resonator": "Primitive Resonator",
@ -146,6 +150,8 @@
"item.bloodmagic.sanguinereverter": "Sanguine Reverter",
"item.bloodmagic.seersigil": "Seer's Sigil",
"item.bloodmagic.sigilofmagnetism": "Sigil of Magnetism",
"item.bloodmagic.silk_touch_anointment": "Soft Coating",
"item.bloodmagic.slate_vial": "Slate-infused Vial",
"item.bloodmagic.soulaxe": "Sentient Axe",
"item.bloodmagic.soulgemcommon": "Common Tartaric Gem",
"item.bloodmagic.soulgemgreater": "Greater Tartaric Gem",
@ -452,6 +458,7 @@
"tooltip.bloodmagic.sigil.void.desc": "Better than a Swiffer\u00AE!",
"tooltip.bloodmagic.sigil.water.desc": "Infinite water, anyone?",
"tooltip.bloodmagic.slate.desc": "Infused stone inside of a Blood Altar",
"tooltip.bloodmagic.slate_vial": "A glass vial infused with a simple slate",
"tooltip.bloodmagic.soulGem.common": "A gem used to contain more will",
"tooltip.bloodmagic.soulGem.grand": "A gem used to contain a large amount of will",
"tooltip.bloodmagic.soulGem.greater": "A gem used to contain a greater amount of will",

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/activationcrystalawakened"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/activationcrystalcreative"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/activationcrystalweak"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/airscribetool"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/airsigil"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/apprenticebloodorb"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/arcaneashes"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/basemonstersoul"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/basemonstersoul_corrosive"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/basemonstersoul_destructive"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/basemonstersoul_steadfast"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/basemonstersoul_vengeful"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/basiccuttingfluid"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/blankslate"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/bloodlightsigil"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/coalsand"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/corrosivecrystal"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/corrupted_dust"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/corrupted_tinydust"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/crystalline_resonator"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/daggerofsacrifice"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/defaultcrystal"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/demonslate"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/demonwillgauge"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/destructivecrystal"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/divinationsigil"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/dungeon_tester"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/duskscribetool"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/earthscribetool"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/etherealslate"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/experiencebook"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/explosivepowder"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/firescribetool"
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/alchemic_vial",
"layer1": "bloodmagic:item/alchemic_liquid",
"layer2": "bloodmagic:item/alchemic_ribbon"
}
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/fragment_netherite_scrap"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/furnacecell_primitive"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/goldfragment"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/goldgravel"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/goldsand"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/gravel_netherite_scrap"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/infusedslate"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/ingot_hellforged"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/ironfragment"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/irongravel"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/ironsand"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/lavacrystal"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/lavasigil"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/livingboots"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/livinghelmet"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/livingleggings"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/livingplate"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/magicianbloodorb"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/masterbloodorb"
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/alchemic_vial",
"layer1": "bloodmagic:item/alchemic_liquid",
"layer2": "bloodmagic:item/alchemic_ribbon"
}
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/plantoil"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/primitive_crystalline_resonator"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/primitive_explosive_cell"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/primitive_hydration_cell"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentair"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentbinding"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentbloodlight"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentfastminer"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentgrowth"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentlava"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentmagnetism"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentsight"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentvoid"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reagentwater"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/reinforcedslate"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/ritualdiviner"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/ritualdivinerdusk"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/ritualtinkerer"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/sacrificialdagger"
},

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/saltpeter"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/sand_hellforged"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/sand_netherite"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/sanguinereverter"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/seersigil"
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/alchemic_vial",
"layer1": "bloodmagic:item/alchemic_liquid",
"layer2": "bloodmagic:item/alchemic_ribbon"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/alchemic_vial",
"layer1": "bloodmagic:item/alchemic_ribbon"
}
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/soulsnare"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/steadfastcrystal"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/sulfur"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/upgradetome"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/vengefulcrystal"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/voidsigil"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/waterscribetool"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/watersigil"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/weakbloodorb"
}

View file

@ -1,5 +1,5 @@
{
"parent": "minecraft:item/handheld",
"parent": "minecraft:item/generated",
"textures": {
"layer0": "bloodmagic:item/weakbloodshard"
}

View file

@ -0,0 +1,30 @@
{
"type": "bloodmagic:alchemytable",
"input": [
{
"item": "bloodmagic:blankslate"
},
{
"tag": "forge:glass"
},
{
"tag": "forge:glass"
},
{
"tag": "forge:glass"
},
{
"tag": "forge:glass"
},
{
"tag": "forge:glass"
}
],
"output": {
"item": "bloodmagic:slate_vial",
"count": 8
},
"syphon": 500,
"ticks": 200,
"upgradeLevel": 1
}

View file

@ -14,6 +14,7 @@ import net.minecraft.item.crafting.IRecipeSerializer;
import net.minecraft.potion.Effect;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ColorHandlerEvent;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.client.model.generators.ItemModelProvider;
@ -56,6 +57,7 @@ import wayoftime.bloodmagic.core.registry.AlchemyArrayRegistry;
import wayoftime.bloodmagic.core.registry.OrbRegistry;
import wayoftime.bloodmagic.impl.BloodMagicAPI;
import wayoftime.bloodmagic.impl.BloodMagicCorePlugin;
import wayoftime.bloodmagic.loot.GlobalLootModifier;
import wayoftime.bloodmagic.network.BloodMagicPacketHandler;
import wayoftime.bloodmagic.potion.BloodMagicPotions;
import wayoftime.bloodmagic.ritual.ModRituals;
@ -110,6 +112,8 @@ public class BloodMagic
BloodMagicBlocks.CONTAINERS.register(modBus);
BloodMagicEntityTypes.ENTITY_TYPES.register(modBus);
GlobalLootModifier.GLM.register(modBus);
BloodMagicRecipeSerializers.RECIPE_SERIALIZERS.register(modBus);
// Register the setup method for modloading
@ -120,6 +124,7 @@ public class BloodMagic
modBus.addListener(this::processIMC);
// Register the doClientStuff method for modloading
modBus.addListener(this::doClientStuff);
modBus.addListener(this::registerColors);
modBus.addListener(this::loadModels);
modBus.addListener(this::gatherData);
@ -244,6 +249,11 @@ public class BloodMagic
Elements.registerElements();
}
private void registerColors(final ColorHandlerEvent.Item event)
{
ClientEvents.colorHandlerEvent(event);
}
private void enqueueIMC(final InterModEnqueueEvent event)
{
// some example code to dispatch IMC to another mod

View file

@ -5,9 +5,12 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.UUID;
import java.util.function.Consumer;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.reflect.TypeToken;
@ -22,11 +25,14 @@ import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.ai.attributes.Attribute;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Util;
import net.minecraft.util.registry.Registry;
import net.minecraftforge.registries.ForgeRegistryEntry;
import wayoftime.bloodmagic.core.living.LivingStats;
import wayoftime.bloodmagic.core.living.LivingUpgrade;
import wayoftime.bloodmagic.core.living.LivingUpgrade.Level;
@JsonAdapter(Anointment.Deserializer.class)
@ -36,9 +42,12 @@ public class Anointment extends ForgeRegistryEntry<Anointment>
private final ResourceLocation key;
// private final Set<ResourceLocation> incompatible;
private String translationKey = null;
private final Map<String, Bonus> bonuses;
private IAttributeProvider attributeProvider;
private IDamageProvider damageProvider;
private boolean consumeOnAttack = false;
private boolean consumeOnHarvest = false;
public Anointment(ResourceLocation key)
{
@ -62,7 +71,7 @@ public class Anointment extends ForgeRegistryEntry<Anointment>
if (modifiers.isEmpty() || level == 0)
return 0;
return modifiers.get(level - 1);
return level <= modifiers.size() ? modifiers.get(level - 1) : modifiers.get(modifiers.size() - 1);
}
public ResourceLocation getKey()
@ -76,6 +85,120 @@ public class Anointment extends ForgeRegistryEntry<Anointment>
return key.toString();
}
public boolean applyAnointment(AnointmentHolder holder, ItemStack stack, int level)
{
if (level < 0)
{
return false;
}
IAttributeProvider prov = this.getAttributeProvider();
if (prov == null)
{
return true;
}
Multimap<Attribute, AttributeModifier> modifiers = HashMultimap.create();
modifiers.putAll(stack.getItem().getAttributeModifiers(EquipmentSlotType.MAINHAND, stack));
this.getAttributeProvider().handleAttributes(holder, modifiers, UUID.nameUUIDFromBytes(this.getKey().toString().getBytes()), this, level);
for (Entry<Attribute, AttributeModifier> entry : modifiers.entries())
{
stack.addAttributeModifier(entry.getKey(), entry.getValue(), EquipmentSlotType.MAINHAND);
}
return true;
}
public boolean removeAnointment(AnointmentHolder holder, ItemStack stack, EquipmentSlotType slot)
{
IAttributeProvider provider = this.getAttributeProvider();
if (provider != null)
{
Multimap<Attribute, AttributeModifier> modifiers = HashMultimap.create();
this.getAttributeProvider().handleAttributes(holder, modifiers, UUID.nameUUIDFromBytes(this.getKey().toString().getBytes()), this, 1);
if (stack.hasTag() && stack.getTag().contains("AttributeModifiers", 9))
{
// multimap = HashMultimap.create();
ListNBT listnbt = stack.getTag().getList("AttributeModifiers", 10);
List<Integer> removeList = new ArrayList<Integer>();
for (int i = 0; i < listnbt.size(); i++)
{
CompoundNBT compoundnbt = listnbt.getCompound(i);
if (!compoundnbt.contains("Slot", 8) || compoundnbt.getString("Slot").equals(slot.getName()))
{
Optional<Attribute> optional = Registry.ATTRIBUTE.getOptional(ResourceLocation.tryCreate(compoundnbt.getString("AttributeName")));
if (optional.isPresent())
{
AttributeModifier attributemodifier = AttributeModifier.read(compoundnbt);
if (attributemodifier != null && attributemodifier.getID().getLeastSignificantBits() != 0L && attributemodifier.getID().getMostSignificantBits() != 0L)
{
for (Entry<Attribute, AttributeModifier> entry : modifiers.entries())
{
if (entry.getKey().equals(optional.get()) && entry.getValue().getID().equals(attributemodifier.getID()))
{
removeList.add(i);
}
}
// multimap.put(optional.get(), attributemodifier);
}
}
}
}
for (int index : removeList)
{
listnbt.remove(index);
}
if (removeList.size() >= 1)
{
stack.getTag().put("AttributeModifiers", listnbt);
if (listnbt.isEmpty())
{
stack.getTag().remove("AttributeModifiers");
}
}
}
// for (Entry<Attribute, AttributeModifier> entry : modifiers.entries())
// {
//
// }
}
return false;
}
public String getTranslationKey()
{
return translationKey == null ? translationKey = Util.makeTranslationKey("anointment", key) : translationKey;
}
public Anointment setConsumeOnAttack()
{
this.consumeOnAttack = true;
return this;
}
public boolean consumeOnAttack()
{
return this.consumeOnAttack;
}
public Anointment setConsumeOnHarvest()
{
this.consumeOnHarvest = true;
return this;
}
public boolean consumeOnHarvest()
{
return this.consumeOnHarvest;
}
public Anointment withAttributeProvider(IAttributeProvider attributeProvider)
{
this.attributeProvider = attributeProvider;
@ -105,7 +228,7 @@ public class Anointment extends ForgeRegistryEntry<Anointment>
public interface IDamageProvider
{
double getAdditionalDamage(PlayerEntity player, ItemStack weapon, double damage, LivingStats stats, LivingEntity attacked, LivingUpgrade upgrade, int level);
double getAdditionalDamage(PlayerEntity player, ItemStack weapon, double damage, AnointmentHolder holder, LivingEntity attacked, Anointment anoint, int level);
}
public static class Bonus
@ -162,4 +285,5 @@ public class Anointment extends ForgeRegistryEntry<Anointment>
return upgrade;
}
}
}

View file

@ -0,0 +1,19 @@
package wayoftime.bloodmagic.anointment;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.item.ItemStack;
import wayoftime.bloodmagic.common.item.ItemAnointmentProvider;
public class AnointmentColor implements IItemColor
{
@Override
public int getColor(ItemStack stack, int layer)
{
if (layer == 1 && stack.getItem() instanceof ItemAnointmentProvider)
{
return ((ItemAnointmentProvider) stack.getItem()).getColor();
}
return 0xFFFFFF;
}
}

View file

@ -0,0 +1,45 @@
package wayoftime.bloodmagic.anointment;
public class AnointmentData
{
private int level;
private int damage;
private int maxDamage;
public AnointmentData(int level, int damage, int maxDamage)
{
this.level = level;
this.damage = damage;
this.maxDamage = maxDamage;
}
public int getLevel()
{
return this.level;
}
public int getDamage()
{
return this.damage;
}
public int getMaxDamage()
{
return this.maxDamage;
}
public void damage(int amount)
{
this.damage = Math.min(damage + amount, maxDamage);
}
public boolean isMaxDamage()
{
return damage >= maxDamage;
}
public String getDamageString()
{
return "" + (maxDamage - damage) + "/" + maxDamage;
}
}

View file

@ -1,15 +1,25 @@
package wayoftime.bloodmagic.anointment;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.util.Hand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import wayoftime.bloodmagic.anointment.Anointment.IDamageProvider;
import wayoftime.bloodmagic.core.AnointmentRegistrar;
import wayoftime.bloodmagic.util.Constants;
@ -27,6 +37,116 @@ public class AnointmentHolder
this(Maps.newHashMap());
}
// Returns true if the anointment is applied successfully.
public boolean applyAnointment(ItemStack stack, Anointment anointment, AnointmentData data)
{
if (canApplyAnointment(stack, anointment, data))
{
anointments.put(anointment, data);
anointment.applyAnointment(this, stack, data.getLevel());
}
return true;
}
public boolean canApplyAnointment(ItemStack stack, Anointment anointment, AnointmentData data)
{
return true;
}
public int getAnointmentLevel(Anointment anointment)
{
if (anointments.containsKey(anointment))
{
return anointments.get(anointment).getLevel();
}
return 0;
}
public boolean consumeAnointmentDurabilityOnHit(ItemStack weaponStack, EquipmentSlotType type)
{
// System.out.println("Attempting consumption");
boolean didConsume = false;
List<Anointment> removedAnointments = new ArrayList<Anointment>();
for (Entry<Anointment, AnointmentData> entry : anointments.entrySet())
{
Anointment annointment = entry.getKey();
if (annointment.consumeOnAttack())
{
AnointmentData data = entry.getValue();
data.damage(1);
didConsume = true;
if (data.isMaxDamage())
{
removedAnointments.add(annointment);
}
}
}
for (Anointment anointment : removedAnointments)
{
removeAnointment(weaponStack, type, anointment);
}
return didConsume;
}
public boolean consumeAnointmentDurabilityOnHarvest(ItemStack weaponStack, EquipmentSlotType type)
{
boolean didConsume = false;
List<Anointment> removedAnointments = new ArrayList<Anointment>();
for (Entry<Anointment, AnointmentData> entry : anointments.entrySet())
{
Anointment annointment = entry.getKey();
if (annointment.consumeOnHarvest())
{
AnointmentData data = entry.getValue();
data.damage(1);
didConsume = true;
if (data.isMaxDamage())
{
removedAnointments.add(annointment);
}
}
}
for (Anointment anointment : removedAnointments)
{
removeAnointment(weaponStack, type, anointment);
}
return didConsume;
}
// Called when the specified anointment is to be removed. Occurs if the
// anointment runs out of uses or if removed via another source.
public boolean removeAnointment(ItemStack weaponStack, EquipmentSlotType type, Anointment anointment)
{
anointments.remove(anointment);
anointment.removeAnointment(this, weaponStack, type);
return true;
}
public Map<Anointment, AnointmentData> getAnointments()
{
return ImmutableMap.copyOf(anointments);
}
public double getAdditionalDamage(PlayerEntity player, ItemStack weapon, double damage, LivingEntity attacked)
{
double additionalDamage = 0;
for (Entry<Anointment, AnointmentData> entry : anointments.entrySet())
{
IDamageProvider prov = entry.getKey().getDamageProvider();
if (prov != null)
{
additionalDamage += prov.getAdditionalDamage(player, weapon, damage, this, attacked, entry.getKey(), entry.getValue().getLevel());
}
}
return additionalDamage;
}
public CompoundNBT serialize()
{
CompoundNBT compound = new CompoundNBT();
@ -39,7 +159,7 @@ public class AnointmentHolder
anoint.putInt("max_damage", v.getMaxDamage());
statList.add(anoint);
});
compound.put("upgrades", statList);
compound.put("anointments", statList);
//
// compound.putInt("maxPoints", maxPoints);
@ -52,7 +172,6 @@ public class AnointmentHolder
statList.forEach(tag -> {
if (!(tag instanceof CompoundNBT))
return;
Anointment anoint = AnointmentRegistrar.ANOINTMENT_MAP.getOrDefault(new ResourceLocation(((CompoundNBT) tag).getString("key")), Anointment.DUMMY);
// LivingUpgrade upgrade = LivingArmorRegistrar.UPGRADE_MAP.getOrDefault(new ResourceLocation(((CompoundNBT) tag).getString("key")), LivingUpgrade.DUMMY);
if (anoint == Anointment.DUMMY)
@ -116,32 +235,25 @@ public class AnointmentHolder
holder.toItemStack(heldItem);
}
public static class AnointmentData
public static void appendAnointmentTooltip(AnointmentHolder holder, List<ITextComponent> tooltip)
{
private int level;
private int damage;
private int maxDamage;
public AnointmentData(int level, int damage, int maxDamage)
if (holder != null)
{
this.level = level;
this.damage = damage;
this.maxDamage = maxDamage;
}
// System.out.println("Holder is not null. Size: " + holder.getAnointments().size());
// if (trainable)
// tooltip.add(new TranslationTextComponent("tooltip.bloodmagic.livingarmour.upgrade.points", stats.getUsedPoints(), stats.getMaxPoints()).mergeStyle(TextFormatting.GOLD));
public int getLevel()
{
return this.level;
}
holder.getAnointments().forEach((k, v) -> {
public int getDamage()
{
return this.damage;
}
public int getMaxDamage()
{
return this.maxDamage;
// if (k.getLevel(v.intValue()) <= 0)
// return;
boolean sneaking = Screen.hasShiftDown();
// if (!InputUtil.isKeyPressed(MinecraftClient.getInstance().getWindow().getHandle(), 340) || k.getNextRequirement(v) == 0)
if (!sneaking)
tooltip.add(new TranslationTextComponent("%s %s", new TranslationTextComponent(k.getTranslationKey()), new TranslationTextComponent("enchantment.level." + v.getLevel())));
else
tooltip.add(new TranslationTextComponent("%s %s", new TranslationTextComponent(k.getTranslationKey()), (": (" + v.getDamageString() + ")")));
});
}
}
}

View file

@ -11,6 +11,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemModelsProperties;
import net.minecraft.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.ColorHandlerEvent;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DeferredWorkQueue;
@ -19,6 +20,7 @@ import net.minecraftforge.fml.client.registry.RenderingRegistry;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import wayoftime.bloodmagic.BloodMagic;
import wayoftime.bloodmagic.anointment.AnointmentColor;
import wayoftime.bloodmagic.api.compat.IMultiWillTool;
import wayoftime.bloodmagic.client.model.MimicColor;
import wayoftime.bloodmagic.client.render.alchemyarray.BeaconAlchemyCircleRenderer;
@ -64,6 +66,11 @@ public class ClientEvents
ScreenManager.registerFactory(BloodMagicBlocks.ALCHEMY_TABLE_CONTAINER.get(), ScreenAlchemyTable::new);
}
public static void colorHandlerEvent(ColorHandlerEvent.Item event)
{
event.getItemColors().register(new AnointmentColor(), BloodMagicItems.MELEE_DAMAGE_ANOINTMENT.get(), BloodMagicItems.SILK_TOUCH_ANOINTMENT.get(), BloodMagicItems.FORTUNE_ANOINTMENT.get());
}
@SuppressWarnings("deprecation")
public static void initClientEvents(FMLClientSetupEvent event)
{

Some files were not shown because too many files have changed in this diff Show more