From 7f2c40a1c43f9dc475521cf32b23a07d5ab99ef1 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Tue, 12 Jan 2021 08:27:47 -0500 Subject: [PATCH] Added most of the rest of the Anointment framework and a few more items. Includes a Fortune, Silk Touch, and +damage Anointment. --- changelog.txt | 2 +- src/generated/resources/.cache/cache | 179 +++++++++--------- .../assets/bloodmagic/lang/en_us.json | 7 + .../item/activationcrystalawakened.json | 2 +- .../item/activationcrystalcreative.json | 2 +- .../models/item/activationcrystalweak.json | 2 +- .../bloodmagic/models/item/airscribetool.json | 2 +- .../bloodmagic/models/item/airsigil.json | 2 +- .../models/item/apprenticebloodorb.json | 2 +- .../bloodmagic/models/item/arcaneashes.json | 2 +- .../models/item/basemonstersoul.json | 2 +- .../item/basemonstersoul_corrosive.json | 2 +- .../item/basemonstersoul_destructive.json | 2 +- .../item/basemonstersoul_steadfast.json | 2 +- .../models/item/basemonstersoul_vengeful.json | 2 +- .../models/item/basiccuttingfluid.json | 2 +- .../bloodmagic/models/item/blankslate.json | 2 +- .../models/item/bloodlightsigil.json | 2 +- .../bloodmagic/models/item/coalsand.json | 2 +- .../models/item/corrosivecrystal.json | 2 +- .../models/item/corrupted_dust.json | 2 +- .../models/item/corrupted_tinydust.json | 2 +- .../models/item/crystalline_resonator.json | 2 +- .../models/item/daggerofsacrifice.json | 2 +- .../models/item/defaultcrystal.json | 2 +- .../bloodmagic/models/item/demonslate.json | 2 +- .../models/item/demonwillgauge.json | 2 +- .../models/item/destructivecrystal.json | 2 +- .../models/item/divinationsigil.json | 2 +- .../models/item/dungeon_tester.json | 2 +- .../models/item/duskscribetool.json | 2 +- .../models/item/earthscribetool.json | 2 +- .../bloodmagic/models/item/etherealslate.json | 2 +- .../models/item/experiencebook.json | 2 +- .../models/item/explosivepowder.json | 2 +- .../models/item/firescribetool.json | 2 +- .../models/item/fortune_anointment.json | 8 + .../models/item/fragment_netherite_scrap.json | 2 +- .../models/item/furnacecell_primitive.json | 2 +- .../bloodmagic/models/item/goldfragment.json | 2 +- .../bloodmagic/models/item/goldgravel.json | 2 +- .../bloodmagic/models/item/goldsand.json | 2 +- .../models/item/gravel_netherite_scrap.json | 2 +- .../bloodmagic/models/item/infusedslate.json | 2 +- .../models/item/ingot_hellforged.json | 2 +- .../bloodmagic/models/item/ironfragment.json | 2 +- .../bloodmagic/models/item/irongravel.json | 2 +- .../bloodmagic/models/item/ironsand.json | 2 +- .../bloodmagic/models/item/lavacrystal.json | 2 +- .../bloodmagic/models/item/lavasigil.json | 2 +- .../bloodmagic/models/item/livingboots.json | 2 +- .../bloodmagic/models/item/livinghelmet.json | 2 +- .../models/item/livingleggings.json | 2 +- .../bloodmagic/models/item/livingplate.json | 2 +- .../models/item/magicianbloodorb.json | 2 +- .../models/item/masterbloodorb.json | 2 +- .../models/item/melee_anointment.json | 8 + .../bloodmagic/models/item/plantoil.json | 2 +- .../item/primitive_crystalline_resonator.json | 2 +- .../models/item/primitive_explosive_cell.json | 2 +- .../models/item/primitive_hydration_cell.json | 2 +- .../bloodmagic/models/item/reagentair.json | 2 +- .../models/item/reagentbinding.json | 2 +- .../models/item/reagentbloodlight.json | 2 +- .../models/item/reagentfastminer.json | 2 +- .../bloodmagic/models/item/reagentgrowth.json | 2 +- .../bloodmagic/models/item/reagentlava.json | 2 +- .../models/item/reagentmagnetism.json | 2 +- .../bloodmagic/models/item/reagentsight.json | 2 +- .../bloodmagic/models/item/reagentvoid.json | 2 +- .../bloodmagic/models/item/reagentwater.json | 2 +- .../models/item/reinforcedslate.json | 2 +- .../bloodmagic/models/item/ritualdiviner.json | 2 +- .../models/item/ritualdivinerdusk.json | 2 +- .../models/item/ritualtinkerer.json | 2 +- .../models/item/sacrificialdagger.json | 2 +- .../bloodmagic/models/item/saltpeter.json | 2 +- .../models/item/sand_hellforged.json | 2 +- .../models/item/sand_netherite.json | 2 +- .../models/item/sanguinereverter.json | 2 +- .../bloodmagic/models/item/seersigil.json | 2 +- .../models/item/silk_touch_anointment.json | 8 + .../bloodmagic/models/item/slate_vial.json | 7 + .../bloodmagic/models/item/soulsnare.json | 2 +- .../models/item/steadfastcrystal.json | 2 +- .../assets/bloodmagic/models/item/sulfur.json | 2 +- .../bloodmagic/models/item/upgradetome.json | 2 +- .../models/item/vengefulcrystal.json | 2 +- .../bloodmagic/models/item/voidsigil.json | 2 +- .../models/item/waterscribetool.json | 2 +- .../bloodmagic/models/item/watersigil.json | 2 +- .../bloodmagic/models/item/weakbloodorb.json | 2 +- .../models/item/weakbloodshard.json | 2 +- .../recipes/alchemytable/slate_vial.json | 30 +++ .../java/wayoftime/bloodmagic/BloodMagic.java | 10 + .../bloodmagic/anointment/Anointment.java | 132 ++++++++++++- .../anointment/AnointmentColor.java | 19 ++ .../bloodmagic/anointment/AnointmentData.java | 45 +++++ .../anointment/AnointmentHolder.java | 160 +++++++++++++--- .../bloodmagic/client/ClientEvents.java | 7 + .../common/data/GeneratorItemModels.java | 22 ++- .../common/data/GeneratorLanguage.java | 13 ++ .../common/item/BloodMagicItems.java | 6 + .../common/item/ItemAnointmentProvider.java | 71 ++++++- .../bloodmagic/common/item/ItemBase.java | 12 +- .../recipe/AlchemyTableRecipeProvider.java | 2 + .../bloodmagic/core/AnointmentRegistrar.java | 19 +- .../loot/BloodMagicLootConditions.java | 16 ++ .../bloodmagic/loot/GlobalLootModifier.java | 149 +++++++++++++++ .../util/handler/event/GenericHandler.java | 47 +++++ .../textures/item/melee_anointment.png | Bin 0 -> 316 bytes .../bloodmagic/loot_modifiers/fortune.json | 11 ++ .../loot_modifiers/silk_touch_bamboo.json | 11 ++ .../loot_modifiers/global_loot_modifiers.json | 7 + 114 files changed, 962 insertions(+), 218 deletions(-) create mode 100644 src/generated/resources/assets/bloodmagic/models/item/fortune_anointment.json create mode 100644 src/generated/resources/assets/bloodmagic/models/item/melee_anointment.json create mode 100644 src/generated/resources/assets/bloodmagic/models/item/silk_touch_anointment.json create mode 100644 src/generated/resources/assets/bloodmagic/models/item/slate_vial.json create mode 100644 src/generated/resources/data/bloodmagic/recipes/alchemytable/slate_vial.json create mode 100644 src/main/java/wayoftime/bloodmagic/anointment/AnointmentColor.java create mode 100644 src/main/java/wayoftime/bloodmagic/anointment/AnointmentData.java create mode 100644 src/main/java/wayoftime/bloodmagic/loot/BloodMagicLootConditions.java create mode 100644 src/main/java/wayoftime/bloodmagic/loot/GlobalLootModifier.java create mode 100644 src/main/resources/assets/bloodmagic/textures/item/melee_anointment.png create mode 100644 src/main/resources/data/bloodmagic/loot_modifiers/fortune.json create mode 100644 src/main/resources/data/bloodmagic/loot_modifiers/silk_touch_bamboo.json create mode 100644 src/main/resources/data/forge/loot_modifiers/global_loot_modifiers.json diff --git a/changelog.txt b/changelog.txt index 1b72bc97..aaae02d3 100644 --- a/changelog.txt +++ b/changelog.txt @@ -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 diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index acdfc8f0..0dab0bc8 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -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 diff --git a/src/generated/resources/assets/bloodmagic/lang/en_us.json b/src/generated/resources/assets/bloodmagic/lang/en_us.json index 831b959a..beaf2487 100644 --- a/src/generated/resources/assets/bloodmagic/lang/en_us.json +++ b/src/generated/resources/assets/bloodmagic/lang/en_us.json @@ -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", diff --git a/src/generated/resources/assets/bloodmagic/models/item/activationcrystalawakened.json b/src/generated/resources/assets/bloodmagic/models/item/activationcrystalawakened.json index 649ad064..25f235a5 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/activationcrystalawakened.json +++ b/src/generated/resources/assets/bloodmagic/models/item/activationcrystalawakened.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/activationcrystalawakened" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/activationcrystalcreative.json b/src/generated/resources/assets/bloodmagic/models/item/activationcrystalcreative.json index 3492cbfa..3b5983f3 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/activationcrystalcreative.json +++ b/src/generated/resources/assets/bloodmagic/models/item/activationcrystalcreative.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/activationcrystalcreative" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/activationcrystalweak.json b/src/generated/resources/assets/bloodmagic/models/item/activationcrystalweak.json index ad573a49..fddc803a 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/activationcrystalweak.json +++ b/src/generated/resources/assets/bloodmagic/models/item/activationcrystalweak.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/activationcrystalweak" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/airscribetool.json b/src/generated/resources/assets/bloodmagic/models/item/airscribetool.json index a8fef50d..000892ca 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/airscribetool.json +++ b/src/generated/resources/assets/bloodmagic/models/item/airscribetool.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/airscribetool" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/airsigil.json b/src/generated/resources/assets/bloodmagic/models/item/airsigil.json index 3ab0c0a0..b90cce51 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/airsigil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/airsigil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/airsigil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/apprenticebloodorb.json b/src/generated/resources/assets/bloodmagic/models/item/apprenticebloodorb.json index 8f560341..e010d2b7 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/apprenticebloodorb.json +++ b/src/generated/resources/assets/bloodmagic/models/item/apprenticebloodorb.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/apprenticebloodorb" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/arcaneashes.json b/src/generated/resources/assets/bloodmagic/models/item/arcaneashes.json index 0d5a4393..19120a51 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/arcaneashes.json +++ b/src/generated/resources/assets/bloodmagic/models/item/arcaneashes.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/arcaneashes" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul.json b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul.json index fdab63dc..5455472a 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul.json +++ b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/basemonstersoul" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_corrosive.json b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_corrosive.json index 36fac70b..bd22eb5f 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_corrosive.json +++ b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_corrosive.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/basemonstersoul_corrosive" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_destructive.json b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_destructive.json index 023694b7..3fcd9fd7 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_destructive.json +++ b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_destructive.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/basemonstersoul_destructive" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_steadfast.json b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_steadfast.json index 388830d5..db32c775 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_steadfast.json +++ b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_steadfast.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/basemonstersoul_steadfast" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_vengeful.json b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_vengeful.json index e0384b54..966c0f17 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_vengeful.json +++ b/src/generated/resources/assets/bloodmagic/models/item/basemonstersoul_vengeful.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/basemonstersoul_vengeful" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/basiccuttingfluid.json b/src/generated/resources/assets/bloodmagic/models/item/basiccuttingfluid.json index 319290a5..0d5d0cdc 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/basiccuttingfluid.json +++ b/src/generated/resources/assets/bloodmagic/models/item/basiccuttingfluid.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/basiccuttingfluid" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/blankslate.json b/src/generated/resources/assets/bloodmagic/models/item/blankslate.json index 858ddfd3..d3094597 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/blankslate.json +++ b/src/generated/resources/assets/bloodmagic/models/item/blankslate.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/blankslate" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/bloodlightsigil.json b/src/generated/resources/assets/bloodmagic/models/item/bloodlightsigil.json index e235a36b..4ae506f9 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/bloodlightsigil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/bloodlightsigil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/bloodlightsigil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/coalsand.json b/src/generated/resources/assets/bloodmagic/models/item/coalsand.json index bee052e6..12aaa0cc 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/coalsand.json +++ b/src/generated/resources/assets/bloodmagic/models/item/coalsand.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/coalsand" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/corrosivecrystal.json b/src/generated/resources/assets/bloodmagic/models/item/corrosivecrystal.json index 70f7399b..d99e15f4 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/corrosivecrystal.json +++ b/src/generated/resources/assets/bloodmagic/models/item/corrosivecrystal.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/corrosivecrystal" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/corrupted_dust.json b/src/generated/resources/assets/bloodmagic/models/item/corrupted_dust.json index d61f8a4a..a5f430a4 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/corrupted_dust.json +++ b/src/generated/resources/assets/bloodmagic/models/item/corrupted_dust.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/corrupted_dust" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/corrupted_tinydust.json b/src/generated/resources/assets/bloodmagic/models/item/corrupted_tinydust.json index a2f5ac97..a9ecf66f 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/corrupted_tinydust.json +++ b/src/generated/resources/assets/bloodmagic/models/item/corrupted_tinydust.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/corrupted_tinydust" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/crystalline_resonator.json b/src/generated/resources/assets/bloodmagic/models/item/crystalline_resonator.json index b07b4e20..44408cd6 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/crystalline_resonator.json +++ b/src/generated/resources/assets/bloodmagic/models/item/crystalline_resonator.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/crystalline_resonator" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/daggerofsacrifice.json b/src/generated/resources/assets/bloodmagic/models/item/daggerofsacrifice.json index e9b34ea0..762c92a7 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/daggerofsacrifice.json +++ b/src/generated/resources/assets/bloodmagic/models/item/daggerofsacrifice.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/daggerofsacrifice" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/defaultcrystal.json b/src/generated/resources/assets/bloodmagic/models/item/defaultcrystal.json index 3b3d38f9..630e05a5 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/defaultcrystal.json +++ b/src/generated/resources/assets/bloodmagic/models/item/defaultcrystal.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/defaultcrystal" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/demonslate.json b/src/generated/resources/assets/bloodmagic/models/item/demonslate.json index 4225c748..97d3e2f5 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/demonslate.json +++ b/src/generated/resources/assets/bloodmagic/models/item/demonslate.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/demonslate" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/demonwillgauge.json b/src/generated/resources/assets/bloodmagic/models/item/demonwillgauge.json index e7b74b0f..db062669 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/demonwillgauge.json +++ b/src/generated/resources/assets/bloodmagic/models/item/demonwillgauge.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/demonwillgauge" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/destructivecrystal.json b/src/generated/resources/assets/bloodmagic/models/item/destructivecrystal.json index d30ce08b..728b4dc5 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/destructivecrystal.json +++ b/src/generated/resources/assets/bloodmagic/models/item/destructivecrystal.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/destructivecrystal" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/divinationsigil.json b/src/generated/resources/assets/bloodmagic/models/item/divinationsigil.json index 63a6f8ad..364fb1ec 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/divinationsigil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/divinationsigil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/divinationsigil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/dungeon_tester.json b/src/generated/resources/assets/bloodmagic/models/item/dungeon_tester.json index c5cafd38..f408e84c 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/dungeon_tester.json +++ b/src/generated/resources/assets/bloodmagic/models/item/dungeon_tester.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/dungeon_tester" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/duskscribetool.json b/src/generated/resources/assets/bloodmagic/models/item/duskscribetool.json index 4f2c111c..c95b2d43 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/duskscribetool.json +++ b/src/generated/resources/assets/bloodmagic/models/item/duskscribetool.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/duskscribetool" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/earthscribetool.json b/src/generated/resources/assets/bloodmagic/models/item/earthscribetool.json index 6cb9308c..4eb734a9 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/earthscribetool.json +++ b/src/generated/resources/assets/bloodmagic/models/item/earthscribetool.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/earthscribetool" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/etherealslate.json b/src/generated/resources/assets/bloodmagic/models/item/etherealslate.json index 1ef42d33..c0f0f8a0 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/etherealslate.json +++ b/src/generated/resources/assets/bloodmagic/models/item/etherealslate.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/etherealslate" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/experiencebook.json b/src/generated/resources/assets/bloodmagic/models/item/experiencebook.json index 5be169c0..693287c2 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/experiencebook.json +++ b/src/generated/resources/assets/bloodmagic/models/item/experiencebook.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/experiencebook" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/explosivepowder.json b/src/generated/resources/assets/bloodmagic/models/item/explosivepowder.json index ad810423..25c7aa64 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/explosivepowder.json +++ b/src/generated/resources/assets/bloodmagic/models/item/explosivepowder.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/explosivepowder" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/firescribetool.json b/src/generated/resources/assets/bloodmagic/models/item/firescribetool.json index f5e0d3af..9eb63402 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/firescribetool.json +++ b/src/generated/resources/assets/bloodmagic/models/item/firescribetool.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/firescribetool" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/fortune_anointment.json b/src/generated/resources/assets/bloodmagic/models/item/fortune_anointment.json new file mode 100644 index 00000000..5d52447b --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/fortune_anointment.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "bloodmagic:item/alchemic_vial", + "layer1": "bloodmagic:item/alchemic_liquid", + "layer2": "bloodmagic:item/alchemic_ribbon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/fragment_netherite_scrap.json b/src/generated/resources/assets/bloodmagic/models/item/fragment_netherite_scrap.json index 7bcadf03..791fa55c 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/fragment_netherite_scrap.json +++ b/src/generated/resources/assets/bloodmagic/models/item/fragment_netherite_scrap.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/fragment_netherite_scrap" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/furnacecell_primitive.json b/src/generated/resources/assets/bloodmagic/models/item/furnacecell_primitive.json index 7f4652dc..cefb8192 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/furnacecell_primitive.json +++ b/src/generated/resources/assets/bloodmagic/models/item/furnacecell_primitive.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/furnacecell_primitive" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/goldfragment.json b/src/generated/resources/assets/bloodmagic/models/item/goldfragment.json index 2e5cce62..d8024eaf 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/goldfragment.json +++ b/src/generated/resources/assets/bloodmagic/models/item/goldfragment.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/goldfragment" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/goldgravel.json b/src/generated/resources/assets/bloodmagic/models/item/goldgravel.json index 28c8d189..c104e0f5 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/goldgravel.json +++ b/src/generated/resources/assets/bloodmagic/models/item/goldgravel.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/goldgravel" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/goldsand.json b/src/generated/resources/assets/bloodmagic/models/item/goldsand.json index 8cd0e2d0..29106249 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/goldsand.json +++ b/src/generated/resources/assets/bloodmagic/models/item/goldsand.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/goldsand" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/gravel_netherite_scrap.json b/src/generated/resources/assets/bloodmagic/models/item/gravel_netherite_scrap.json index 76dc663f..79f99443 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/gravel_netherite_scrap.json +++ b/src/generated/resources/assets/bloodmagic/models/item/gravel_netherite_scrap.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/gravel_netherite_scrap" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/infusedslate.json b/src/generated/resources/assets/bloodmagic/models/item/infusedslate.json index 740b02e3..057c0fc7 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/infusedslate.json +++ b/src/generated/resources/assets/bloodmagic/models/item/infusedslate.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/infusedslate" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/ingot_hellforged.json b/src/generated/resources/assets/bloodmagic/models/item/ingot_hellforged.json index 0d33867f..6f2132df 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/ingot_hellforged.json +++ b/src/generated/resources/assets/bloodmagic/models/item/ingot_hellforged.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/ingot_hellforged" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/ironfragment.json b/src/generated/resources/assets/bloodmagic/models/item/ironfragment.json index 10175c39..acd23d13 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/ironfragment.json +++ b/src/generated/resources/assets/bloodmagic/models/item/ironfragment.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/ironfragment" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/irongravel.json b/src/generated/resources/assets/bloodmagic/models/item/irongravel.json index d5760bb2..cd5e0c4d 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/irongravel.json +++ b/src/generated/resources/assets/bloodmagic/models/item/irongravel.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/irongravel" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/ironsand.json b/src/generated/resources/assets/bloodmagic/models/item/ironsand.json index fb321d47..9ad179b8 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/ironsand.json +++ b/src/generated/resources/assets/bloodmagic/models/item/ironsand.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/ironsand" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/lavacrystal.json b/src/generated/resources/assets/bloodmagic/models/item/lavacrystal.json index 59a62520..663eee3d 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/lavacrystal.json +++ b/src/generated/resources/assets/bloodmagic/models/item/lavacrystal.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/lavacrystal" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/lavasigil.json b/src/generated/resources/assets/bloodmagic/models/item/lavasigil.json index 0bb30f15..78803529 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/lavasigil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/lavasigil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/lavasigil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/livingboots.json b/src/generated/resources/assets/bloodmagic/models/item/livingboots.json index 44ac054b..6fc62fe4 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/livingboots.json +++ b/src/generated/resources/assets/bloodmagic/models/item/livingboots.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/livingboots" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/livinghelmet.json b/src/generated/resources/assets/bloodmagic/models/item/livinghelmet.json index 38ca8c70..26231b72 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/livinghelmet.json +++ b/src/generated/resources/assets/bloodmagic/models/item/livinghelmet.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/livinghelmet" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/livingleggings.json b/src/generated/resources/assets/bloodmagic/models/item/livingleggings.json index 2df3b839..9f9e8220 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/livingleggings.json +++ b/src/generated/resources/assets/bloodmagic/models/item/livingleggings.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/livingleggings" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/livingplate.json b/src/generated/resources/assets/bloodmagic/models/item/livingplate.json index 69aace1a..ffcf6a31 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/livingplate.json +++ b/src/generated/resources/assets/bloodmagic/models/item/livingplate.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/livingplate" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/magicianbloodorb.json b/src/generated/resources/assets/bloodmagic/models/item/magicianbloodorb.json index b20996e9..218986d2 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/magicianbloodorb.json +++ b/src/generated/resources/assets/bloodmagic/models/item/magicianbloodorb.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/magicianbloodorb" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/masterbloodorb.json b/src/generated/resources/assets/bloodmagic/models/item/masterbloodorb.json index 8f610344..63d243a6 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/masterbloodorb.json +++ b/src/generated/resources/assets/bloodmagic/models/item/masterbloodorb.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/masterbloodorb" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/melee_anointment.json b/src/generated/resources/assets/bloodmagic/models/item/melee_anointment.json new file mode 100644 index 00000000..5d52447b --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/melee_anointment.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "bloodmagic:item/alchemic_vial", + "layer1": "bloodmagic:item/alchemic_liquid", + "layer2": "bloodmagic:item/alchemic_ribbon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/plantoil.json b/src/generated/resources/assets/bloodmagic/models/item/plantoil.json index 4760c6a0..f61b1551 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/plantoil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/plantoil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/plantoil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/primitive_crystalline_resonator.json b/src/generated/resources/assets/bloodmagic/models/item/primitive_crystalline_resonator.json index 84032032..71d561ab 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/primitive_crystalline_resonator.json +++ b/src/generated/resources/assets/bloodmagic/models/item/primitive_crystalline_resonator.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/primitive_crystalline_resonator" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/primitive_explosive_cell.json b/src/generated/resources/assets/bloodmagic/models/item/primitive_explosive_cell.json index d440b7cc..29f8d0f1 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/primitive_explosive_cell.json +++ b/src/generated/resources/assets/bloodmagic/models/item/primitive_explosive_cell.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/primitive_explosive_cell" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/primitive_hydration_cell.json b/src/generated/resources/assets/bloodmagic/models/item/primitive_hydration_cell.json index 1ab5b2a7..73f64a0c 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/primitive_hydration_cell.json +++ b/src/generated/resources/assets/bloodmagic/models/item/primitive_hydration_cell.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/primitive_hydration_cell" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentair.json b/src/generated/resources/assets/bloodmagic/models/item/reagentair.json index d9fcf24e..3cdc9d64 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentair.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentair.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentair" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentbinding.json b/src/generated/resources/assets/bloodmagic/models/item/reagentbinding.json index fe44b533..e8409a07 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentbinding.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentbinding.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentbinding" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentbloodlight.json b/src/generated/resources/assets/bloodmagic/models/item/reagentbloodlight.json index bf54ca70..54d4afa2 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentbloodlight.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentbloodlight.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentbloodlight" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentfastminer.json b/src/generated/resources/assets/bloodmagic/models/item/reagentfastminer.json index 679e78e3..3c4434b7 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentfastminer.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentfastminer.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentfastminer" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentgrowth.json b/src/generated/resources/assets/bloodmagic/models/item/reagentgrowth.json index 9a54fd87..3d4ee45c 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentgrowth.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentgrowth.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentgrowth" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentlava.json b/src/generated/resources/assets/bloodmagic/models/item/reagentlava.json index 542efbd6..d6139efe 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentlava.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentlava.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentlava" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentmagnetism.json b/src/generated/resources/assets/bloodmagic/models/item/reagentmagnetism.json index 45334c4a..121d0018 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentmagnetism.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentmagnetism.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentmagnetism" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentsight.json b/src/generated/resources/assets/bloodmagic/models/item/reagentsight.json index 8389e493..37f60639 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentsight.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentsight.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentsight" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentvoid.json b/src/generated/resources/assets/bloodmagic/models/item/reagentvoid.json index 313e8d91..4f6564c8 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentvoid.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentvoid.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentvoid" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reagentwater.json b/src/generated/resources/assets/bloodmagic/models/item/reagentwater.json index cd6aa9a9..b5730d1a 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reagentwater.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reagentwater.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reagentwater" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/reinforcedslate.json b/src/generated/resources/assets/bloodmagic/models/item/reinforcedslate.json index 73ca020e..3299a6a5 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/reinforcedslate.json +++ b/src/generated/resources/assets/bloodmagic/models/item/reinforcedslate.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/reinforcedslate" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/ritualdiviner.json b/src/generated/resources/assets/bloodmagic/models/item/ritualdiviner.json index d0a26bd9..39b88d5c 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/ritualdiviner.json +++ b/src/generated/resources/assets/bloodmagic/models/item/ritualdiviner.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/ritualdiviner" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/ritualdivinerdusk.json b/src/generated/resources/assets/bloodmagic/models/item/ritualdivinerdusk.json index 7b855e6c..48ee296e 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/ritualdivinerdusk.json +++ b/src/generated/resources/assets/bloodmagic/models/item/ritualdivinerdusk.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/ritualdivinerdusk" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/ritualtinkerer.json b/src/generated/resources/assets/bloodmagic/models/item/ritualtinkerer.json index 065fb4cf..31fcff20 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/ritualtinkerer.json +++ b/src/generated/resources/assets/bloodmagic/models/item/ritualtinkerer.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/ritualtinkerer" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/sacrificialdagger.json b/src/generated/resources/assets/bloodmagic/models/item/sacrificialdagger.json index b516e95a..08eefb43 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/sacrificialdagger.json +++ b/src/generated/resources/assets/bloodmagic/models/item/sacrificialdagger.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/sacrificialdagger" }, diff --git a/src/generated/resources/assets/bloodmagic/models/item/saltpeter.json b/src/generated/resources/assets/bloodmagic/models/item/saltpeter.json index 6c8a2693..b9ba71f1 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/saltpeter.json +++ b/src/generated/resources/assets/bloodmagic/models/item/saltpeter.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/saltpeter" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/sand_hellforged.json b/src/generated/resources/assets/bloodmagic/models/item/sand_hellforged.json index a04b232a..03c5f26d 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/sand_hellforged.json +++ b/src/generated/resources/assets/bloodmagic/models/item/sand_hellforged.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/sand_hellforged" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/sand_netherite.json b/src/generated/resources/assets/bloodmagic/models/item/sand_netherite.json index 04dd2ae3..99d41148 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/sand_netherite.json +++ b/src/generated/resources/assets/bloodmagic/models/item/sand_netherite.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/sand_netherite" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/sanguinereverter.json b/src/generated/resources/assets/bloodmagic/models/item/sanguinereverter.json index 91b0f240..2e6c6de6 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/sanguinereverter.json +++ b/src/generated/resources/assets/bloodmagic/models/item/sanguinereverter.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/sanguinereverter" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/seersigil.json b/src/generated/resources/assets/bloodmagic/models/item/seersigil.json index f79756b2..f513120b 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/seersigil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/seersigil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/seersigil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/silk_touch_anointment.json b/src/generated/resources/assets/bloodmagic/models/item/silk_touch_anointment.json new file mode 100644 index 00000000..5d52447b --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/silk_touch_anointment.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "bloodmagic:item/alchemic_vial", + "layer1": "bloodmagic:item/alchemic_liquid", + "layer2": "bloodmagic:item/alchemic_ribbon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/slate_vial.json b/src/generated/resources/assets/bloodmagic/models/item/slate_vial.json new file mode 100644 index 00000000..1dfb1022 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/slate_vial.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "bloodmagic:item/alchemic_vial", + "layer1": "bloodmagic:item/alchemic_ribbon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/soulsnare.json b/src/generated/resources/assets/bloodmagic/models/item/soulsnare.json index 45b82d85..91fa098e 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/soulsnare.json +++ b/src/generated/resources/assets/bloodmagic/models/item/soulsnare.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/soulsnare" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/steadfastcrystal.json b/src/generated/resources/assets/bloodmagic/models/item/steadfastcrystal.json index 9d4b8aa6..5a4fee55 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/steadfastcrystal.json +++ b/src/generated/resources/assets/bloodmagic/models/item/steadfastcrystal.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/steadfastcrystal" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/sulfur.json b/src/generated/resources/assets/bloodmagic/models/item/sulfur.json index 33aae940..c52f67e0 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/sulfur.json +++ b/src/generated/resources/assets/bloodmagic/models/item/sulfur.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/sulfur" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/upgradetome.json b/src/generated/resources/assets/bloodmagic/models/item/upgradetome.json index 7839a726..674756d4 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/upgradetome.json +++ b/src/generated/resources/assets/bloodmagic/models/item/upgradetome.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/upgradetome" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/vengefulcrystal.json b/src/generated/resources/assets/bloodmagic/models/item/vengefulcrystal.json index 0ad0517e..1256032a 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/vengefulcrystal.json +++ b/src/generated/resources/assets/bloodmagic/models/item/vengefulcrystal.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/vengefulcrystal" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/voidsigil.json b/src/generated/resources/assets/bloodmagic/models/item/voidsigil.json index cb05222b..41dac6e2 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/voidsigil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/voidsigil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/voidsigil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/waterscribetool.json b/src/generated/resources/assets/bloodmagic/models/item/waterscribetool.json index 1c9aec5b..658f9c03 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/waterscribetool.json +++ b/src/generated/resources/assets/bloodmagic/models/item/waterscribetool.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/waterscribetool" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/watersigil.json b/src/generated/resources/assets/bloodmagic/models/item/watersigil.json index 8835296c..12a3f053 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/watersigil.json +++ b/src/generated/resources/assets/bloodmagic/models/item/watersigil.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/watersigil" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/weakbloodorb.json b/src/generated/resources/assets/bloodmagic/models/item/weakbloodorb.json index 3fd10ae6..93800f41 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/weakbloodorb.json +++ b/src/generated/resources/assets/bloodmagic/models/item/weakbloodorb.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/weakbloodorb" } diff --git a/src/generated/resources/assets/bloodmagic/models/item/weakbloodshard.json b/src/generated/resources/assets/bloodmagic/models/item/weakbloodshard.json index 72bd51b5..8cc8378f 100644 --- a/src/generated/resources/assets/bloodmagic/models/item/weakbloodshard.json +++ b/src/generated/resources/assets/bloodmagic/models/item/weakbloodshard.json @@ -1,5 +1,5 @@ { - "parent": "minecraft:item/handheld", + "parent": "minecraft:item/generated", "textures": { "layer0": "bloodmagic:item/weakbloodshard" } diff --git a/src/generated/resources/data/bloodmagic/recipes/alchemytable/slate_vial.json b/src/generated/resources/data/bloodmagic/recipes/alchemytable/slate_vial.json new file mode 100644 index 00000000..2a613dbe --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/alchemytable/slate_vial.json @@ -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 +} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/BloodMagic.java b/src/main/java/wayoftime/bloodmagic/BloodMagic.java index 2039a0bc..32d8779c 100644 --- a/src/main/java/wayoftime/bloodmagic/BloodMagic.java +++ b/src/main/java/wayoftime/bloodmagic/BloodMagic.java @@ -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 diff --git a/src/main/java/wayoftime/bloodmagic/anointment/Anointment.java b/src/main/java/wayoftime/bloodmagic/anointment/Anointment.java index 8e546f4f..2c7e50c8 100644 --- a/src/main/java/wayoftime/bloodmagic/anointment/Anointment.java +++ b/src/main/java/wayoftime/bloodmagic/anointment/Anointment.java @@ -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 private final ResourceLocation key; // private final Set incompatible; + private String translationKey = null; private final Map 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 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 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 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 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 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 removeList = new ArrayList(); + + 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 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 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 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 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 return upgrade; } } + } diff --git a/src/main/java/wayoftime/bloodmagic/anointment/AnointmentColor.java b/src/main/java/wayoftime/bloodmagic/anointment/AnointmentColor.java new file mode 100644 index 00000000..d8c3c248 --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/anointment/AnointmentColor.java @@ -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; + } +} diff --git a/src/main/java/wayoftime/bloodmagic/anointment/AnointmentData.java b/src/main/java/wayoftime/bloodmagic/anointment/AnointmentData.java new file mode 100644 index 00000000..5f23678a --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/anointment/AnointmentData.java @@ -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; + } +} diff --git a/src/main/java/wayoftime/bloodmagic/anointment/AnointmentHolder.java b/src/main/java/wayoftime/bloodmagic/anointment/AnointmentHolder.java index 15626ab4..a87e9aab 100644 --- a/src/main/java/wayoftime/bloodmagic/anointment/AnointmentHolder.java +++ b/src/main/java/wayoftime/bloodmagic/anointment/AnointmentHolder.java @@ -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 removedAnointments = new ArrayList(); + for (Entry 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 removedAnointments = new ArrayList(); + for (Entry 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 getAnointments() + { + return ImmutableMap.copyOf(anointments); + } + + public double getAdditionalDamage(PlayerEntity player, ItemStack weapon, double damage, LivingEntity attacked) + { + double additionalDamage = 0; + for (Entry 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 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() + ")"))); + }); } } } diff --git a/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java b/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java index 807f5e00..c7ea5155 100644 --- a/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java +++ b/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java @@ -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) { diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java index 3d681b2a..2b45d035 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java @@ -3,6 +3,7 @@ package wayoftime.bloodmagic.common.data; import net.minecraft.block.Block; import net.minecraft.data.DataGenerator; import net.minecraft.item.Item; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.generators.ItemModelBuilder; import net.minecraftforge.client.model.generators.ItemModelProvider; import net.minecraftforge.client.model.generators.ModelFile; @@ -90,6 +91,11 @@ public class GeneratorItemModels extends ItemModelProvider registerBlockModel(BloodMagicBlocks.SHAPED_CHARGE.get()); registerBlockModel(BloodMagicBlocks.DEFORESTER_CHARGE.get()); + + registerMultiLayerItem(BloodMagicItems.SLATE_VIAL.get(), modLoc("item/alchemic_vial"), modLoc("item/alchemic_ribbon")); + registerMultiLayerItem(BloodMagicItems.MELEE_DAMAGE_ANOINTMENT.get(), modLoc("item/alchemic_vial"), modLoc("item/alchemic_liquid"), modLoc("item/alchemic_ribbon")); + registerMultiLayerItem(BloodMagicItems.SILK_TOUCH_ANOINTMENT.get(), modLoc("item/alchemic_vial"), modLoc("item/alchemic_liquid"), modLoc("item/alchemic_ribbon")); + registerMultiLayerItem(BloodMagicItems.FORTUNE_ANOINTMENT.get(), modLoc("item/alchemic_vial"), modLoc("item/alchemic_liquid"), modLoc("item/alchemic_ribbon")); } private void registerCustomFullTexture(Block block, String texturePath) @@ -113,7 +119,21 @@ public class GeneratorItemModels extends ItemModelProvider private void registerBasicItem(Item item) { String path = item.getRegistryName().getPath(); - singleTexture(path, mcLoc("item/handheld"), "layer0", modLoc("item/" + path)); + singleTexture(path, mcLoc("item/generated"), "layer0", modLoc("item/" + path)); + } + + private void registerMultiLayerItem(Item item, ResourceLocation... locations) + { + String path = item.getRegistryName().getPath(); + ItemModelBuilder builder = getBuilder(path).parent(getExistingFile(mcLoc("item/generated"))); +// ModelFile model = withExistingParent(path, mcLoc("item/handheld")); + + for (int i = 0; i < locations.length; i++) + { + builder.texture("layer" + i, locations[i]); + } + + builder.assertExistence(); } private void registerToggleableItem(Item item) diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java index 9eaf3d0c..9765852e 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java @@ -342,8 +342,15 @@ public class GeneratorLanguage extends LanguageProvider add("tooltip.bloodmagic.livingarmour.extraExtraInfo", "&9-Hold shift + M for progress info-"); + add("tooltip.bloodmagic.slate_vial", "A glass vial infused with a simple slate"); + add("chat.bloodmagic.living_upgrade_level_increase", "%s has leveled up to %d"); + // Anointments. Doesn't have any spelling to be pedantic about. + add("anointment.bloodmagic.melee_damage", "Whetstone"); + add("anointment.bloodmagic.silk_touch", "Soft Touch"); + add("anointment.bloodmagic.fortune", "Fortunate"); + // Guide add("guide.bloodmagic.name", "Sanguine Scientiem"); add("guide.bloodmagic.landing_text", "\"It is my dear hope that by holding this tome in your hands, I may impart the knowledge of the lost art that is Blood Magic\"$(br)$(o)- Magus Arcana$()"); @@ -522,6 +529,12 @@ public class GeneratorLanguage extends LanguageProvider addItem(BloodMagicItems.LIVING_TOME, "Living Armour Upgrade Tome"); + // Anointment Items + addItem(BloodMagicItems.SLATE_VIAL, "Slate-infused Vial"); + addItem(BloodMagicItems.MELEE_DAMAGE_ANOINTMENT, "Honing Oil"); + addItem(BloodMagicItems.SILK_TOUCH_ANOINTMENT, "Soft Coating"); + addItem(BloodMagicItems.FORTUNE_ANOINTMENT, "Fortuna Extract"); + // Alchemy Items addItem(BloodMagicItems.PLANT_OIL, "Plant Oil"); diff --git a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java index 04b66411..5d5d6ef6 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java @@ -217,6 +217,12 @@ public class BloodMagicItems public static final RegistryObject SALTPETER = BASICITEMS.register("saltpeter", () -> new ItemBase()); public static final RegistryObject PLANT_OIL = BASICITEMS.register("plantoil", () -> new ItemBase()); + // Anointments + public static final RegistryObject SLATE_VIAL = ITEMS.register("slate_vial", () -> new ItemBase(16, "slate_vial")); + public static final RegistryObject MELEE_DAMAGE_ANOINTMENT = ITEMS.register("melee_anointment", () -> new ItemAnointmentProvider(BloodMagic.rl("melee_damage"), 0xFF0000, 1, 128)); + public static final RegistryObject SILK_TOUCH_ANOINTMENT = ITEMS.register("silk_touch_anointment", () -> new ItemAnointmentProvider(BloodMagic.rl("silk_touch"), 0x00B0FF, 1, 256)); + public static final RegistryObject FORTUNE_ANOINTMENT = ITEMS.register("fortune_anointment", () -> new ItemAnointmentProvider(BloodMagic.rl("fortune"), 3381504, 1, 128)); + // Fragments public static final RegistryObject IRON_FRAGMENT = BASICITEMS.register("ironfragment", () -> new ItemBase()); public static final RegistryObject GOLD_FRAGMENT = BASICITEMS.register("goldfragment", () -> new ItemBase()); diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemAnointmentProvider.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemAnointmentProvider.java index aef5665c..f45b7ca2 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemAnointmentProvider.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemAnointmentProvider.java @@ -4,22 +4,35 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.SwordItem; +import net.minecraft.particles.ParticleTypes; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.SoundEvents; import net.minecraft.world.World; -import net.minecraftforge.common.ToolType; import wayoftime.bloodmagic.BloodMagic; -import wayoftime.bloodmagic.anointment.Anointment; +import wayoftime.bloodmagic.anointment.AnointmentData; +import wayoftime.bloodmagic.anointment.AnointmentHolder; +import wayoftime.bloodmagic.core.AnointmentRegistrar; public class ItemAnointmentProvider extends Item { - public Anointment anointment; +// public Anointment anointment; + public ResourceLocation anointRL; + private int colour; + private int level; + private int maxDamage; - public ItemAnointmentProvider(Anointment anointment) + public ItemAnointmentProvider(ResourceLocation anointRL, int colour, int level, int maxDamage) { super(new Item.Properties().maxStackSize(16).group(BloodMagic.TAB)); - - this.anointment = anointment; + this.anointRL = anointRL; + this.colour = colour; + this.level = level; + this.maxDamage = maxDamage; +// this.anointment = anointment; } @Override @@ -27,7 +40,6 @@ public class ItemAnointmentProvider extends Item { ItemStack stack = player.getHeldItem(hand); ItemStack weaponStack = player.getHeldItem(hand == Hand.MAIN_HAND ? Hand.OFF_HAND : Hand.MAIN_HAND); - // if (world.isRemote && !unusable) // { // Vector3d vec = player.getLookVec(); @@ -50,7 +62,45 @@ public class ItemAnointmentProvider extends Item { if (!weaponStack.isEmpty() && isItemValidForApplication(weaponStack)) { - ToolType d; + AnointmentHolder holder = AnointmentHolder.fromItemStack(weaponStack); + if (holder == null) + { + holder = new AnointmentHolder(); + } + + if (holder.applyAnointment(weaponStack, AnointmentRegistrar.ANOINTMENT_MAP.get(anointRL), new AnointmentData(level, 0, maxDamage))) + { +// if (world instanceof ServerWorld) + { + SoundEvent soundevent = SoundEvents.ITEM_BOTTLE_EMPTY; + world.playSound(null, player.getPosition(), soundevent, SoundCategory.BLOCKS, 1.0F, 1.0F); + } + stack.shrink(1); + holder.toItemStack(weaponStack); + return ActionResult.resultSuccess(stack); + } + } + } else + { + if (!weaponStack.isEmpty() && isItemValidForApplication(weaponStack)) + { + AnointmentHolder holder = AnointmentHolder.fromItemStack(weaponStack); + if (holder == null) + { + holder = new AnointmentHolder(); + } + if (holder.canApplyAnointment(weaponStack, AnointmentRegistrar.ANOINTMENT_MAP.get(anointRL), new AnointmentData(level, 0, maxDamage))) + { + boolean flag1 = false; + double d0 = (double) (colour >> 16 & 255) / 255.0D; + double d1 = (double) (colour >> 8 & 255) / 255.0D; + double d2 = (double) (colour >> 0 & 255) / 255.0D; + for (int i = 0; i < 16; i++) + { + world.addParticle(flag1 ? ParticleTypes.AMBIENT_ENTITY_EFFECT + : ParticleTypes.ENTITY_EFFECT, player.getPosXRandom(0.3D), player.getPosYRandom(), player.getPosZRandom(0.3D), d0, d1, d2); + } + } } } @@ -71,4 +121,9 @@ public class ItemAnointmentProvider extends Item { return stack.getItem() instanceof SwordItem; } + + public int getColor() + { + return colour; + } } diff --git a/src/main/java/wayoftime/bloodmagic/common/item/ItemBase.java b/src/main/java/wayoftime/bloodmagic/common/item/ItemBase.java index d6aecf25..35b45aa2 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/ItemBase.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/ItemBase.java @@ -23,7 +23,17 @@ public class ItemBase extends Item public ItemBase(String desc) { - super(new Item.Properties().maxStackSize(64).group(BloodMagic.TAB)); + this(64, desc); + } + + public ItemBase(int stackSize) + { + this(stackSize, ""); + } + + public ItemBase(int stackSize, String desc) + { + super(new Item.Properties().maxStackSize(stackSize).group(BloodMagic.TAB)); this.desc = desc; } diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/AlchemyTableRecipeProvider.java b/src/main/java/wayoftime/bloodmagic/common/recipe/AlchemyTableRecipeProvider.java index c9bea4bd..e0c60269 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/AlchemyTableRecipeProvider.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/AlchemyTableRecipeProvider.java @@ -39,6 +39,8 @@ public class AlchemyTableRecipeProvider implements ISubRecipeProvider AlchemyTableRecipeBuilder.alchemyTable(new ItemStack(BloodMagicItems.COAL_SAND.get(), 4), 400, 200, 1).addIngredient(Ingredient.fromItems(Items.COAL)).addIngredient(Ingredient.fromItems(Items.COAL)).addIngredient(Ingredient.fromItems(Items.FLINT)).build(consumer, BloodMagic.rl(basePath + "sand_coal")); AlchemyTableRecipeBuilder.alchemyTable(new ItemStack(BloodMagicItems.BASIC_CUTTING_FLUID.get()), 1000, 200, 1).addIngredient(Ingredient.fromItems(BloodMagicItems.PLANT_OIL.get())).addIngredient(Ingredient.fromTag(Tags.Items.DUSTS_REDSTONE)).addIngredient(Ingredient.fromTag(Tags.Items.GUNPOWDER)).addIngredient(Ingredient.fromItems(Items.SUGAR)).addIngredient(Ingredient.fromTag(BloodMagicTags.DUST_COAL)).addIngredient(Ingredient.fromStacks(new ItemStack(Items.POTION))).build(consumer, BloodMagic.rl(basePath + "basic_cutting_fluid")); + + AlchemyTableRecipeBuilder.alchemyTable(new ItemStack(BloodMagicItems.SLATE_VIAL.get(), 8), 500, 200, 1).addIngredient(Ingredient.fromItems(BloodMagicItems.SLATE.get())).addIngredient(Ingredient.fromTag(Tags.Items.GLASS)).addIngredient(Ingredient.fromTag(Tags.Items.GLASS)).addIngredient(Ingredient.fromTag(Tags.Items.GLASS)).addIngredient(Ingredient.fromTag(Tags.Items.GLASS)).addIngredient(Ingredient.fromTag(Tags.Items.GLASS)).build(consumer, BloodMagic.rl(basePath + "slate_vial")); } } diff --git a/src/main/java/wayoftime/bloodmagic/core/AnointmentRegistrar.java b/src/main/java/wayoftime/bloodmagic/core/AnointmentRegistrar.java index 38db1b2e..135fd222 100644 --- a/src/main/java/wayoftime/bloodmagic/core/AnointmentRegistrar.java +++ b/src/main/java/wayoftime/bloodmagic/core/AnointmentRegistrar.java @@ -8,8 +8,6 @@ import java.util.function.Supplier; import com.google.common.base.Charsets; import com.google.common.io.Resources; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.ai.attributes.Attributes; import net.minecraft.util.ResourceLocation; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.anointment.Anointment; @@ -45,14 +43,23 @@ public class AnointmentRegistrar return def; }).get(); - public static final AnointmentRegistryObject ANOINTMENT_MELEE_DAMAGE = ANOINTMENTS.register("melee_damage", () -> parseDefinition("melee_damage").withAttributeProvider((stats, attributeMap, uuid, upgrade, level) -> { -// attributeMap.put(Attributes.KNOCKBACK_RESISTANCE, new AttributeModifier(uuid, "KB Modifier", upgrade.getBonusValue("kb", level).doubleValue(), AttributeModifier.Operation.ADDITION)); - attributeMap.put(Attributes.ATTACK_DAMAGE, new AttributeModifier(uuid, "Damage", upgrade.getBonusValue("damage", level).intValue(), AttributeModifier.Operation.ADDITION)); - })); +// public static final AnointmentRegistryObject ANOINTMENT_MELEE_DAMAGE = ANOINTMENTS.register("melee_damage", () -> parseDefinition("melee_damage").withAttributeProvider((stats, attributeMap, uuid, upgrade, level) -> { +// attributeMap.put(Attributes.ATTACK_DAMAGE, new AttributeModifier(uuid, "Weapon modifier", upgrade.getBonusValue("damage", level).intValue(), AttributeModifier.Operation.ADDITION)); +// }).setConsumeOnAttack()); + + public static final AnointmentRegistryObject ANOINTMENT_MELEE_DAMAGE = ANOINTMENTS.register("melee_damage", () -> parseDefinition("melee_damage").withDamageProvider((player, weapon, damage, holder, attacked, anoint, level) -> { + return anoint.getBonusValue("damage", level).doubleValue(); + }).setConsumeOnAttack()); + + public static final AnointmentRegistryObject ANOINTMENT_SILK_TOUCH = ANOINTMENTS.register("silk_touch", () -> new Anointment(BloodMagic.rl("silk_touch")).setConsumeOnHarvest()); + + public static final AnointmentRegistryObject ANOINTMENT_FORTUNE = ANOINTMENTS.register("fortune", () -> new Anointment(BloodMagic.rl("fortune")).setConsumeOnHarvest()); public static void register() { registerAnointment(ANOINTMENT_MELEE_DAMAGE.get()); + registerAnointment(ANOINTMENT_SILK_TOUCH.get()); + registerAnointment(ANOINTMENT_FORTUNE.get()); // Registry.register(UPGRADES, UPGRADE_ARROW_PROTECT.getKey(), UPGRADE_ARROW_PROTECT); // Registry.register(UPGRADES, UPGRADE_ARROW_SHOT.getKey(), UPGRADE_ARROW_SHOT); // Registry.register(UPGRADES, UPGRADE_CRITICAL_STRIKE.getKey(), UPGRADE_CRITICAL_STRIKE); diff --git a/src/main/java/wayoftime/bloodmagic/loot/BloodMagicLootConditions.java b/src/main/java/wayoftime/bloodmagic/loot/BloodMagicLootConditions.java new file mode 100644 index 00000000..6e322b92 --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/loot/BloodMagicLootConditions.java @@ -0,0 +1,16 @@ +package wayoftime.bloodmagic.loot; + +import net.minecraft.loot.LootConditionType; +import net.minecraft.loot.conditions.MatchTool; +import net.minecraft.util.registry.Registry; +import wayoftime.bloodmagic.BloodMagic; + +public class BloodMagicLootConditions +{ + public static final LootConditionType INVERTED = Registry.register(Registry.LOOT_CONDITION_TYPE, BloodMagic.rl("testing"), new LootConditionType(new MatchTool.Serializer())); + + static + { + + } +} diff --git a/src/main/java/wayoftime/bloodmagic/loot/GlobalLootModifier.java b/src/main/java/wayoftime/bloodmagic/loot/GlobalLootModifier.java new file mode 100644 index 00000000..35f68889 --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/loot/GlobalLootModifier.java @@ -0,0 +1,149 @@ +package wayoftime.bloodmagic.loot; + +import java.util.List; + +import javax.annotation.Nonnull; + +import com.google.gson.JsonObject; + +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.enchantment.Enchantments; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.LootContext; +import net.minecraft.loot.LootParameterSets; +import net.minecraft.loot.LootParameters; +import net.minecraft.loot.LootTable; +import net.minecraft.loot.conditions.ILootCondition; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.loot.GlobalLootModifierSerializer; +import net.minecraftforge.common.loot.LootModifier; +import net.minecraftforge.fml.RegistryObject; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import wayoftime.bloodmagic.BloodMagic; +import wayoftime.bloodmagic.anointment.AnointmentHolder; +import wayoftime.bloodmagic.core.AnointmentRegistrar; + +public class GlobalLootModifier +{ + public static final DeferredRegister> GLM = DeferredRegister.create(ForgeRegistries.LOOT_MODIFIER_SERIALIZERS, BloodMagic.MODID); + public static final RegistryObject SILKTOUCH = GLM.register("silk_touch_bamboo", SilkTouchTestModifier.Serializer::new); + public static final RegistryObject FORTUNE = GLM.register("fortune", FortuneModifier.Serializer::new); + + private static class SilkTouchTestModifier extends LootModifier + { + public SilkTouchTestModifier(ILootCondition[] conditionsIn) + { + super(conditionsIn); +// System.out.println("Registering silk touch modifier"); + } + + @Nonnull + @Override + public List doApply(List generatedLoot, LootContext context) + { +// System.out.println("Testing to see if we gotta check it~"); + ItemStack ctxTool = context.get(LootParameters.TOOL); + // return early if silk-touch is already applied (otherwise we'll get stuck in + // an infinite loop). + if (EnchantmentHelper.getEnchantments(ctxTool).containsKey(Enchantments.SILK_TOUCH)) + return generatedLoot; + AnointmentHolder holder = AnointmentHolder.fromItemStack(ctxTool); + if (holder == null || holder.getAnointmentLevel(AnointmentRegistrar.ANOINTMENT_SILK_TOUCH.get()) <= 0) + { + return generatedLoot; + } + ItemStack fakeTool = ctxTool.copy(); + fakeTool.addEnchantment(Enchantments.SILK_TOUCH, 1); + LootContext.Builder builder = new LootContext.Builder(context); + builder.withParameter(LootParameters.TOOL, fakeTool); + LootContext ctx = builder.build(LootParameterSets.BLOCK); + LootTable loottable = context.getWorld().getServer().getLootTableManager().getLootTableFromLocation(context.get(LootParameters.BLOCK_STATE).getBlock().getLootTable()); + return loottable.generate(ctx); + } + + private static class Serializer extends GlobalLootModifierSerializer + { + @Override + public SilkTouchTestModifier read(ResourceLocation name, JsonObject json, ILootCondition[] conditionsIn) + { + return new SilkTouchTestModifier(conditionsIn); + } + + @Override + public JsonObject write(SilkTouchTestModifier instance) + { + return makeConditions(instance.conditions); + } + } + } + + private static class FortuneModifier extends LootModifier + { + public FortuneModifier(ILootCondition[] conditionsIn) + { + super(conditionsIn); +// System.out.println("Registering silk touch modifier"); + } + +// List bufferList = new ArrayList(); + + @Nonnull + @Override + public List doApply(List generatedLoot, LootContext context) + { + ItemStack ctxTool = context.get(LootParameters.TOOL); + // return early if silk-touch is already applied (otherwise we'll get stuck in + // an infinite loop). + if (ctxTool.getTag() != null && ctxTool.getTag().getBoolean("bloodmagic:checked_fortune")) + { + return generatedLoot; + } + + if (EnchantmentHelper.getEnchantments(ctxTool).containsKey(Enchantments.SILK_TOUCH)) + return generatedLoot; + AnointmentHolder holder = AnointmentHolder.fromItemStack(ctxTool); + if (holder == null) + { + return generatedLoot; + } + + int additionalFortune = holder.getAnointmentLevel(AnointmentRegistrar.ANOINTMENT_FORTUNE.get()); + if (additionalFortune <= 0) + { + return generatedLoot; + } + + if (holder.getAnointmentLevel(AnointmentRegistrar.ANOINTMENT_SILK_TOUCH.get()) > 0) + { + return generatedLoot; + } + + ItemStack fakeTool = ctxTool.copy(); + fakeTool.getOrCreateTag().putBoolean("bloodmagic:checked_fortune", true); + int baseFortuneLevel = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, ctxTool); + + fakeTool.addEnchantment(Enchantments.FORTUNE, baseFortuneLevel + additionalFortune); + LootContext.Builder builder = new LootContext.Builder(context); + builder.withParameter(LootParameters.TOOL, fakeTool); + LootContext ctx = builder.build(LootParameterSets.BLOCK); + LootTable loottable = context.getWorld().getServer().getLootTableManager().getLootTableFromLocation(context.get(LootParameters.BLOCK_STATE).getBlock().getLootTable()); + return loottable.generate(ctx); + } + + private static class Serializer extends GlobalLootModifierSerializer + { + @Override + public FortuneModifier read(ResourceLocation name, JsonObject json, ILootCondition[] conditionsIn) + { + return new FortuneModifier(conditionsIn); + } + + @Override + public JsonObject write(FortuneModifier instance) + { + return makeConditions(instance.conditions); + } + } + } +} diff --git a/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java b/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java index eac57688..c2846807 100644 --- a/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java +++ b/src/main/java/wayoftime/bloodmagic/util/handler/event/GenericHandler.java @@ -26,6 +26,7 @@ import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.event.entity.living.LivingHealEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; +import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.entity.player.PlayerXpEvent; @@ -35,11 +36,13 @@ import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import wayoftime.bloodmagic.BloodMagic; +import wayoftime.bloodmagic.anointment.AnointmentHolder; import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.common.item.BloodOrb; import wayoftime.bloodmagic.common.item.IBindable; import wayoftime.bloodmagic.common.item.IBloodOrb; import wayoftime.bloodmagic.common.item.ItemExperienceBook; +import wayoftime.bloodmagic.core.AnointmentRegistrar; import wayoftime.bloodmagic.core.LivingArmorRegistrar; import wayoftime.bloodmagic.core.data.Binding; import wayoftime.bloodmagic.core.data.SoulNetwork; @@ -135,6 +138,16 @@ public class GenericHandler double additionalDamage = LivingUtil.getAdditionalDamage(sourcePlayer, mainWeapon, living, event.getAmount()); event.setAmount((float) (event.getAmount() + additionalDamage)); } + + ItemStack heldStack = sourcePlayer.getHeldItemMainhand(); + AnointmentHolder holder = AnointmentHolder.fromItemStack(heldStack); + + if (holder != null) + { + double additionalDamage = holder.getAdditionalDamage(sourcePlayer, heldStack, event.getAmount(), living); + + event.setAmount((float) (event.getAmount() + additionalDamage)); + } } if (living instanceof PlayerEntity) @@ -165,6 +178,16 @@ public class GenericHandler LivingUtil.applyNewExperience(sourcePlayer, LivingArmorRegistrar.UPGRADE_SPRINT_ATTACK.get(), event.getAmount()); } } + + ItemStack heldStack = sourcePlayer.getHeldItemMainhand(); + AnointmentHolder holder = AnointmentHolder.fromItemStack(heldStack); +// AnointmentHolder holder = AnointmentHolder.fromPlayer(sourcePlayer, Hand.MAIN_HAND); + +// System.out.println("Checking consumption. Holder is: " + holder); + if (holder != null && holder.consumeAnointmentDurabilityOnHit(heldStack, EquipmentSlotType.MAINHAND)) + { + holder.toItemStack(heldStack); + } } if (living instanceof PlayerEntity) @@ -475,6 +498,22 @@ public class GenericHandler player.addPotionEffect(new EffectInstance(Effects.HASTE, mineTime, LivingArmorRegistrar.UPGRADE_DIGGING.get().getBonusValue("speed_level", stats.getLevel(LivingArmorRegistrar.UPGRADE_DIGGING.get().getKey())).intValue(), true, false)); } } + + ItemStack heldStack = player.getHeldItemMainhand(); + AnointmentHolder holder = AnointmentHolder.fromItemStack(heldStack); + + if (holder != null) + { + if (holder.getAnointmentLevel(AnointmentRegistrar.ANOINTMENT_SILK_TOUCH.get()) >= 1) + { + int bonusLevel = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, player.getHeldItemMainhand()); + int exp = event.getState().getExpDrop(event.getWorld(), event.getPos(), bonusLevel, holder.getAnointmentLevel(AnointmentRegistrar.ANOINTMENT_SILK_TOUCH.get())); + event.setExpToDrop(exp); + } + + if (holder.consumeAnointmentDurabilityOnHarvest(heldStack, EquipmentSlotType.MAINHAND)) + holder.toItemStack(heldStack); + } } } @@ -497,4 +536,12 @@ public class GenericHandler } } } + + @SubscribeEvent + public void appendTooltip(ItemTooltipEvent event) + { + ItemStack stack = event.getItemStack(); + AnointmentHolder holder = AnointmentHolder.fromItemStack(stack); + AnointmentHolder.appendAnointmentTooltip(holder, event.getToolTip()); + } } diff --git a/src/main/resources/assets/bloodmagic/textures/item/melee_anointment.png b/src/main/resources/assets/bloodmagic/textures/item/melee_anointment.png new file mode 100644 index 0000000000000000000000000000000000000000..049b2d75e3b2e307514c0dc037e1bae398364eab GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)35ZUNPLhcKF{cpa^Gy zM`SSr1Gg{;GcwGYBLNg-FY)wsWq-iR!6PeUy7_(=Q0Szmi(`nz>9>=t`4|I5+V*P; z1>QL1QYzef