diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 58159576..f572a3fd 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -18,6 +18,7 @@ c67498a81f8dd53770da51df45192b171cdd234c assets/bloodmagic/blockstates/dungeon_b 8b568926830785a5cb848fb36d4ae01e67590501 assets/bloodmagic/blockstates/dungeon_brick_stairs.json 6c10c79909e008b960f2d78543f55847eec7a226 assets/bloodmagic/blockstates/dungeon_brick_wall.json 8a04e502b6965d912793699d61071e44428fceb8 assets/bloodmagic/blockstates/dungeon_eye.json +40051ea4111a9c2fd2524d664d52f241eed5317e assets/bloodmagic/blockstates/dungeon_metal.json fe31978b41dc50c21f413c81410221f657fd4d23 assets/bloodmagic/blockstates/dungeon_ore.json 388af5c6d34f62d66d987760871c64793df84a37 assets/bloodmagic/blockstates/dungeon_pillar_cap.json 8d8d58ad890f339b75dbdfc710b30dc00eed2ef3 assets/bloodmagic/blockstates/dungeon_pillar_center.json @@ -36,6 +37,7 @@ e780d6d9e891082dc6ce83fde1697ce36281a02a assets/bloodmagic/blockstates/fireritua f78ce2be09ab794bf5f5679414eee0dc85cf4fb1 assets/bloodmagic/blockstates/largebloodstonebrick.json 002795212cc7bf2cad2a91f873d85e2204c6367d assets/bloodmagic/blockstates/lightritualstone.json e1a98bd53fca155e4bbb03c1e548341af0f84bd7 assets/bloodmagic/blockstates/masterritualstone.json +505e45be4a207e22433d853e5139c5b1d48c57d7 assets/bloodmagic/blockstates/nether_soil.json 95a0c9a84139cf92c2689e53408b51619db126a1 assets/bloodmagic/blockstates/obsidianbrickpath.json 8b0ea137c63cf3a658a03eee58ca4b2c3d996f87 assets/bloodmagic/blockstates/obsidiantilepath.json 372ecd737f7082a4c2c70e46745f893b1179f885 assets/bloodmagic/blockstates/orbcapacityrune.json @@ -53,7 +55,7 @@ e6d9cf699667aaa47efff37b2b033895dee29c15 assets/bloodmagic/blockstates/waterritu 42f26f715bddd16c069f9b51e3767b36477c8908 assets/bloodmagic/blockstates/woodtilepath.json 3c6ce233dae6c1307d9016406c324bbe844b4e1e assets/bloodmagic/blockstates/wornstonebrickpath.json d59655f12d1724b73b77c373fb6864fcff69db12 assets/bloodmagic/blockstates/wornstonetilepath.json -e7aab24fc4aa77601119478854ad929a1f384132 assets/bloodmagic/lang/en_us.json +b5dd19f496ee32e0301a21f38255c0fb3f2fae7f 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 @@ -114,6 +116,7 @@ ffb2021036b74d29fca5fc706885f3e1399c2950 assets/bloodmagic/models/block/dungeon_ a7d371e5d0efefae2729131bda16120bfe477bb8 assets/bloodmagic/models/block/dungeon_brick_wall_side.json bd152efd619489661cac86a80190bf9e88c86363 assets/bloodmagic/models/block/dungeon_brick_wall_side_tall.json 19ae530a34eb5cee35dc7b9cdd51c9c2d61fdc9e assets/bloodmagic/models/block/dungeon_eye.json +72d70f0acb18b765340167559c10b027bd98673a assets/bloodmagic/models/block/dungeon_metal.json 61eb4e5ede53a8278d2d95fbeb40dc01424f2895 assets/bloodmagic/models/block/dungeon_ore.json a4449c1d14c46bcda58b542c3efdddadff15bedc assets/bloodmagic/models/block/dungeon_pillar_cap.json 1752cc99d0c334016bebd0e8027b8abe3ca5d7e8 assets/bloodmagic/models/block/dungeon_pillar_cap_down.json @@ -151,6 +154,7 @@ c30064f4aa09c42d23e94d118ae5b148eadb3a6c assets/bloodmagic/models/block/earthrit d6bf1482345199e7d056a60865024ea5d480b986 assets/bloodmagic/models/block/largebloodstonebrick.json 2e1a81c758bfeec2aee807b48239f23241302268 assets/bloodmagic/models/block/lightritualstone.json eab1713a8879decb2ae05258a6bcfa9da78ec67b assets/bloodmagic/models/block/masterritualstone.json +c0e0f918b237d2f25718bae4774750b90a88de7b assets/bloodmagic/models/block/nether_soil.json 1e354903812e9cf8e2fea26b908430d7e1cf20a9 assets/bloodmagic/models/block/obsidianbrickpath.json 71893b8b185c2b0f64f21b7dc6c4f2850f936206 assets/bloodmagic/models/block/obsidiantilepath.json c3a813b735cd229f8597e41d04465926b2e65fe1 assets/bloodmagic/models/block/orbcapacityrune.json @@ -195,6 +199,8 @@ c795d1b7aa99ce27da63868f81bac615cf199c66 assets/bloodmagic/models/item/bloodston 738eb84b10400c04e0c7a5a253e55c109c233ec8 assets/bloodmagic/models/item/coalsand.json 9301a2fc234f064caf7e13afabb9343540d3412f 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 5ffcaf5c5378e51d9474b4e75fb3a9cae946a492 assets/bloodmagic/models/item/crystalline_resonator.json f404148f9df3a61da3c18175885ffa56b2a85a6a assets/bloodmagic/models/item/daggerofsacrifice.json 6b89387f771da9535a0234f1a267af1b6853724d assets/bloodmagic/models/item/defaultcrystal.json @@ -212,6 +218,7 @@ f866879eed9f1bd7eebac14495de599ca3ad855d assets/bloodmagic/models/item/dungeon_b 2ec6a2c66e88981ff54e74035bb3adb1ec4f6396 assets/bloodmagic/models/item/dungeon_brick_stairs.json 098a26f4e9222c801f9a17a6db1b266ad4085003 assets/bloodmagic/models/item/dungeon_brick_wall.json 0a48c4fd74036702ae2d72a9b2333c2bdf5ab31b assets/bloodmagic/models/item/dungeon_eye.json +e5b467f756ccc4d3ab42a1249864d47f2b9c4587 assets/bloodmagic/models/item/dungeon_metal.json 95a45fae0890e626aa5e5ff85b9884bd30087244 assets/bloodmagic/models/item/dungeon_ore.json ba5c610437b7d3a84820109c32d204310ff41fd7 assets/bloodmagic/models/item/dungeon_pillar_cap.json d098a544e7b9918a45106c2cbc5e10baea66502a assets/bloodmagic/models/item/dungeon_pillar_center.json @@ -234,13 +241,16 @@ cdbaaf8662f2e855a34a66f28e49403c4ea9a45e assets/bloodmagic/models/item/ethereal_ 6ccd9f4e27f43b7f30217e73e0cdfad3bc826b1e 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 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 @@ -253,6 +263,7 @@ ccbcba6e4a6450bb67f91ba17754d668ba64c0ac assets/bloodmagic/models/item/ironfragm 9e377ab2c131993f96ab6fb544bda4dbba0ab87e assets/bloodmagic/models/item/masterritualstone.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 @@ -278,6 +289,8 @@ fd1447d943ddc4540a51a72dcbb245d77d45da71 assets/bloodmagic/models/item/reagentwa 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 cc71421e98ee7ee047a4cfbb6cb69529c2b02d4e assets/bloodmagic/models/item/selfsacrificerune.json @@ -378,6 +391,8 @@ e897d6f91e2a0bd12b0da0a50e5c897294989e7c data/bloodmagic/advancements/recipes/bl 263f7c251d2f163db5bd229f2ab8a222f23ae03a data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_self_sacrifice.json 7ca400d1141ff4be1b529cd060950b42cf3b9bfb data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_speed.json 764e54fdaa24f87cceb815990bbbd2e2cd87f205 data/bloodmagic/advancements/recipes/bloodmagictab/bloodstonebrick.json +2e7ec285e758b06c2bd7d9fd93eedd96f511fa49 data/bloodmagic/advancements/recipes/bloodmagictab/corrupted_dust.json +1b1dab3143eae33e25c4a14c011adec72768c9b5 data/bloodmagic/advancements/recipes/bloodmagictab/hellforged_block.json a6f012d0584d36d9b7dd0ec4f9e4cbd2a3ff1146 data/bloodmagic/advancements/recipes/bloodmagictab/incense_altar.json 4c24af93a64071aadc0308b27bcbc44572e5ccfc data/bloodmagic/advancements/recipes/bloodmagictab/largebloodstonebrick.json 344567e6f5671131addcfebbd92d18e5cbd66ef5 data/bloodmagic/advancements/recipes/bloodmagictab/lava_crystal.json @@ -395,10 +410,12 @@ ea0b32b5595661f0d09f68a8a596577cc62ba0b1 data/bloodmagic/advancements/recipes/bl c8e5cdac0e7328640ab1cb0eab0a46f0733b59b3 data/bloodmagic/advancements/recipes/bloodmagictab/ritual_stone_blank.json 1578416eb302aecb3fd61e481634c5c021541f51 data/bloodmagic/advancements/recipes/bloodmagictab/ritual_stone_master.json 832301a424345b7ca70b43cb214faa104179f0fb data/bloodmagic/advancements/recipes/bloodmagictab/sacrificial_dagger.json +b76943e5606d3cd4ec9933b533e0925499af5c65 data/bloodmagic/advancements/recipes/bloodmagictab/smelting/ingot_hellforged.json 2d29dd0c24c4c11d7438cdeeb26b9357d4359e2c data/bloodmagic/advancements/recipes/bloodmagictab/soul_forge.json 7a7f9f995d2414289d07c0a145647c8e735a6b78 data/bloodmagic/advancements/recipes/bloodmagictab/soul_snare.json 1c751b044e5ce4d05746857d6cf5e812e94a4026 data/bloodmagic/advancements/recipes/misc/smelting/ingot_gold.json af036dd1bd5193c2d36e7cb96c0a2b73a37b76ab data/bloodmagic/advancements/recipes/misc/smelting/ingot_iron.json +ab358377c93ecbdd790722d5e796df59095e79e1 data/bloodmagic/advancements/recipes/misc/smelting/ingot_netherite_scrap.json 639ebb2ccabb2eaece59be96c2e6f28c31f4d2f4 data/bloodmagic/loot_tables/blocks/accelerationrune.json 26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/airritualstone.json 1ed1f3cebe68450b6d5ca3ce69e4728a7d250b1c data/bloodmagic/loot_tables/blocks/alchemicalreactionchamber.json @@ -424,6 +441,7 @@ be050ff812ae62793e3c51d7c2ab343294ede7f0 data/bloodmagic/loot_tables/blocks/dung 0d30aeb91425e2419abf555e9baab34475f45afc data/bloodmagic/loot_tables/blocks/dungeon_brick_stairs.json fa335aded871280065ca02db79d6de59ced7f6c9 data/bloodmagic/loot_tables/blocks/dungeon_brick_wall.json 47baa958866616d96eb39e2671a4cf488e0abae2 data/bloodmagic/loot_tables/blocks/dungeon_eye.json +055aa396cd80393d84ed340692be62f74ecb6ffc data/bloodmagic/loot_tables/blocks/dungeon_metal.json 234675dab5d5ff7e1fec0e13cede1f141811fc92 data/bloodmagic/loot_tables/blocks/dungeon_ore.json 53864c213b973e67006cda4596877bcdd3474396 data/bloodmagic/loot_tables/blocks/dungeon_pillar_cap.json db8be3b67639ab451d0a28e0674240094ceea046 data/bloodmagic/loot_tables/blocks/dungeon_pillar_center.json @@ -445,6 +463,7 @@ b6732b30df9e946739a1913671a60f56090679f8 data/bloodmagic/loot_tables/blocks/dung 26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/lightritualstone.json 72610188b4538d98ffcd015c2813d63d19889d5f data/bloodmagic/loot_tables/blocks/masterritualstone.json ce5bf03f0ee03205ef6a1b6f512cb5da23addc57 data/bloodmagic/loot_tables/blocks/mimic.json +842c4dce4e47561fe29d7b5c03d3953808ada929 data/bloodmagic/loot_tables/blocks/nether_soil.json 3892d33bbef90db50034b1358d4a9ee8b731bc8d data/bloodmagic/loot_tables/blocks/obsidianbrickpath.json 3576b2f9d92ab5bdc456cb904905fb5c969e55f3 data/bloodmagic/loot_tables/blocks/obsidiantilepath.json 95442c1bb740fab2eb8ee051f7184813f6023afa data/bloodmagic/loot_tables/blocks/orbcapacityrune.json @@ -501,14 +520,19 @@ f35bb47d609201f6568b598307ae9d157792fe3e data/bloodmagic/recipes/arc/clay_from_s 6b8ba1822bac8a1af426a14f87d613dc89e3fca0 data/bloodmagic/recipes/arc/clay_from_terracotta.json 5206a65f02d3bea5c23164325eb23ce8e928102f data/bloodmagic/recipes/arc/dustsfrom_gravel_gold.json 5af6c601a7be4c0fc4811befa59324c1a2cdb758 data/bloodmagic/recipes/arc/dustsfrom_gravel_iron.json +6f3f5d2f3054d61a3965b10bcebc8cefe107cf5f data/bloodmagic/recipes/arc/dustsfrom_gravel_netherite_scrap.json b5d3a7ee94494665a9e69519da43a0d4056deb76 data/bloodmagic/recipes/arc/dustsfrom_ingot_gold.json a31e17fb2da1259fb186cfd07c9cd500e6354518 data/bloodmagic/recipes/arc/dustsfrom_ingot_iron.json +b9dc41ad0d9ee6035084a8e9a8eb920223817d33 data/bloodmagic/recipes/arc/dustsfrom_ingot_netherite_scrap.json e0846e670dc94334ba695d2a1182527a5016cd31 data/bloodmagic/recipes/arc/dustsfrom_ore_gold.json 855c963531471cedd2f5f067801b96c0bd6a0c56 data/bloodmagic/recipes/arc/dustsfrom_ore_iron.json +e410be937d52aea0f186aa14fa9b2929a98ffaf3 data/bloodmagic/recipes/arc/dustsfrom_ore_netherite_scrap.json 517a3b7a6bbfc486777f509c2d9af6490ff722c9 data/bloodmagic/recipes/arc/fragmentsgold.json d8b9e64d14e67299aa08888246cdead76ebd91ce data/bloodmagic/recipes/arc/fragmentsiron.json -098e95b47496c2479645be1e6a86dbbc11716214 data/bloodmagic/recipes/arc/gravelsgold.json -1096172e2dca5071c07b9684db3736862fa4d0d9 data/bloodmagic/recipes/arc/gravelsiron.json +ec54b6d447bf5709b15d7bccb9c7d0790661f621 data/bloodmagic/recipes/arc/fragmentsnetherite_scrap.json +0275b4a539ccac64818c19bcb5351408eea9d193 data/bloodmagic/recipes/arc/gravelsgold.json +32b0aeab82c1d98b86b162e98036b2591ccf649c data/bloodmagic/recipes/arc/gravelsiron.json +f83ad96ea74fd51f1fd78ee40ff0fbeb08755b12 data/bloodmagic/recipes/arc/gravelsnetherite_scrap.json 2eb26a1af68ed7a5fdb6ac9d4bbc7557729c56cd data/bloodmagic/recipes/arc/netherrack_to_sulfer.json 0a6a8034c55d093fed458759bbc85e5893712d35 data/bloodmagic/recipes/arc/ore/dustgold.json b2760564e300976d88a3938bc0e9e2d2defa0841 data/bloodmagic/recipes/arc/ore/dustiron.json @@ -539,6 +563,8 @@ b63d77c3762f86d4a91f62e192c3e9b26e3b52ca data/bloodmagic/recipes/blood_rune_sacr 7c4e247c1df6ef594bbb2fc2196afb102f45982b data/bloodmagic/recipes/blood_rune_self_sacrifice.json e2bcf2a6f951fbcef45554ec90ba28d14e261d18 data/bloodmagic/recipes/blood_rune_speed.json eeb5e64b8bc90adc2554dde88b8792b92ad7c8cc data/bloodmagic/recipes/bloodstonebrick.json +68e9201ef0d0051618a73434b35791a208bacde1 data/bloodmagic/recipes/corrupted_dust.json +84aeee900c15d94f1940e72c8f331755d0a97b11 data/bloodmagic/recipes/hellforged_block.json 9a5749465020b32b0147b3367784ce31a0d3b54b data/bloodmagic/recipes/incense_altar.json 63bca28ba5eebb9c488c819bcb117595eadb877d data/bloodmagic/recipes/largebloodstonebrick.json 9dedad36e9d2ab6688e069c2e6df3851c395b583 data/bloodmagic/recipes/lava_crystal.json @@ -557,7 +583,9 @@ bfd7925ad30534463d7daf0f7dce03cf1502cbcf data/bloodmagic/recipes/ritual_diviner_ 8608f828f997b1a8015287bd9cd436e9d7dff2ff data/bloodmagic/recipes/ritual_stone_master.json aefbf1fd258f1cda8d04db7e0794b9612993e6bf data/bloodmagic/recipes/sacrificial_dagger.json 1eab0535b38c4a8a021a72244b9e6a75353970f0 data/bloodmagic/recipes/smelting/ingot_gold.json +b644726cea2da0626f33b60fbc64701f26d48561 data/bloodmagic/recipes/smelting/ingot_hellforged.json 477f968ee84a5b9cd3e9c2a9864be32b5e7d3a32 data/bloodmagic/recipes/smelting/ingot_iron.json +06855bcd8951355604ab1e63b5db717382430967 data/bloodmagic/recipes/smelting/ingot_netherite_scrap.json d699e777c72a5f61c4e6cdfea8705628e1c2b855 data/bloodmagic/recipes/soul_forge.json 2455bf8c205c7244fef2b7d7afeef060e30520b7 data/bloodmagic/recipes/soul_snare.json f4763a58a8f471ec1aaa997cbd36eac8c7d51a12 data/bloodmagic/recipes/soulforge/arcaneashes.json @@ -597,18 +625,26 @@ a62b82e1f59284d230b4b983ffa4a4cecb288c0e data/bloodmagic/tags/items/arc/hydrate. 14fb88c612622be110e273818eee9512cd285d56 data/bloodmagic/tags/items/arc/sieve.json bcd2befe59cbb4931c8c9bed183d19b2a469e506 data/bloodmagic/tags/items/arc/tool.json 2bdc1397bd092d373f785f08a2befdce8c1c1e2e data/bloodmagic/tags/items/crystals/demon.json +dab44ece8bcdf079b349fc4f49da67aafe9c4cf7 data/bloodmagic/tags/items/dusts/corrupted.json dc8d6f8f8d128499f3d2632ef1bc353cc49d1ddb data/bloodmagic/tags/items/fragments/gold.json a60c7b779168689387a03f00002bfd8380d919e5 data/bloodmagic/tags/items/fragments/iron.json +590aab8d5f5a4ed18dd211865e917674dcabfea0 data/bloodmagic/tags/items/fragments/netherite_scrap.json af9b1a9ba1b16a85e3e1cf84b99e4cc9e12f9886 data/bloodmagic/tags/items/gravels/gold.json 19547e1b8859f1e2f1ae858e74b4456fc20be53f data/bloodmagic/tags/items/gravels/iron.json +3597daeddb742612d0b7fe2d0f711251a2781ac2 data/bloodmagic/tags/items/gravels/netherite_scrap.json +04fdfff381183672d6d7b3e55ded42a0a5b89f16 data/bloodmagic/tags/items/tiny_dusts/corrupted.json 4f8f46a7e30fe81d36790d3ffed37efef7c87d06 data/forge/tags/items/dusts/coal.json 82f2679934e550a1188658350e52cfac7c450c4d data/forge/tags/items/dusts/gold.json +205d57b4f622a13fceda5e8062d9bba80d619e92 data/forge/tags/items/dusts/hellforged.json 625a1e6a3b635b2ac5176a49afbae9b476de4f71 data/forge/tags/items/dusts/iron.json +05fbe38ee5bdb3d912a5980254886ad64399e062 data/forge/tags/items/dusts/netherite_scrap.json 9380fe45b06787ba776af4a7d542a047c1441031 data/forge/tags/items/dusts/saltpeter.json 5c709b6444acb94ca784c33618547ba535e15db2 data/forge/tags/items/dusts/sulfur.json +ca758f49ba878f8e498fe156d4916c1e332d552c data/forge/tags/items/ingots/hellforged.json 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/copper.json 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/lead.json 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/osmium.json 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/silver.json 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/tin.json 2ba6f93ee0567360afa3ae9999027b839ed06532 data/minecraft/tags/blocks/walls.json +b7b3ffae086763317f5ed70a4f857e9634932972 data/minecraft/tags/fluids/life.json diff --git a/src/generated/resources/assets/bloodmagic/blockstates/dungeon_metal.json b/src/generated/resources/assets/bloodmagic/blockstates/dungeon_metal.json new file mode 100644 index 00000000..bef6c3bf --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/blockstates/dungeon_metal.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "bloodmagic:block/dungeon_metal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/blockstates/nether_soil.json b/src/generated/resources/assets/bloodmagic/blockstates/nether_soil.json new file mode 100644 index 00000000..de25c31e --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/blockstates/nether_soil.json @@ -0,0 +1,28 @@ +{ + "variants": { + "moisture=0": { + "model": "bloodmagic:block/nether_soil" + }, + "moisture=1": { + "model": "bloodmagic:block/nether_soil" + }, + "moisture=2": { + "model": "bloodmagic:block/nether_soil" + }, + "moisture=3": { + "model": "bloodmagic:block/nether_soil" + }, + "moisture=4": { + "model": "bloodmagic:block/nether_soil" + }, + "moisture=5": { + "model": "bloodmagic:block/nether_soil" + }, + "moisture=6": { + "model": "bloodmagic:block/nether_soil" + }, + "moisture=7": { + "model": "bloodmagic:block/nether_soil" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/lang/en_us.json b/src/generated/resources/assets/bloodmagic/lang/en_us.json index 4599f71d..f6180327 100644 --- a/src/generated/resources/assets/bloodmagic/lang/en_us.json +++ b/src/generated/resources/assets/bloodmagic/lang/en_us.json @@ -96,10 +96,12 @@ "item.bloodmagic.etherealslate": "Ethereal Slate", "item.bloodmagic.explosivepowder": "Explosive Powder", "item.bloodmagic.firescribetool": "Inscription Tool: Fire", + "item.bloodmagic.fragment_netherite_scrap": "Ancient Debris Fragment", "item.bloodmagic.furnacecell_primitive": "Primitive Fuel Cell", "item.bloodmagic.goldfragment": "Gold Ore Fragment", "item.bloodmagic.goldgravel": "Gold Gravel", "item.bloodmagic.goldsand": "Gold Sand", + "item.bloodmagic.gravel_netherite_scrap": "Ancient Debris Gravel", "item.bloodmagic.growthsigil": "Sigil of the Green Grove", "item.bloodmagic.icesigil": "Sigil of the Frozen Lake", "item.bloodmagic.infusedslate": "Imbued Slate", @@ -131,6 +133,7 @@ "item.bloodmagic.ritualtinkerer": "Ritual Tinkerer", "item.bloodmagic.sacrificialdagger": "Sacrificial Knife", "item.bloodmagic.saltpeter": "Saltpeter", + "item.bloodmagic.sand_netherite": "Netherite Scrap Sand", "item.bloodmagic.sanguinereverter": "Sanguine Reverter", "item.bloodmagic.seersigil": "Seer's Sigil", "item.bloodmagic.sigilofmagnetism": "Sigil of Magnetism", diff --git a/src/generated/resources/assets/bloodmagic/models/block/dungeon_metal.json b/src/generated/resources/assets/bloodmagic/models/block/dungeon_metal.json new file mode 100644 index 00000000..bad4f014 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/block/dungeon_metal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bloodmagic:block/dungeon/dungeon_metal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/block/nether_soil.json b/src/generated/resources/assets/bloodmagic/models/block/nether_soil.json new file mode 100644 index 00000000..9014e226 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/block/nether_soil.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/template_farmland", + "textures": { + "top": "bloodmagic:block/nether_soil", + "dirt": "minecraft:block/netherrack" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/corrupted_dust.json b/src/generated/resources/assets/bloodmagic/models/item/corrupted_dust.json new file mode 100644 index 00000000..d61f8a4a --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/corrupted_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "bloodmagic:item/corrupted_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/corrupted_tinydust.json b/src/generated/resources/assets/bloodmagic/models/item/corrupted_tinydust.json new file mode 100644 index 00000000..a2f5ac97 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/corrupted_tinydust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "bloodmagic:item/corrupted_tinydust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/dungeon_metal.json b/src/generated/resources/assets/bloodmagic/models/item/dungeon_metal.json new file mode 100644 index 00000000..b4412870 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/dungeon_metal.json @@ -0,0 +1,3 @@ +{ + "parent": "bloodmagic:block/dungeon_metal" +} \ 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 new file mode 100644 index 00000000..7bcadf03 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/fragment_netherite_scrap.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "bloodmagic:item/fragment_netherite_scrap" + } +} \ No newline at end of file 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 new file mode 100644 index 00000000..76dc663f --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/gravel_netherite_scrap.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "bloodmagic:item/gravel_netherite_scrap" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/ingot_hellforged.json b/src/generated/resources/assets/bloodmagic/models/item/ingot_hellforged.json new file mode 100644 index 00000000..0d33867f --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/ingot_hellforged.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "bloodmagic:item/ingot_hellforged" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/nether_soil.json b/src/generated/resources/assets/bloodmagic/models/item/nether_soil.json new file mode 100644 index 00000000..e26c6db7 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/nether_soil.json @@ -0,0 +1,3 @@ +{ + "parent": "bloodmagic:block/nether_soil" +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/sand_hellforged.json b/src/generated/resources/assets/bloodmagic/models/item/sand_hellforged.json new file mode 100644 index 00000000..a04b232a --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/sand_hellforged.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "bloodmagic:item/sand_hellforged" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bloodmagic/models/item/sand_netherite.json b/src/generated/resources/assets/bloodmagic/models/item/sand_netherite.json new file mode 100644 index 00000000..04dd2ae3 --- /dev/null +++ b/src/generated/resources/assets/bloodmagic/models/item/sand_netherite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "bloodmagic:item/sand_netherite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/corrupted_dust.json b/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/corrupted_dust.json new file mode 100644 index 00000000..885b1b2f --- /dev/null +++ b/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/corrupted_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "bloodmagic:corrupted_dust" + ] + }, + "criteria": { + "has_tiny": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "bloodmagic:corrupted_tinydust" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "bloodmagic:corrupted_dust" + } + } + }, + "requirements": [ + [ + "has_tiny", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/hellforged_block.json b/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/hellforged_block.json new file mode 100644 index 00000000..cf79dc99 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/hellforged_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "bloodmagic:hellforged_block" + ] + }, + "criteria": { + "has_hellforged": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "bloodmagic:ingot_hellforged" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "bloodmagic:hellforged_block" + } + } + }, + "requirements": [ + [ + "has_hellforged", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/smelting/ingot_hellforged.json b/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/smelting/ingot_hellforged.json new file mode 100644 index 00000000..bd8021ec --- /dev/null +++ b/src/generated/resources/data/bloodmagic/advancements/recipes/bloodmagictab/smelting/ingot_hellforged.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "bloodmagic:smelting/ingot_hellforged" + ] + }, + "criteria": { + "has_hellforged_dust": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "bloodmagic:sand_hellforged" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "bloodmagic:smelting/ingot_hellforged" + } + } + }, + "requirements": [ + [ + "has_hellforged_dust", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/advancements/recipes/misc/smelting/ingot_netherite_scrap.json b/src/generated/resources/data/bloodmagic/advancements/recipes/misc/smelting/ingot_netherite_scrap.json new file mode 100644 index 00000000..5265d945 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/advancements/recipes/misc/smelting/ingot_netherite_scrap.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "bloodmagic:smelting/ingot_netherite_scrap" + ] + }, + "criteria": { + "has_netherite_dust": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "bloodmagic:sand_netherite" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "bloodmagic:smelting/ingot_netherite_scrap" + } + } + }, + "requirements": [ + [ + "has_netherite_dust", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/loot_tables/blocks/dungeon_metal.json b/src/generated/resources/data/bloodmagic/loot_tables/blocks/dungeon_metal.json new file mode 100644 index 00000000..6b57213b --- /dev/null +++ b/src/generated/resources/data/bloodmagic/loot_tables/blocks/dungeon_metal.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "bloodmagic:dungeon_metal" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/loot_tables/blocks/nether_soil.json b/src/generated/resources/data/bloodmagic/loot_tables/blocks/nether_soil.json new file mode 100644 index 00000000..5cf5a8ce --- /dev/null +++ b/src/generated/resources/data/bloodmagic/loot_tables/blocks/nether_soil.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:netherrack" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_gravel_netherite_scrap.json b/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_gravel_netherite_scrap.json new file mode 100644 index 00000000..498f1d0f --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_gravel_netherite_scrap.json @@ -0,0 +1,13 @@ +{ + "type": "bloodmagic:arc", + "input": { + "tag": "bloodmagic:gravels/netherite_scrap" + }, + "tool": { + "tag": "bloodmagic:arc/cuttingfluid" + }, + "output": { + "item": "bloodmagic:sand_netherite" + }, + "consumeingredient": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_ingot_netherite_scrap.json b/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_ingot_netherite_scrap.json new file mode 100644 index 00000000..fc4af18a --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_ingot_netherite_scrap.json @@ -0,0 +1,13 @@ +{ + "type": "bloodmagic:arc", + "input": { + "item": "minecraft:netherite_scrap" + }, + "tool": { + "tag": "bloodmagic:arc/explosive" + }, + "output": { + "item": "bloodmagic:sand_netherite" + }, + "consumeingredient": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_ore_netherite_scrap.json b/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_ore_netherite_scrap.json new file mode 100644 index 00000000..cfc195d4 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/arc/dustsfrom_ore_netherite_scrap.json @@ -0,0 +1,14 @@ +{ + "type": "bloodmagic:arc", + "input": { + "tag": "forge:ores/netherite_scrap" + }, + "tool": { + "tag": "bloodmagic:arc/cuttingfluid" + }, + "output": { + "item": "bloodmagic:sand_netherite", + "count": 2 + }, + "consumeingredient": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/arc/fragmentsnetherite_scrap.json b/src/generated/resources/data/bloodmagic/recipes/arc/fragmentsnetherite_scrap.json new file mode 100644 index 00000000..2f2e64a0 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/arc/fragmentsnetherite_scrap.json @@ -0,0 +1,14 @@ +{ + "type": "bloodmagic:arc", + "input": { + "tag": "forge:ores/netherite_scrap" + }, + "tool": { + "tag": "bloodmagic:arc/explosive" + }, + "output": { + "item": "bloodmagic:fragment_netherite_scrap", + "count": 3 + }, + "consumeingredient": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/arc/gravelsgold.json b/src/generated/resources/data/bloodmagic/recipes/arc/gravelsgold.json index 1fc1e247..0920bb12 100644 --- a/src/generated/resources/data/bloodmagic/recipes/arc/gravelsgold.json +++ b/src/generated/resources/data/bloodmagic/recipes/arc/gravelsgold.json @@ -6,6 +6,20 @@ "tool": { "tag": "bloodmagic:arc/resonator" }, + "addedoutput": [ + { + "chance": 0.05, + "type": { + "item": "bloodmagic:corrupted_tinydust" + } + }, + { + "chance": 0.01, + "type": { + "item": "bloodmagic:corrupted_tinydust" + } + } + ], "output": { "item": "bloodmagic:goldgravel" }, diff --git a/src/generated/resources/data/bloodmagic/recipes/arc/gravelsiron.json b/src/generated/resources/data/bloodmagic/recipes/arc/gravelsiron.json index 09129f05..980da2fa 100644 --- a/src/generated/resources/data/bloodmagic/recipes/arc/gravelsiron.json +++ b/src/generated/resources/data/bloodmagic/recipes/arc/gravelsiron.json @@ -6,6 +6,20 @@ "tool": { "tag": "bloodmagic:arc/resonator" }, + "addedoutput": [ + { + "chance": 0.05, + "type": { + "item": "bloodmagic:corrupted_tinydust" + } + }, + { + "chance": 0.01, + "type": { + "item": "bloodmagic:corrupted_tinydust" + } + } + ], "output": { "item": "bloodmagic:irongravel" }, diff --git a/src/generated/resources/data/bloodmagic/recipes/arc/gravelsnetherite_scrap.json b/src/generated/resources/data/bloodmagic/recipes/arc/gravelsnetherite_scrap.json new file mode 100644 index 00000000..86971ad1 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/arc/gravelsnetherite_scrap.json @@ -0,0 +1,27 @@ +{ + "type": "bloodmagic:arc", + "input": { + "tag": "bloodmagic:fragments/netherite_scrap" + }, + "tool": { + "tag": "bloodmagic:arc/resonator" + }, + "addedoutput": [ + { + "chance": 0.05, + "type": { + "item": "bloodmagic:corrupted_tinydust" + } + }, + { + "chance": 0.01, + "type": { + "item": "bloodmagic:corrupted_tinydust" + } + } + ], + "output": { + "item": "bloodmagic:gravel_netherite_scrap" + }, + "consumeingredient": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/corrupted_dust.json b/src/generated/resources/data/bloodmagic/recipes/corrupted_dust.json new file mode 100644 index 00000000..cdcfdbab --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/corrupted_dust.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "sss", + "sss", + "sss" + ], + "key": { + "s": { + "tag": "bloodmagic:tiny_dusts/corrupted" + } + }, + "result": { + "item": "bloodmagic:corrupted_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/hellforged_block.json b/src/generated/resources/data/bloodmagic/recipes/hellforged_block.json new file mode 100644 index 00000000..3c7c8bbb --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/hellforged_block.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "sss", + "sss", + "sss" + ], + "key": { + "s": { + "tag": "forge:ingots/hellforged" + } + }, + "result": { + "item": "bloodmagic:dungeon_metal" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/smelting/ingot_hellforged.json b/src/generated/resources/data/bloodmagic/recipes/smelting/ingot_hellforged.json new file mode 100644 index 00000000..6a06b2a3 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/smelting/ingot_hellforged.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "tag": "forge:dusts/hellforged" + }, + "result": "bloodmagic:ingot_hellforged", + "experience": 0.0, + "cookingtime": 200 +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/recipes/smelting/ingot_netherite_scrap.json b/src/generated/resources/data/bloodmagic/recipes/smelting/ingot_netherite_scrap.json new file mode 100644 index 00000000..2edc11a3 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/recipes/smelting/ingot_netherite_scrap.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "tag": "forge:dusts/netherite_scrap" + }, + "result": "minecraft:netherite_scrap", + "experience": 0.0, + "cookingtime": 200 +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/tags/items/dusts/corrupted.json b/src/generated/resources/data/bloodmagic/tags/items/dusts/corrupted.json new file mode 100644 index 00000000..a84e11a0 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/tags/items/dusts/corrupted.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "bloodmagic:corrupted_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/tags/items/fragments/netherite_scrap.json b/src/generated/resources/data/bloodmagic/tags/items/fragments/netherite_scrap.json new file mode 100644 index 00000000..1f0d5a35 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/tags/items/fragments/netherite_scrap.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "bloodmagic:fragment_netherite_scrap" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/tags/items/gravels/netherite_scrap.json b/src/generated/resources/data/bloodmagic/tags/items/gravels/netherite_scrap.json new file mode 100644 index 00000000..a957a0e3 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/tags/items/gravels/netherite_scrap.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "bloodmagic:gravel_netherite_scrap" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/bloodmagic/tags/items/tiny_dusts/corrupted.json b/src/generated/resources/data/bloodmagic/tags/items/tiny_dusts/corrupted.json new file mode 100644 index 00000000..e792ed30 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/tags/items/tiny_dusts/corrupted.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "bloodmagic:corrupted_tinydust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/dusts/hellforged.json b/src/generated/resources/data/forge/tags/items/dusts/hellforged.json new file mode 100644 index 00000000..129c8f3d --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/dusts/hellforged.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "bloodmagic:sand_hellforged" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/dusts/netherite_scrap.json b/src/generated/resources/data/forge/tags/items/dusts/netherite_scrap.json new file mode 100644 index 00000000..3d4d11de --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/dusts/netherite_scrap.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "bloodmagic:sand_netherite" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/ingots/hellforged.json b/src/generated/resources/data/forge/tags/items/ingots/hellforged.json new file mode 100644 index 00000000..d71afc0c --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/ingots/hellforged.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "bloodmagic:ingot_hellforged" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/fluids/life.json b/src/generated/resources/data/minecraft/tags/fluids/life.json new file mode 100644 index 00000000..59895a90 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/fluids/life.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "bloodmagic:life_essence_fluid", + "bloodmagic:life_essence_fluid_flowing" + ] +} \ 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 9e40cd7d..fc5e0dad 100644 --- a/src/main/java/wayoftime/bloodmagic/BloodMagic.java +++ b/src/main/java/wayoftime/bloodmagic/BloodMagic.java @@ -35,8 +35,6 @@ import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent; import net.minecraftforge.fml.event.server.FMLServerStartingEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import wayoftime.bloodmagic.impl.BloodMagicAPI; -import wayoftime.bloodmagic.impl.BloodMagicCorePlugin; import wayoftime.bloodmagic.client.ClientEvents; import wayoftime.bloodmagic.client.hud.Elements; import wayoftime.bloodmagic.client.model.MimicColor; @@ -45,6 +43,7 @@ import wayoftime.bloodmagic.common.block.BloodMagicBlocks; import wayoftime.bloodmagic.common.data.GeneratorBaseRecipes; import wayoftime.bloodmagic.common.data.GeneratorBlockStates; import wayoftime.bloodmagic.common.data.GeneratorBlockTags; +import wayoftime.bloodmagic.common.data.GeneratorFluidTags; import wayoftime.bloodmagic.common.data.GeneratorItemModels; import wayoftime.bloodmagic.common.data.GeneratorItemTags; import wayoftime.bloodmagic.common.data.GeneratorLanguage; @@ -55,6 +54,8 @@ import wayoftime.bloodmagic.common.registries.BloodMagicEntityTypes; import wayoftime.bloodmagic.common.registries.BloodMagicRecipeSerializers; import wayoftime.bloodmagic.core.recipe.IngredientBloodOrb; import wayoftime.bloodmagic.core.registry.OrbRegistry; +import wayoftime.bloodmagic.impl.BloodMagicAPI; +import wayoftime.bloodmagic.impl.BloodMagicCorePlugin; import wayoftime.bloodmagic.network.BloodMagicPacketHandler; import wayoftime.bloodmagic.potion.BloodMagicPotions; import wayoftime.bloodmagic.registry.ModTranquilityHandlers; @@ -205,6 +206,7 @@ public class BloodMagic GeneratorBlockTags bmBlockTags = new GeneratorBlockTags(gen, event.getExistingFileHelper()); gen.addProvider(bmBlockTags); gen.addProvider(new GeneratorItemTags(gen, bmBlockTags, event.getExistingFileHelper())); + gen.addProvider(new GeneratorFluidTags(gen, event.getExistingFileHelper())); } } diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockNetherrackSoil.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockNetherrackSoil.java new file mode 100644 index 00000000..57efc20b --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockNetherrackSoil.java @@ -0,0 +1,156 @@ +package wayoftime.bloodmagic.common.block; + +import java.util.Random; + +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.FenceGateBlock; +import net.minecraft.block.MovingPistonBlock; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.pathfinding.PathType; +import net.minecraft.state.IntegerProperty; +import net.minecraft.state.StateContainer; +import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.shapes.ISelectionContext; +import net.minecraft.util.math.shapes.VoxelShape; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.IWorld; +import net.minecraft.world.IWorldReader; +import net.minecraft.world.World; +import net.minecraft.world.server.ServerWorld; +import wayoftime.bloodmagic.common.tags.BloodMagicTags; + +public class BlockNetherrackSoil extends Block +{ + public static final IntegerProperty MOISTURE = BlockStateProperties.MOISTURE_0_7; + protected static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 15.0D, 16.0D); + + public BlockNetherrackSoil(AbstractBlock.Properties builder) + { + super(builder); + this.setDefaultState(this.stateContainer.getBaseState().with(MOISTURE, Integer.valueOf(0))); + } + + /** + * Update the provided state given the provided neighbor facing and neighbor + * state, returning a new state. For example, fences make their connections to + * the passed in state if possible, and wet concrete powder immediately returns + * its solidified counterpart. Note that this method should ideally consider + * only the specific face passed in. + */ + public BlockState updatePostPlacement(BlockState stateIn, Direction facing, BlockState facingState, IWorld worldIn, BlockPos currentPos, BlockPos facingPos) + { + if (facing == Direction.UP && !stateIn.isValidPosition(worldIn, currentPos)) + { + worldIn.getPendingBlockTicks().scheduleTick(currentPos, this, 1); + } + + return super.updatePostPlacement(stateIn, facing, facingState, worldIn, currentPos, facingPos); + } + + public boolean isValidPosition(BlockState state, IWorldReader worldIn, BlockPos pos) + { + BlockState blockstate = worldIn.getBlockState(pos.up()); + return !blockstate.getMaterial().isSolid() || blockstate.getBlock() instanceof FenceGateBlock || blockstate.getBlock() instanceof MovingPistonBlock; + } + + public BlockState getStateForPlacement(BlockItemUseContext context) + { + return !this.getDefaultState().isValidPosition(context.getWorld(), context.getPos()) + ? Blocks.NETHERRACK.getDefaultState() + : super.getStateForPlacement(context); + } + + public boolean isTransparent(BlockState state) + { + return true; + } + + public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) + { + return SHAPE; + } + + public void tick(BlockState state, ServerWorld worldIn, BlockPos pos, Random rand) + { + if (!state.isValidPosition(worldIn, pos)) + { + turnToDirt(state, worldIn, pos); + } + + } + + /** + * Performs a random tick on a block. + */ + public void randomTick(BlockState state, ServerWorld worldIn, BlockPos pos, Random random) + { + int i = state.get(MOISTURE); + if (!hasLifeEssence(worldIn, pos) && !worldIn.isRainingAt(pos.up())) + { + if (i > 0) + { + worldIn.setBlockState(pos, state.with(MOISTURE, Integer.valueOf(i - 1)), 2); + } else if (!hasCrops(worldIn, pos)) + { + turnToDirt(state, worldIn, pos); + } + } else if (i < 7) + { + worldIn.setBlockState(pos, state.with(MOISTURE, Integer.valueOf(7)), 2); + } + + } + +// /** +// * Block's chance to react to a living entity falling on it. +// */ +// public void onFallenUpon(World worldIn, BlockPos pos, Entity entityIn, float fallDistance) +// { +// if (!worldIn.isRemote && net.minecraftforge.common.ForgeHooks.onFarmlandTrample(worldIn, pos, Blocks.NETHERRACK.getDefaultState(), fallDistance, entityIn)) +// { // Forge: Move logic to Entity#canTrample +// turnToDirt(worldIn.getBlockState(pos), worldIn, pos); +// } +// +// super.onFallenUpon(worldIn, pos, entityIn, fallDistance); +// } + + public static void turnToDirt(BlockState state, World worldIn, BlockPos pos) + { + worldIn.setBlockState(pos, nudgeEntitiesWithNewState(state, Blocks.NETHERRACK.getDefaultState(), worldIn, pos)); + } + + private boolean hasCrops(IBlockReader worldIn, BlockPos pos) + { + BlockState plant = worldIn.getBlockState(pos.up()); + BlockState state = worldIn.getBlockState(pos); + return plant.getBlock() instanceof net.minecraftforge.common.IPlantable && state.canSustainPlant(worldIn, pos, Direction.UP, (net.minecraftforge.common.IPlantable) plant.getBlock()); + } + + private static boolean hasLifeEssence(IWorldReader worldIn, BlockPos pos) + { + for (BlockPos blockpos : BlockPos.getAllInBoxMutable(pos.add(-4, 0, -4), pos.add(4, 1, 4))) + { + if (worldIn.getFluidState(blockpos).isTagged(BloodMagicTags.LIFE_ESSENCE)) + { + return true; + } + } + + return false; + } + + protected void fillStateContainer(StateContainer.Builder builder) + { + builder.add(MOISTURE); + } + + public boolean allowsMovement(BlockState state, IBlockReader worldIn, BlockPos pos, PathType type) + { + return false; + } +} diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java b/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java index 86691b03..0c4591a6 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java @@ -4,6 +4,7 @@ import net.minecraft.block.AbstractBlock; import net.minecraft.block.AbstractBlock.Properties; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.block.FarmlandBlock; import net.minecraft.block.FenceGateBlock; import net.minecraft.block.FlowingFluidBlock; import net.minecraft.block.RotatedPillarBlock; @@ -148,6 +149,10 @@ public class BloodMagicBlocks public static final RegistryObject DUNGEON_BRICK_GATE = BLOCKS.register("dungeon_brick_gate", () -> new FenceGateBlock(Properties.create(Material.ROCK).hardnessAndResistance(2.0F, 5.0F).sound(SoundType.STONE).harvestTool(ToolType.PICKAXE).harvestLevel(2).setRequiresTool())); public static final RegistryObject DUNGEON_POLISHED_GATE = BLOCKS.register("dungeon_polished_gate", () -> new FenceGateBlock(Properties.create(Material.ROCK).hardnessAndResistance(2.0F, 5.0F).sound(SoundType.STONE).harvestTool(ToolType.PICKAXE).harvestLevel(2).setRequiresTool())); + public static final RegistryObject HELLFORGED_BLOCK = DUNGEONBLOCKS.register("dungeon_metal", () -> new Block(Properties.create(Material.IRON).hardnessAndResistance(5.0F, 6.0F).sound(SoundType.METAL).harvestTool(ToolType.PICKAXE).harvestLevel(2).setRequiresTool())); + + public static final RegistryObject NETHER_SOIL = BLOCKS.register("nether_soil", () -> new FarmlandBlock(Properties.create(Material.EARTH).hardnessAndResistance(0.4F, 0.4F).sound(SoundType.NETHERRACK).harvestTool(ToolType.PICKAXE))); + private static boolean isntSolid(BlockState state, IBlockReader reader, BlockPos pos) { return false; diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBaseRecipes.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBaseRecipes.java index 309c2572..e86c55ad 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBaseRecipes.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBaseRecipes.java @@ -37,7 +37,8 @@ public class GeneratorBaseRecipes extends BaseRecipeProvider private void addVanillaRecipes(Consumer consumer) { // ConditionalRecipe.builder().addRecipe(ShapedRecipeBuilder.shapedRecipe(BloodMagicItems.SACRIFICIAL_DAGGER.get()).key('g', Tags.Items.GLASS).key('G', Tags.Items.INGOTS_GOLD).key('i', Tags.Items.INGOTS_IRON).patternLine("ggg").patternLine(" Gg").patternLine("i g").addCriterion("has_glass", hasItem(Items.GLASS))::build); - + ShapedRecipeBuilder.shapedRecipe(BloodMagicItems.CORRUPTED_DUST.get()).key('s', BloodMagicTags.TINYDUST_CORRUPTED).patternLine("sss").patternLine("sss").patternLine("sss").addCriterion("has_tiny", hasItem(BloodMagicItems.CORRUPTED_DUST_TINY.get())).build(consumer, BloodMagic.rl("corrupted_dust")); + ShapedRecipeBuilder.shapedRecipe(BloodMagicItems.HELLFORGED_BLOCK.get()).key('s', BloodMagicTags.INGOT_HELLFORGED).patternLine("sss").patternLine("sss").patternLine("sss").addCriterion("has_hellforged", hasItem(BloodMagicItems.HELLFORGED_INGOT.get())).build(consumer, BloodMagic.rl("hellforged_block")); ShapedRecipeBuilder.shapedRecipe(BloodMagicItems.SACRIFICIAL_DAGGER.get()).key('g', Tags.Items.GLASS).key('G', Tags.Items.INGOTS_GOLD).key('i', Tags.Items.INGOTS_IRON).patternLine("ggg").patternLine(" Gg").patternLine("i g").addCriterion("has_glass", hasItem(Items.GLASS)).build(consumer, BloodMagic.rl("sacrificial_dagger")); ShapedRecipeBuilder.shapedRecipe(BloodMagicBlocks.BLOOD_ALTAR.get()).key('a', Tags.Items.STONE).key('b', Items.FURNACE).key('c', Tags.Items.INGOTS_GOLD).key('d', BloodMagicItems.MONSTER_SOUL_RAW.get()).patternLine("a a").patternLine("aba").patternLine("cdc").addCriterion("has_will", hasItem(BloodMagicItems.MONSTER_SOUL_RAW.get())).build(consumer, BloodMagic.rl("blood_altar")); ShapedRecipeBuilder.shapedRecipe(BloodMagicBlocks.SOUL_FORGE.get()).key('s', Tags.Items.STONE).key('g', Tags.Items.INGOTS_GOLD).key('i', Tags.Items.INGOTS_IRON).key('o', Tags.Items.STORAGE_BLOCKS_IRON).patternLine("i i").patternLine("sgs").patternLine("sos").addCriterion("has_gold", hasItem(Items.GOLD_INGOT)).build(consumer, BloodMagic.rl("soul_forge")); @@ -57,6 +58,8 @@ public class GeneratorBaseRecipes extends BaseRecipeProvider String basePath = "smelting/"; CookingRecipeBuilder.smeltingRecipe(Ingredient.fromTag(BloodMagicTags.DUST_IRON), Items.IRON_INGOT, 0, 200).addCriterion("has_iron_sand", hasItem(BloodMagicItems.IRON_SAND.get())).build(consumer, BloodMagic.rl(basePath + "ingot_iron")); CookingRecipeBuilder.smeltingRecipe(Ingredient.fromTag(BloodMagicTags.DUST_GOLD), Items.GOLD_INGOT, 0, 200).addCriterion("has_gold_sand", hasItem(BloodMagicItems.GOLD_SAND.get())).build(consumer, BloodMagic.rl(basePath + "ingot_gold")); + CookingRecipeBuilder.smeltingRecipe(Ingredient.fromTag(BloodMagicTags.DUST_NETHERITE_SCRAP), Items.NETHERITE_SCRAP, 0, 200).addCriterion("has_netherite_dust", hasItem(BloodMagicItems.NETHERITE_SCRAP_SAND.get())).build(consumer, BloodMagic.rl(basePath + "ingot_netherite_scrap")); + CookingRecipeBuilder.smeltingRecipe(Ingredient.fromTag(BloodMagicTags.DUST_HELLFORGED), BloodMagicItems.HELLFORGED_INGOT.get(), 0, 200).addCriterion("has_hellforged_dust", hasItem(BloodMagicItems.HELLFORGED_SAND.get())).build(consumer, BloodMagic.rl(basePath + "ingot_hellforged")); } private void addBloodOrbRecipes(Consumer consumer) @@ -90,6 +93,8 @@ public class GeneratorBaseRecipes extends BaseRecipeProvider ShapelessRecipeBuilder.shapelessRecipe(BloodMagicBlocks.WORN_STONE_PATH.get(), 4).addIngredient(BloodMagicBlocks.STONE_PATH.get()).addIngredient(BloodMagicBlocks.STONE_PATH.get()).addIngredient(BloodMagicBlocks.STONE_PATH.get()).addIngredient(BloodMagicBlocks.STONE_PATH.get()).addIngredient(IngredientBloodOrb.fromOrb(BloodMagicItems.ORB_MASTER.get())).addCriterion("has_master_orb", hasItem(BloodMagicItems.MASTER_BLOOD_ORB.get())).build(consumer, BloodMagic.rl("path/path_wornstone")); ShapedRecipeBuilder.shapedRecipe(BloodMagicItems.RITUAL_READER.get()).key('s', BloodMagicItems.DEMONIC_SLATE.get()).key('g', Tags.Items.GLASS).key('i', Tags.Items.INGOTS_GOLD).key('o', IngredientBloodOrb.fromOrb(BloodMagicItems.ORB_MASTER.get())).patternLine("gog").patternLine("isi").patternLine(" s ").addCriterion("has_master_orb", hasItem(BloodMagicItems.MASTER_BLOOD_ORB.get())).build(consumer, BloodMagic.rl("ritual_reader")); + +// ShapedRecipeBuilder.shapedRecipe(BloodMagicBlocks.MIMIC.get()).key('b', itemIn) // ShapedRecipeBuilder.shapedRecipe(BloodMagicBlocks.SPEED_RUNE.get()).key('s', Items.GLASS).key('o', Ingredient.fromItems(Items.DIAMOND)).patternLine("sss").patternLine("sos").patternLine("sss").addCriterion("has_diamond", hasItem(Items.DIAMOND)).build(consumer, new ResourceLocation(BloodMagic.MODID, "speed_rune_from_standard")); // ShapedRecipeBuilder.shapedRecipe(BloodMagicBlocks.SPEED_RUNE.get()).key('s', Items.GLASS).key('o', IngredientBloodOrb.fromOrb(BloodMagicItems.ORB_WEAK.get())).patternLine("sss").patternLine("sos").patternLine("sss").addCriterion("has_diamond", hasItem(Items.DIAMOND)).build(consumer, new ResourceLocation(BloodMagic.MODID, "speed_rune_from_orb")); } diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBlockStates.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBlockStates.java index 2392c41e..a3b05ad7 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBlockStates.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorBlockStates.java @@ -57,6 +57,7 @@ public class GeneratorBlockStates extends BlockStateProvider buildCubeAll(BloodMagicBlocks.EARTH_RITUAL_STONE.get()); buildCubeAll(BloodMagicBlocks.DUSK_RITUAL_STONE.get()); buildCubeAll(BloodMagicBlocks.DAWN_RITUAL_STONE.get()); + buildFarmland(BloodMagicBlocks.NETHER_SOIL.get(), BloodMagic.rl("block/nether_soil"), new ResourceLocation("block/netherrack")); buildFurnace(BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get()); @@ -92,6 +93,18 @@ public class GeneratorBlockStates extends BlockStateProvider // ModelFile modelFile = models().crop("", null); // } + private void buildFarmland(Block block, ResourceLocation top, ResourceLocation side) + { + String basePath = block.getRegistryName().getPath(); + getVariantBuilder(block).forAllStates(state -> { + Builder builder = ConfiguredModel.builder(); + + ModelFile file = models().withExistingParent(basePath, "template_farmland").texture("top", top).texture("dirt", side); + + return builder.modelFile(file).build(); + }); + } + private void buildCubeAllWithTextureName(String texture) { models().cubeAll(texture, BloodMagic.rl("block/" + texture)).assertExistence(); diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorFluidTags.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorFluidTags.java new file mode 100644 index 00000000..df5c4ac1 --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorFluidTags.java @@ -0,0 +1,22 @@ +package wayoftime.bloodmagic.common.data; + +import net.minecraft.data.DataGenerator; +import net.minecraft.data.FluidTagsProvider; +import net.minecraftforge.common.data.ExistingFileHelper; +import wayoftime.bloodmagic.BloodMagic; +import wayoftime.bloodmagic.common.block.BloodMagicBlocks; +import wayoftime.bloodmagic.common.tags.BloodMagicTags; + +public class GeneratorFluidTags extends FluidTagsProvider +{ + public GeneratorFluidTags(DataGenerator generatorIn, ExistingFileHelper existingFileHelper) + { + super(generatorIn, BloodMagic.MODID, existingFileHelper); + } + + @Override + public void registerTags() + { + this.getOrCreateBuilder(BloodMagicTags.LIFE_ESSENCE).add(BloodMagicBlocks.LIFE_ESSENCE_FLUID.get(), BloodMagicBlocks.LIFE_ESSENCE_FLUID_FLOWING.get()); + } +} diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java index da9cd856..44a4699d 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemModels.java @@ -49,6 +49,7 @@ public class GeneratorItemModels extends ItemModelProvider registerBlockModel(BloodMagicBlocks.DUSK_RITUAL_STONE.get()); registerBlockModel(BloodMagicBlocks.DAWN_RITUAL_STONE.get()); registerBlockModel(BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get()); + registerBlockModel(BloodMagicBlocks.NETHER_SOIL.get()); registerCustomBlockPath(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), "crystal/defaultcrystal1"); registerCustomBlockPath(BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), "crystal/corrosivecrystal1"); diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemTags.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemTags.java index 8a6377ad..6be7acfe 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemTags.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorItemTags.java @@ -23,6 +23,7 @@ public class GeneratorItemTags extends ItemTagsProvider @Override public void registerTags() { + registerIngots(); registerOres(); registerDusts(); registerFragments(); @@ -58,6 +59,11 @@ public class GeneratorItemTags extends ItemTagsProvider } + private void registerIngots() + { + getOrCreateBuilder(BloodMagicTags.INGOT_HELLFORGED).add(BloodMagicItems.HELLFORGED_INGOT.get()); + } + private void registerOres() { getOrCreateBuilder(BloodMagicTags.ORE_COPPER); @@ -72,18 +78,24 @@ public class GeneratorItemTags extends ItemTagsProvider getOrCreateBuilder(BloodMagicTags.DUST_IRON).add(BloodMagicItems.IRON_SAND.get()); getOrCreateBuilder(BloodMagicTags.DUST_GOLD).add(BloodMagicItems.GOLD_SAND.get()); getOrCreateBuilder(BloodMagicTags.DUST_COAL).add(BloodMagicItems.COAL_SAND.get()); + getOrCreateBuilder(BloodMagicTags.DUST_NETHERITE_SCRAP).add(BloodMagicItems.NETHERITE_SCRAP_SAND.get()); + getOrCreateBuilder(BloodMagicTags.DUST_HELLFORGED).add(BloodMagicItems.HELLFORGED_SAND.get()); + getOrCreateBuilder(BloodMagicTags.DUST_CORRUPTED).add(BloodMagicItems.CORRUPTED_DUST.get()); + getOrCreateBuilder(BloodMagicTags.TINYDUST_CORRUPTED).add(BloodMagicItems.CORRUPTED_DUST_TINY.get()); } private void registerFragments() { getOrCreateBuilder(BloodMagicTags.FRAGMENT_IRON).add(BloodMagicItems.IRON_FRAGMENT.get()); getOrCreateBuilder(BloodMagicTags.FRAGMENT_GOLD).add(BloodMagicItems.GOLD_FRAGMENT.get()); + getOrCreateBuilder(BloodMagicTags.FRAGMENT_NETHERITE_SCRAP).add(BloodMagicItems.NETHERITE_SCRAP_FRAGMENT.get()); } private void registerGravels() { getOrCreateBuilder(BloodMagicTags.GRAVEL_IRON).add(BloodMagicItems.IRON_GRAVEL.get()); getOrCreateBuilder(BloodMagicTags.GRAVEL_GOLD).add(BloodMagicItems.GOLD_GRAVEL.get()); + getOrCreateBuilder(BloodMagicTags.GRAVEL_NETHERITE_SCRAP).add(BloodMagicItems.NETHERITE_SCRAP_GRAVEL.get()); } private void registerFurnaceCells() diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java index 63a59469..ca902874 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLanguage.java @@ -461,16 +461,19 @@ public class GeneratorLanguage extends LanguageProvider addItem(BloodMagicItems.COAL_SAND, "Coal Sand"); addItem(BloodMagicItems.IRON_SAND, "Iron Sand"); addItem(BloodMagicItems.GOLD_SAND, "Gold Sand"); + addItem(BloodMagicItems.NETHERITE_SCRAP_SAND, "Netherite Scrap Sand"); addItem(BloodMagicItems.SULFUR, "Sulfur"); addItem(BloodMagicItems.SALTPETER, "Saltpeter"); // Fragments addItem(BloodMagicItems.IRON_FRAGMENT, "Iron Ore Fragment"); addItem(BloodMagicItems.GOLD_FRAGMENT, "Gold Ore Fragment"); + addItem(BloodMagicItems.NETHERITE_SCRAP_FRAGMENT, "Ancient Debris Fragment"); // Gravels addItem(BloodMagicItems.IRON_GRAVEL, "Iron Gravel"); addItem(BloodMagicItems.GOLD_GRAVEL, "Gold Gravel"); + addItem(BloodMagicItems.NETHERITE_SCRAP_GRAVEL, "Ancient Debris Gravel"); // addItem(BloodMagicItems , ""); diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java index 4fbf350a..1da798f6 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java @@ -12,6 +12,7 @@ import com.mojang.datafixers.util.Pair; import net.minecraft.advancements.criterion.StatePropertiesPredicate; import net.minecraft.block.Block; +import net.minecraft.block.Blocks; import net.minecraft.data.DataGenerator; import net.minecraft.data.LootTableProvider; import net.minecraft.data.loot.BlockLootTables; @@ -105,6 +106,7 @@ public class GeneratorLootTable extends LootTableProvider registerDropSelfLootTable(BloodMagicBlocks.DEMON_CRYSTALLIZER.get()); registerDropSelfLootTable(BloodMagicBlocks.INCENSE_ALTAR.get()); // registerNoDropLootTable(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get()); + registerDropping(BloodMagicBlocks.NETHER_SOIL.get(), Blocks.NETHERRACK); registerDropCrystalsLootTable(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), BloodMagicItems.RAW_CRYSTAL.get()); registerDropCrystalsLootTable(BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), BloodMagicItems.CORROSIVE_CRYSTAL.get()); diff --git a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java index ddec9755..164dcce1 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java @@ -94,6 +94,7 @@ public class BloodMagicItems public static final RegistryObject MIMIC_ITEM = ITEMS.register("mimic", () -> new ItemBlockMimic(BloodMagicBlocks.MIMIC.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject MIMIC_ETHEREAL_ITEM = ITEMS.register("ethereal_mimic", () -> new ItemBlockMimic(BloodMagicBlocks.ETHEREAL_MIMIC.get(), new Item.Properties().group(BloodMagic.TAB))); + public static final RegistryObject NETHE_SOIL_ITEM = ITEMS.register("nether_soil", () -> new BlockItem(BloodMagicBlocks.NETHER_SOIL.get(), new Item.Properties().group(BloodMagic.TAB))); // TODO: Need to rework the above instantiations for the ItemBlocks so that it's // done with the Blocks. @@ -205,17 +206,25 @@ public class BloodMagicItems // Fragments public static final RegistryObject IRON_FRAGMENT = BASICITEMS.register("ironfragment", () -> new ItemBase()); public static final RegistryObject GOLD_FRAGMENT = BASICITEMS.register("goldfragment", () -> new ItemBase()); + public static final RegistryObject NETHERITE_SCRAP_FRAGMENT = BASICITEMS.register("fragment_netherite_scrap", () -> new ItemBase()); // Gravels public static final RegistryObject IRON_GRAVEL = BASICITEMS.register("irongravel", () -> new ItemBase()); public static final RegistryObject GOLD_GRAVEL = BASICITEMS.register("goldgravel", () -> new ItemBase()); + public static final RegistryObject NETHERITE_SCRAP_GRAVEL = BASICITEMS.register("gravel_netherite_scrap", () -> new ItemBase()); // Sands public static final RegistryObject IRON_SAND = BASICITEMS.register("ironsand", () -> new ItemBase()); public static final RegistryObject GOLD_SAND = BASICITEMS.register("goldsand", () -> new ItemBase()); public static final RegistryObject COAL_SAND = BASICITEMS.register("coalsand", () -> new ItemBase()); + public static final RegistryObject NETHERITE_SCRAP_SAND = BASICITEMS.register("sand_netherite", () -> new ItemBase()); + public static final RegistryObject CORRUPTED_DUST = BASICITEMS.register("corrupted_dust", () -> new ItemBase()); + public static final RegistryObject CORRUPTED_DUST_TINY = BASICITEMS.register("corrupted_tinydust", () -> new ItemBase()); + public static final RegistryObject HELLFORGED_SAND = BASICITEMS.register("sand_hellforged", () -> new ItemBase()); // Dungeons + public static final RegistryObject HELLFORGED_INGOT = BASICITEMS.register("ingot_hellforged", () -> new ItemBase()); + public static final RegistryObject DUNGEON_BRICK_1_BLOCK = ITEMS.register("dungeon_brick1", () -> new BlockItem(BloodMagicBlocks.DUNGEON_BRICK_1.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject DUNGEON_BRICK_2_BLOCK = ITEMS.register("dungeon_brick2", () -> new BlockItem(BloodMagicBlocks.DUNGEON_BRICK_2.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject DUNGEON_BRICK_3_BLOCK = ITEMS.register("dungeon_brick3", () -> new BlockItem(BloodMagicBlocks.DUNGEON_BRICK_3.get(), new Item.Properties().group(BloodMagic.TAB))); @@ -239,6 +248,7 @@ public class BloodMagicItems public static final RegistryObject DUNGEON_ORE_BLOCK = ITEMS.register("dungeon_ore", () -> new BlockItem(BloodMagicBlocks.DUNGEON_ORE.get(), new Item.Properties().group(BloodMagic.TAB))); + public static final RegistryObject HELLFORGED_BLOCK = ITEMS.register("dungeon_metal", () -> new BlockItem(BloodMagicBlocks.HELLFORGED_BLOCK.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject DUNGEON_TESTER = BASICITEMS.register("dungeon_tester", ItemDungeonTester::new); } diff --git a/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java b/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java index 1b12f481..9cbe1048 100644 --- a/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java +++ b/src/main/java/wayoftime/bloodmagic/common/recipe/ARCRecipeProvider.java @@ -59,14 +59,17 @@ public class ARCRecipeProvider implements ISubRecipeProvider // Ore to dust ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.ORES_IRON), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_CUTTINGFLUID), null, new ItemStack(BloodMagicItems.IRON_SAND.get(), 2), null).build(consumer, BloodMagic.rl(basePath + "from_ore_iron")); ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.ORES_GOLD), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_CUTTINGFLUID), null, new ItemStack(BloodMagicItems.GOLD_SAND.get(), 2), null).build(consumer, BloodMagic.rl(basePath + "from_ore_gold")); + ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.ORES_NETHERITE_SCRAP), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_CUTTINGFLUID), null, new ItemStack(BloodMagicItems.NETHERITE_SCRAP_SAND.get(), 2), null).build(consumer, BloodMagic.rl(basePath + "from_ore_netherite_scrap")); // Ingot to dust ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.INGOTS_IRON), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_EXPLOSIVE), null, new ItemStack(BloodMagicItems.IRON_SAND.get()), null).build(consumer, BloodMagic.rl(basePath + "from_ingot_iron")); ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.INGOTS_GOLD), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_EXPLOSIVE), null, new ItemStack(BloodMagicItems.GOLD_SAND.get()), null).build(consumer, BloodMagic.rl(basePath + "from_ingot_gold")); + ARCRecipeBuilder.arc(Ingredient.fromItems(Items.NETHERITE_SCRAP), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_EXPLOSIVE), null, new ItemStack(BloodMagicItems.NETHERITE_SCRAP_SAND.get()), null).build(consumer, BloodMagic.rl(basePath + "from_ingot_netherite_scrap")); // Gravel to dust ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.GRAVEL_IRON), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_CUTTINGFLUID), null, new ItemStack(BloodMagicItems.IRON_SAND.get()), null).build(consumer, BloodMagic.rl(basePath + "from_gravel_iron")); ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.GRAVEL_GOLD), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_CUTTINGFLUID), null, new ItemStack(BloodMagicItems.GOLD_SAND.get()), null).build(consumer, BloodMagic.rl(basePath + "from_gravel_gold")); + ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.GRAVEL_NETHERITE_SCRAP), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_CUTTINGFLUID), null, new ItemStack(BloodMagicItems.NETHERITE_SCRAP_SAND.get()), null).build(consumer, BloodMagic.rl(basePath + "from_gravel_netherite_scrap")); } private void addFragmentRecipes(Consumer consumer) @@ -74,13 +77,15 @@ public class ARCRecipeProvider implements ISubRecipeProvider String basePath = "arc/fragments"; ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.ORES_IRON), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_EXPLOSIVE), null, new ItemStack(BloodMagicItems.IRON_FRAGMENT.get(), 3), null).build(consumer, BloodMagic.rl(basePath + "iron")); ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.ORES_GOLD), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_EXPLOSIVE), null, new ItemStack(BloodMagicItems.GOLD_FRAGMENT.get(), 3), null).build(consumer, BloodMagic.rl(basePath + "gold")); + ARCRecipeBuilder.arc(Ingredient.fromTag(Tags.Items.ORES_NETHERITE_SCRAP), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_EXPLOSIVE), null, new ItemStack(BloodMagicItems.NETHERITE_SCRAP_FRAGMENT.get(), 3), null).build(consumer, BloodMagic.rl(basePath + "netherite_scrap")); } private void addGravelRecipes(Consumer consumer) { String basePath = "arc/gravels"; - ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.FRAGMENT_IRON), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_RESONATOR), null, new ItemStack(BloodMagicItems.IRON_GRAVEL.get()), null).build(consumer, BloodMagic.rl(basePath + "iron")); - ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.FRAGMENT_GOLD), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_RESONATOR), null, new ItemStack(BloodMagicItems.GOLD_GRAVEL.get()), null).build(consumer, BloodMagic.rl(basePath + "gold")); + ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.FRAGMENT_IRON), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_RESONATOR), null, new ItemStack(BloodMagicItems.IRON_GRAVEL.get()), null).addRandomOutput(new ItemStack(BloodMagicItems.CORRUPTED_DUST_TINY.get()), 0.05).addRandomOutput(new ItemStack(BloodMagicItems.CORRUPTED_DUST_TINY.get()), 0.01).build(consumer, BloodMagic.rl(basePath + "iron")); + ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.FRAGMENT_GOLD), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_RESONATOR), null, new ItemStack(BloodMagicItems.GOLD_GRAVEL.get()), null).addRandomOutput(new ItemStack(BloodMagicItems.CORRUPTED_DUST_TINY.get()), 0.05).addRandomOutput(new ItemStack(BloodMagicItems.CORRUPTED_DUST_TINY.get()), 0.01).build(consumer, BloodMagic.rl(basePath + "gold")); + ARCRecipeBuilder.arc(Ingredient.fromTag(BloodMagicTags.FRAGMENT_NETHERITE_SCRAP), Ingredient.fromTag(BloodMagicTags.ARC_TOOL_RESONATOR), null, new ItemStack(BloodMagicItems.NETHERITE_SCRAP_GRAVEL.get()), null).addRandomOutput(new ItemStack(BloodMagicItems.CORRUPTED_DUST_TINY.get()), 0.05).addRandomOutput(new ItemStack(BloodMagicItems.CORRUPTED_DUST_TINY.get()), 0.01).build(consumer, BloodMagic.rl(basePath + "netherite_scrap")); } private void addReversionRecipes(Consumer consumer) diff --git a/src/main/java/wayoftime/bloodmagic/common/tags/BloodMagicTags.java b/src/main/java/wayoftime/bloodmagic/common/tags/BloodMagicTags.java index 7fc61032..31fd8500 100644 --- a/src/main/java/wayoftime/bloodmagic/common/tags/BloodMagicTags.java +++ b/src/main/java/wayoftime/bloodmagic/common/tags/BloodMagicTags.java @@ -1,6 +1,8 @@ package wayoftime.bloodmagic.common.tags; +import net.minecraft.fluid.Fluid; import net.minecraft.item.Item; +import net.minecraft.tags.FluidTags; import net.minecraft.tags.ITag; import net.minecraft.tags.ItemTags; @@ -17,6 +19,8 @@ public class BloodMagicTags public static final ITag.INamedTag CRYSTAL_DEMON = ItemTags.makeWrapperTag("bloodmagic:crystals/demon"); + public static final ITag.INamedTag LIFE_ESSENCE = FluidTags.makeWrapperTag("life"); + // Ores public static final ITag.INamedTag ORE_COPPER = getForgeOreTag("copper"); public static final ITag.INamedTag ORE_TIN = getForgeOreTag("tin"); @@ -24,26 +28,50 @@ public class BloodMagicTags public static final ITag.INamedTag ORE_OSMIUM = getForgeOreTag("osmium"); public static final ITag.INamedTag ORE_SILVER = getForgeOreTag("silver"); + // Ingots + public static final ITag.INamedTag INGOT_HELLFORGED = getForgeIngotTag("hellforged"); + // Dusts (/Sands) public static final ITag.INamedTag DUST_IRON = getForgeDustTag("iron"); public static final ITag.INamedTag DUST_GOLD = getForgeDustTag("gold"); public static final ITag.INamedTag DUST_COAL = getForgeDustTag("coal"); public static final ITag.INamedTag DUST_SALTPETER = getForgeDustTag("saltpeter"); public static final ITag.INamedTag DUST_SULFUR = getForgeDustTag("sulfur"); + public static final ITag.INamedTag DUST_NETHERITE_SCRAP = getForgeDustTag("netherite_scrap"); + public static final ITag.INamedTag DUST_HELLFORGED = getForgeDustTag("hellforged"); + public static final ITag.INamedTag DUST_CORRUPTED = getBMDustTag("corrupted"); + public static final ITag.INamedTag TINYDUST_CORRUPTED = getBMTinyDustTag("corrupted"); // Fragments public static final ITag.INamedTag FRAGMENT_IRON = getFragmentTag("iron"); public static final ITag.INamedTag FRAGMENT_GOLD = getFragmentTag("gold"); + public static final ITag.INamedTag FRAGMENT_NETHERITE_SCRAP = getFragmentTag("netherite_scrap"); // Gravels public static final ITag.INamedTag GRAVEL_IRON = getGravelTag("iron"); public static final ITag.INamedTag GRAVEL_GOLD = getGravelTag("gold"); + public static final ITag.INamedTag GRAVEL_NETHERITE_SCRAP = getGravelTag("netherite_scrap"); public static ITag.INamedTag getForgeOreTag(String name) { return ItemTags.makeWrapperTag("forge:ores/" + name); } + public static ITag.INamedTag getForgeIngotTag(String name) + { + return ItemTags.makeWrapperTag("forge:ingots/" + name); + } + + public static ITag.INamedTag getBMDustTag(String name) + { + return ItemTags.makeWrapperTag("bloodmagic:dusts/" + name); + } + + public static ITag.INamedTag getBMTinyDustTag(String name) + { + return ItemTags.makeWrapperTag("bloodmagic:tiny_dusts/" + name); + } + public static ITag.INamedTag getForgeDustTag(String name) { return ItemTags.makeWrapperTag("forge:dusts/" + name); diff --git a/src/main/resources/assets/bloodmagic/textures/block/nether_soil.png b/src/main/resources/assets/bloodmagic/textures/block/nether_soil.png new file mode 100644 index 00000000..4241d53f Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/block/nether_soil.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/block/nether_soil.png.mcmeta b/src/main/resources/assets/bloodmagic/textures/block/nether_soil.png.mcmeta new file mode 100644 index 00000000..7ceb3639 --- /dev/null +++ b/src/main/resources/assets/bloodmagic/textures/block/nether_soil.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bloodmagic/textures/item/corrupted_dust.png b/src/main/resources/assets/bloodmagic/textures/item/corrupted_dust.png new file mode 100644 index 00000000..78d4bf16 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/item/corrupted_dust.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/item/corrupted_tinydust.png b/src/main/resources/assets/bloodmagic/textures/item/corrupted_tinydust.png new file mode 100644 index 00000000..8d2caac1 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/item/corrupted_tinydust.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/item/fragment_netherite_scrap.png b/src/main/resources/assets/bloodmagic/textures/item/fragment_netherite_scrap.png new file mode 100644 index 00000000..eb3371df Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/item/fragment_netherite_scrap.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/item/gravel_netherite_scrap.png b/src/main/resources/assets/bloodmagic/textures/item/gravel_netherite_scrap.png new file mode 100644 index 00000000..1ccb1dd1 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/item/gravel_netherite_scrap.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/item/ingot_hellforged.png b/src/main/resources/assets/bloodmagic/textures/item/ingot_hellforged.png new file mode 100644 index 00000000..0f58d71e Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/item/ingot_hellforged.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/item/sand_hellforged.png b/src/main/resources/assets/bloodmagic/textures/item/sand_hellforged.png new file mode 100644 index 00000000..ad1fe281 Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/item/sand_hellforged.png differ diff --git a/src/main/resources/assets/bloodmagic/textures/item/sand_netherite.png b/src/main/resources/assets/bloodmagic/textures/item/sand_netherite.png new file mode 100644 index 00000000..e6420a5c Binary files /dev/null and b/src/main/resources/assets/bloodmagic/textures/item/sand_netherite.png differ