Initial work on Netherrack Soil.

Also added the processing for Ancient Debris and some of the intermediates for the new Hellforged Ingots (no uses yet).
This commit is contained in:
WayofTime 2020-11-19 21:42:30 -05:00
parent 1ae356c886
commit 032e163795
62 changed files with 826 additions and 8 deletions

View file

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

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_metal"
}
}
}

View file

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

View file

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

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/dungeon/dungeon_metal"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/template_farmland",
"textures": {
"top": "bloodmagic:block/nether_soil",
"dirt": "minecraft:block/netherrack"
}
}

View file

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

View file

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

View file

@ -0,0 +1,3 @@
{
"parent": "bloodmagic:block/dungeon_metal"
}

View file

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

View file

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

View file

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

View file

@ -0,0 +1,3 @@
{
"parent": "bloodmagic:block/nether_soil"
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "bloodmagic:dungeon_metal"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:netherrack"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

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

View file

@ -0,0 +1,13 @@
{
"type": "bloodmagic:arc",
"input": {
"item": "minecraft:netherite_scrap"
},
"tool": {
"tag": "bloodmagic:arc/explosive"
},
"output": {
"item": "bloodmagic:sand_netherite"
},
"consumeingredient": false
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"sss",
"sss",
"sss"
],
"key": {
"s": {
"tag": "bloodmagic:tiny_dusts/corrupted"
}
},
"result": {
"item": "bloodmagic:corrupted_dust"
}
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"sss",
"sss",
"sss"
],
"key": {
"s": {
"tag": "forge:ingots/hellforged"
}
},
"result": {
"item": "bloodmagic:dungeon_metal"
}
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"tag": "forge:dusts/hellforged"
},
"result": "bloodmagic:ingot_hellforged",
"experience": 0.0,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"tag": "forge:dusts/netherite_scrap"
},
"result": "minecraft:netherite_scrap",
"experience": 0.0,
"cookingtime": 200
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"bloodmagic:corrupted_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"bloodmagic:fragment_netherite_scrap"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"bloodmagic:gravel_netherite_scrap"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"bloodmagic:corrupted_tinydust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"bloodmagic:sand_hellforged"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"bloodmagic:sand_netherite"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"bloodmagic:ingot_hellforged"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"bloodmagic:life_essence_fluid",
"bloodmagic:life_essence_fluid_flowing"
]
}

View file

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

View file

@ -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<Block, BlockState> builder)
{
builder.add(MOISTURE);
}
public boolean allowsMovement(BlockState state, IBlockReader worldIn, BlockPos pos, PathType type)
{
return false;
}
}

View file

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

View file

@ -37,7 +37,8 @@ public class GeneratorBaseRecipes extends BaseRecipeProvider
private void addVanillaRecipes(Consumer<IFinishedRecipe> 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<IFinishedRecipe> 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"));
}

View file

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

View file

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

View file

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

View file

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

View file

@ -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 , "");

View file

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

View file

@ -94,6 +94,7 @@ public class BloodMagicItems
public static final RegistryObject<Item> MIMIC_ITEM = ITEMS.register("mimic", () -> new ItemBlockMimic(BloodMagicBlocks.MIMIC.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> MIMIC_ETHEREAL_ITEM = ITEMS.register("ethereal_mimic", () -> new ItemBlockMimic(BloodMagicBlocks.ETHEREAL_MIMIC.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> 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<Item> IRON_FRAGMENT = BASICITEMS.register("ironfragment", () -> new ItemBase());
public static final RegistryObject<Item> GOLD_FRAGMENT = BASICITEMS.register("goldfragment", () -> new ItemBase());
public static final RegistryObject<Item> NETHERITE_SCRAP_FRAGMENT = BASICITEMS.register("fragment_netherite_scrap", () -> new ItemBase());
// Gravels
public static final RegistryObject<Item> IRON_GRAVEL = BASICITEMS.register("irongravel", () -> new ItemBase());
public static final RegistryObject<Item> GOLD_GRAVEL = BASICITEMS.register("goldgravel", () -> new ItemBase());
public static final RegistryObject<Item> NETHERITE_SCRAP_GRAVEL = BASICITEMS.register("gravel_netherite_scrap", () -> new ItemBase());
// Sands
public static final RegistryObject<Item> IRON_SAND = BASICITEMS.register("ironsand", () -> new ItemBase());
public static final RegistryObject<Item> GOLD_SAND = BASICITEMS.register("goldsand", () -> new ItemBase());
public static final RegistryObject<Item> COAL_SAND = BASICITEMS.register("coalsand", () -> new ItemBase());
public static final RegistryObject<Item> NETHERITE_SCRAP_SAND = BASICITEMS.register("sand_netherite", () -> new ItemBase());
public static final RegistryObject<Item> CORRUPTED_DUST = BASICITEMS.register("corrupted_dust", () -> new ItemBase());
public static final RegistryObject<Item> CORRUPTED_DUST_TINY = BASICITEMS.register("corrupted_tinydust", () -> new ItemBase());
public static final RegistryObject<Item> HELLFORGED_SAND = BASICITEMS.register("sand_hellforged", () -> new ItemBase());
// Dungeons
public static final RegistryObject<Item> HELLFORGED_INGOT = BASICITEMS.register("ingot_hellforged", () -> new ItemBase());
public static final RegistryObject<Item> 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<Item> 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<Item> 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<Item> DUNGEON_ORE_BLOCK = ITEMS.register("dungeon_ore", () -> new BlockItem(BloodMagicBlocks.DUNGEON_ORE.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> HELLFORGED_BLOCK = ITEMS.register("dungeon_metal", () -> new BlockItem(BloodMagicBlocks.HELLFORGED_BLOCK.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> DUNGEON_TESTER = BASICITEMS.register("dungeon_tester", ItemDungeonTester::new);
}

View file

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

View file

@ -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<Item> CRYSTAL_DEMON = ItemTags.makeWrapperTag("bloodmagic:crystals/demon");
public static final ITag.INamedTag<Fluid> LIFE_ESSENCE = FluidTags.makeWrapperTag("life");
// Ores
public static final ITag.INamedTag<Item> ORE_COPPER = getForgeOreTag("copper");
public static final ITag.INamedTag<Item> ORE_TIN = getForgeOreTag("tin");
@ -24,26 +28,50 @@ public class BloodMagicTags
public static final ITag.INamedTag<Item> ORE_OSMIUM = getForgeOreTag("osmium");
public static final ITag.INamedTag<Item> ORE_SILVER = getForgeOreTag("silver");
// Ingots
public static final ITag.INamedTag<Item> INGOT_HELLFORGED = getForgeIngotTag("hellforged");
// Dusts (/Sands)
public static final ITag.INamedTag<Item> DUST_IRON = getForgeDustTag("iron");
public static final ITag.INamedTag<Item> DUST_GOLD = getForgeDustTag("gold");
public static final ITag.INamedTag<Item> DUST_COAL = getForgeDustTag("coal");
public static final ITag.INamedTag<Item> DUST_SALTPETER = getForgeDustTag("saltpeter");
public static final ITag.INamedTag<Item> DUST_SULFUR = getForgeDustTag("sulfur");
public static final ITag.INamedTag<Item> DUST_NETHERITE_SCRAP = getForgeDustTag("netherite_scrap");
public static final ITag.INamedTag<Item> DUST_HELLFORGED = getForgeDustTag("hellforged");
public static final ITag.INamedTag<Item> DUST_CORRUPTED = getBMDustTag("corrupted");
public static final ITag.INamedTag<Item> TINYDUST_CORRUPTED = getBMTinyDustTag("corrupted");
// Fragments
public static final ITag.INamedTag<Item> FRAGMENT_IRON = getFragmentTag("iron");
public static final ITag.INamedTag<Item> FRAGMENT_GOLD = getFragmentTag("gold");
public static final ITag.INamedTag<Item> FRAGMENT_NETHERITE_SCRAP = getFragmentTag("netherite_scrap");
// Gravels
public static final ITag.INamedTag<Item> GRAVEL_IRON = getGravelTag("iron");
public static final ITag.INamedTag<Item> GRAVEL_GOLD = getGravelTag("gold");
public static final ITag.INamedTag<Item> GRAVEL_NETHERITE_SCRAP = getGravelTag("netherite_scrap");
public static ITag.INamedTag<Item> getForgeOreTag(String name)
{
return ItemTags.makeWrapperTag("forge:ores/" + name);
}
public static ITag.INamedTag<Item> getForgeIngotTag(String name)
{
return ItemTags.makeWrapperTag("forge:ingots/" + name);
}
public static ITag.INamedTag<Item> getBMDustTag(String name)
{
return ItemTags.makeWrapperTag("bloodmagic:dusts/" + name);
}
public static ITag.INamedTag<Item> getBMTinyDustTag(String name)
{
return ItemTags.makeWrapperTag("bloodmagic:tiny_dusts/" + name);
}
public static ITag.INamedTag<Item> getForgeDustTag(String name)
{
return ItemTags.makeWrapperTag("forge:dusts/" + name);

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 KiB

View file

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 903 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B