Fixing up some bugs
This commit is contained in:
parent
779277ebc0
commit
7b7de0371d
|
|
@ -1,5 +1,7 @@
|
|||
// 1.20.1 2023-08-07T23:41:30.832699 Tags for minecraft:block mod id exdeorum
|
||||
// 1.20.1 2023-08-09T20:30:27.4274718 Tags for minecraft:block mod id exdeorum
|
||||
187f79162711777f2242b8184a878ad9f2d775f2 data/exdeorum/tags/blocks/watering_can_tickable.json
|
||||
f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/leaves.json
|
||||
2fb8f4567073001f8a70968950e8a728144e1214 data/minecraft/tags/blocks/mineable/axe.json
|
||||
f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/mineable/hoe.json
|
||||
a23ae1801375c0c9525c3d712cb0eeb87174c219 data/minecraft/tags/blocks/mineable/pickaxe.json
|
||||
0fc927ffe01dd23fd511dea057c7894680ae9807 data/minecraft/tags/blocks/mineable/shovel.json
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2023-08-08T15:59:08.3284326 Recipes
|
||||
// 1.20.1 2023-08-09T22:07:08.2490849 Recipes
|
||||
5ad481a0c376c1a1785a5d3b992064d0ec0bf3b0 data/exdeorum/advancements/recipes/food/end_cake.json
|
||||
25dd027e844a72b03c95dbe5e3c3dd8c738ceb00 data/exdeorum/advancements/recipes/misc/acacia_barrel.json
|
||||
376be94a64c9ca97a9ea2346547b6e617f13a815 data/exdeorum/advancements/recipes/misc/acacia_crucible.json
|
||||
|
|
@ -84,21 +84,27 @@ b04a381b3dc085153b5acc8085792297be9f5abb data/exdeorum/recipes/acacia_crucible.j
|
|||
ffd7c016eef42ed756f88aed5dbf6bd7c1d61767 data/exdeorum/recipes/bamboo_crucible.json
|
||||
233f10c1363ab42fc9556c6533634db8c288b43f data/exdeorum/recipes/bamboo_sieve.json
|
||||
7940ebf503b4fa5a89b5279f623a9aeda8629940 data/exdeorum/recipes/barrel_compost/apple.json
|
||||
99202b6fff6163156770be24fb2e9b7dd9b61885 data/exdeorum/recipes/barrel_compost/bamboo.json
|
||||
1b13c3e0c90d978f574e865d951e05f29b1fb77b data/exdeorum/recipes/barrel_compost/beef.json
|
||||
7b2e90d846a0ee0ae4db096448ebc4f7b73c7485 data/exdeorum/recipes/barrel_compost/beetroot.json
|
||||
33b36a52c05f2c9ea4d501cf7ce34626dd4fe08a data/exdeorum/recipes/barrel_compost/beetroot_soup.json
|
||||
96cd94a5121301bb47bc8b6c89cdccc05c9b76dd data/exdeorum/recipes/barrel_compost/berries.json
|
||||
30c75da3bbf2917418045d6b971572cafa970e09 data/exdeorum/recipes/barrel_compost/bread.json
|
||||
9396ffe81f82401ad3c583bd9f418b0da1775a08 data/exdeorum/recipes/barrel_compost/cactus.json
|
||||
177efefdd5b58a1feab7e93986631edbb69644ad data/exdeorum/recipes/barrel_compost/cake.json
|
||||
2494118c311271ea0eac052e9f379e651f576b19 data/exdeorum/recipes/barrel_compost/carrots.json
|
||||
33e7e6193af5fb1e818e155d13f7fa5191811d3d data/exdeorum/recipes/barrel_compost/chicken.json
|
||||
ff51c9b05dba8297d2aa5031d5a9e32007d05351 data/exdeorum/recipes/barrel_compost/chorus_flower.json
|
||||
e7845703d2de3304d06b697373a0528f6c84952d data/exdeorum/recipes/barrel_compost/chorus_fruit.json
|
||||
e1b7b92f1a348440188ea6aacccd3591a00c862d data/exdeorum/recipes/barrel_compost/chorus_plant.json
|
||||
fdb1992a1f288ad308a32661d471ab08675011d0 data/exdeorum/recipes/barrel_compost/cod.json
|
||||
1f04665bbda29747d8071cf45114a86a41415cb6 data/exdeorum/recipes/barrel_compost/cookie.json
|
||||
f6ee5b900f693e7839961e26fa690b1df4eaa893 data/exdeorum/recipes/barrel_compost/dead_bush.json
|
||||
fea2a11e64ae425b6dcc29480e9793fad877792b data/exdeorum/recipes/barrel_compost/egg.json
|
||||
09f8e54e4112aa8f163967130087c9a24f9d03a0 data/exdeorum/recipes/barrel_compost/fermented_spider_eye.json
|
||||
79bbe21466b4700c57cdcaeb15ebc5af741eafd4 data/exdeorum/recipes/barrel_compost/golden_apples.json
|
||||
7e4e8500b94b97fded88c19b66b5c4f2fa8c3b38 data/exdeorum/recipes/barrel_compost/grass.json
|
||||
b26f3f6922af80bbe8830ad00844880ab5d1d389 data/exdeorum/recipes/barrel_compost/kelp.json
|
||||
48e6e1cb9f5a9208a6f6110328c592a087a0c04d data/exdeorum/recipes/barrel_compost/kelp.json
|
||||
dbc452bd95428da7c2c44fe0f2f55c04a0939e25 data/exdeorum/recipes/barrel_compost/leaves.json
|
||||
ef787402b9a0735b03fd72f2f6eac1a312de54d1 data/exdeorum/recipes/barrel_compost/lily_pad.json
|
||||
1173cffa62b08f64f95456808197800883f8e754 data/exdeorum/recipes/barrel_compost/melon.json
|
||||
|
|
@ -115,24 +121,28 @@ f53dc1607f4f2cffb472a89c1295061a78393bc8 data/exdeorum/recipes/barrel_compost/pu
|
|||
b691840022019ce1ebcb8528f77066e68162e58c data/exdeorum/recipes/barrel_compost/pumpkin.json
|
||||
8e293fa1db1397714f8e41c8f13f6a8e59566edc data/exdeorum/recipes/barrel_compost/pumpkin_pie.json
|
||||
c648fa75a79e170a8a882a92b20ee3a6780b5849 data/exdeorum/recipes/barrel_compost/rabbit.json
|
||||
763e95952aabe2520e4c623aaed3a34cf6397e91 data/exdeorum/recipes/barrel_compost/rabbit_foot.json
|
||||
76aa0436b058163a9d3aef9541fe7f398ed8995c data/exdeorum/recipes/barrel_compost/rabbit_foot.json
|
||||
9e184580291c74607690a8c26ddec3c62d020fd8 data/exdeorum/recipes/barrel_compost/rabbit_stew.json
|
||||
c720509d8f087f6b6a95b86f66068e94d09ecb56 data/exdeorum/recipes/barrel_compost/rotten_flesh.json
|
||||
2e7fda4c3ae928ad3fa442e30deec859f4e8b143 data/exdeorum/recipes/barrel_compost/salmon.json
|
||||
12e54efe4b3b86d27b57c8169e3c0ae873ab781f data/exdeorum/recipes/barrel_compost/saplings.json
|
||||
67f76ee0fd778b1cacf014d04010d8dae0bc9501 data/exdeorum/recipes/barrel_compost/seagrass.json
|
||||
7589caff9f198eeda1f7690c969759ab05bba5e2 data/exdeorum/recipes/barrel_compost/sea_pickle.json
|
||||
226beec982c238b26acef781942b2ebdde3eb5a0 data/exdeorum/recipes/barrel_compost/seeds.json
|
||||
0448b2c0b447b8f9143cca678d3caf9a66fb81d2 data/exdeorum/recipes/barrel_compost/silk_worms.json
|
||||
e0a9b437cd796c609fb8719325661c6117f59d4f data/exdeorum/recipes/barrel_compost/small_flowers.json
|
||||
8f8075014f8f4200abd8253b5135d23cd37d45ba data/exdeorum/recipes/barrel_compost/spider_eye.json
|
||||
61aa8e3c09be7880fad18822ed8d051e986c9772 data/exdeorum/recipes/barrel_compost/spores_and_seeds.json
|
||||
9d661193a7dd59c10fb6c4e3278e22a463a1902a data/exdeorum/recipes/barrel_compost/spore_blossom.json
|
||||
0f979382681cc620280b2dc12cd28687ca2d46f9 data/exdeorum/recipes/barrel_compost/string.json
|
||||
e6077478cfc6b699909e15fd4f2113e703c4046f data/exdeorum/recipes/barrel_compost/sugar_cane.json
|
||||
ef56ceb8bdda8c13d3d1dc2d6a2355789f3f1634 data/exdeorum/recipes/barrel_compost/suspicious_stew.json
|
||||
ea698e109eb94b25b670be314de756955b3e1d58 data/exdeorum/recipes/barrel_compost/tall_flowers.json
|
||||
b6c9b1329b400953c4239eb0444367772a2f67a8 data/exdeorum/recipes/barrel_compost/tall_grass.json
|
||||
cc365b1961a4d1ac668c1ea33f52a4b74517d8c0 data/exdeorum/recipes/barrel_compost/tropical_fish.json
|
||||
f17f12ac67e700f7838cb3bab740ec254bbfe13c data/exdeorum/recipes/barrel_compost/twisting_vines.json
|
||||
653a42a46a6bd977a2eddea7336df4beabbbeecf data/exdeorum/recipes/barrel_compost/vine.json
|
||||
c4ecb4272c220282de403852031b3ca92651d91c data/exdeorum/recipes/barrel_compost/weeping_vines.json
|
||||
5677e23fdc74130523d602ebf9e557f659af57c5 data/exdeorum/recipes/barrel_compost/wheat.json
|
||||
72f969f4db1f82a627df573c866a1b291e540a0a data/exdeorum/recipes/barrel_mixing/end_stone.json
|
||||
37f73e219fda3c6f56bf55f8ec7f97586ecdbae1 data/exdeorum/recipes/barrel_mixing/ice.json
|
||||
|
|
@ -213,7 +223,7 @@ f4ea515ec72c867b9c0b54df162bd07c62e1a7ce data/exdeorum/recipes/iron_watering_can
|
|||
bffa756563ac5aa791f299ae6d7d042813c2614a data/exdeorum/recipes/jungle_sieve.json
|
||||
d24ed2178e5875da5e0a6f82b5ac9c2ece4b64ff data/exdeorum/recipes/lava_crucible/cobblestone.json
|
||||
0963c17c9f78907017fa0192c684f016c39f31eb data/exdeorum/recipes/lava_crucible/gravel.json
|
||||
a23123d1144e9d03450cc373e54237ab64641567 data/exdeorum/recipes/lava_crucible/netherrack.json
|
||||
e9affa16c926fe63ca2270a81aba4e33cd0b198b data/exdeorum/recipes/lava_crucible/netherrack.json
|
||||
20744c980e4a68f67acea24af617f1ddb865f9a3 data/exdeorum/recipes/lava_crucible/stone.json
|
||||
8efa8d7c8da52d42d8e1a831004dfc080423a500 data/exdeorum/recipes/mangrove_barrel.json
|
||||
95edd369ab19abd17ef56cfa2350a2dc185c7747 data/exdeorum/recipes/mangrove_crucible.json
|
||||
|
|
@ -577,6 +587,7 @@ e31b10ea506eb9a2d94aa9efdd7db4cdd8d78237 data/exdeorum/recipes/sieve/moss_block/
|
|||
c3cb1b7c924b35323e3d7cb1ffdff46cff7bb849 data/exdeorum/recipes/sieve/moss_block/diamond/mangrove_propagule.json
|
||||
9cd8e7df8913168eb5f3176e07bb02620025165e data/exdeorum/recipes/sieve/moss_block/diamond/oak_sapling.json
|
||||
46372d4865910944bc43ef67b7e9f83987bcd591 data/exdeorum/recipes/sieve/moss_block/diamond/small_dripleaf.json
|
||||
ab9c7574d8d2ca3343f170e8cb9d78737873ee2f data/exdeorum/recipes/sieve/moss_block/diamond/spore_blossom.json
|
||||
f41a1dd1c6a62bc8b34baa677a53e18150185e5a data/exdeorum/recipes/sieve/moss_block/diamond/spruce_sapling.json
|
||||
f81c5c7b83ff1dd7ded1b46cb3b602ce56ae3ba7 data/exdeorum/recipes/sieve/moss_block/flint/acacia_sapling.json
|
||||
c1687b96d45092b8fa43d15caf049dabaf1aa648 data/exdeorum/recipes/sieve/moss_block/flint/big_dripleaf.json
|
||||
|
|
@ -590,6 +601,7 @@ cbd39e058b88538e00884c336289d08a45122d58 data/exdeorum/recipes/sieve/moss_block/
|
|||
c63138cd4e3095885913923bee0685064442871a data/exdeorum/recipes/sieve/moss_block/flint/mangrove_propagule.json
|
||||
6f1e11d47cd47a4607ba7da396f1802e2ff3266f data/exdeorum/recipes/sieve/moss_block/flint/oak_sapling.json
|
||||
01e4ada58ba8c4a5ea450f62e752f9324cfda6d3 data/exdeorum/recipes/sieve/moss_block/flint/small_dripleaf.json
|
||||
366055d40ffa8bb5df3aa4a173df789ca7387e18 data/exdeorum/recipes/sieve/moss_block/flint/spore_blossom.json
|
||||
0f9eb10e52f5800d0543fbbff9c13559095d2e5f data/exdeorum/recipes/sieve/moss_block/flint/spruce_sapling.json
|
||||
4ac5ebd110597a27940d6d6c8ca5858b5a09d153 data/exdeorum/recipes/sieve/moss_block/flint/sweet_berries.json
|
||||
862a8042232a5b063cf8fdb30142100a32a04372 data/exdeorum/recipes/sieve/moss_block/golden/acacia_sapling.json
|
||||
|
|
@ -602,6 +614,7 @@ c9aed5b2b7e641177e6cd08968d6a658de5a3779 data/exdeorum/recipes/sieve/moss_block/
|
|||
0ad8b7d2ac32bdc810249f9039a355096beca263 data/exdeorum/recipes/sieve/moss_block/golden/mangrove_propagule.json
|
||||
74979d3b2db6d6fe305c63ee717542a06188d133 data/exdeorum/recipes/sieve/moss_block/golden/oak_sapling.json
|
||||
ab5ae026900f1d6c82f93d8beb2955695ace87fa data/exdeorum/recipes/sieve/moss_block/golden/small_dripleaf.json
|
||||
47a1c47daea852999f58845e542a7e2a7f43b04a data/exdeorum/recipes/sieve/moss_block/golden/spore_blossom.json
|
||||
9ed8aaa5555765dacc2df79e05e8799cf7bc6e5b data/exdeorum/recipes/sieve/moss_block/golden/spruce_sapling.json
|
||||
aa77cca261f061b6c67d7b76cfbee948eb6a3e8d data/exdeorum/recipes/sieve/moss_block/iron/acacia_sapling.json
|
||||
dab4403fa7e1cf72c062422421e609f4f27407be data/exdeorum/recipes/sieve/moss_block/iron/big_dripleaf.json
|
||||
|
|
@ -613,6 +626,7 @@ dab4403fa7e1cf72c062422421e609f4f27407be data/exdeorum/recipes/sieve/moss_block/
|
|||
5f508e67c7944764f807b0b55436b33f5e97699b data/exdeorum/recipes/sieve/moss_block/iron/mangrove_propagule.json
|
||||
6621371034fb0c5ddcaf54fa2d89bf614d84f41e data/exdeorum/recipes/sieve/moss_block/iron/oak_sapling.json
|
||||
e46a4beb26c5f1572354e87bfe4553e0a4122576 data/exdeorum/recipes/sieve/moss_block/iron/small_dripleaf.json
|
||||
0075db25f4650ba9dc172f15814725754d9f97e5 data/exdeorum/recipes/sieve/moss_block/iron/spore_blossom.json
|
||||
93cb208475c16ebfdb286a2704a54b1594354c7f data/exdeorum/recipes/sieve/moss_block/iron/spruce_sapling.json
|
||||
64ef5a4f025effef3ac4a2b90488c4b910729bec data/exdeorum/recipes/sieve/moss_block/netherite/acacia_sapling.json
|
||||
415b6baad54d477f2182ff7c2c5f009e85ae9deb data/exdeorum/recipes/sieve/moss_block/netherite/big_dripleaf.json
|
||||
|
|
@ -624,6 +638,7 @@ a216466ec9cace1bd1de0c0c19469e41c49205f9 data/exdeorum/recipes/sieve/moss_block/
|
|||
e19bd9157fd5fb35ce43953b9ea27e9102945574 data/exdeorum/recipes/sieve/moss_block/netherite/mangrove_propagule.json
|
||||
21d5202805e1da22beb0c1caee7f721dd937615c data/exdeorum/recipes/sieve/moss_block/netherite/oak_sapling.json
|
||||
253817ef4f1a350d988df5e122a32fa8fd576819 data/exdeorum/recipes/sieve/moss_block/netherite/small_dripleaf.json
|
||||
913767318dab8eda863e2816e06164f8b2b7d049 data/exdeorum/recipes/sieve/moss_block/netherite/spore_blossom.json
|
||||
7b16289fd38e015d5b5f6bfe70314d8a507ca4b0 data/exdeorum/recipes/sieve/moss_block/netherite/spruce_sapling.json
|
||||
959d21cfb914761dac53844cea56de55f6260a27 data/exdeorum/recipes/sieve/moss_block/string/acacia_sapling.json
|
||||
6232ad4b9611b1d7276ad22924f878b83df668c0 data/exdeorum/recipes/sieve/moss_block/string/big_dripleaf.json
|
||||
|
|
@ -635,6 +650,7 @@ ee240ebb80802c83d48985d9e431bc12410589a4 data/exdeorum/recipes/sieve/moss_block/
|
|||
621c67156656594f50ee49456f4cc58dbd540752 data/exdeorum/recipes/sieve/moss_block/string/mangrove_propagule.json
|
||||
98bc0e4cd532316a91814bf618588c7cfa389a44 data/exdeorum/recipes/sieve/moss_block/string/oak_sapling.json
|
||||
e5351932ff3700bf95f2ec770cd051f08debee9c data/exdeorum/recipes/sieve/moss_block/string/small_dripleaf.json
|
||||
64280db27eca51b0aa8fddc970756c1e3a25db08 data/exdeorum/recipes/sieve/moss_block/string/spore_blossom.json
|
||||
fec8737e1aba9773807c7cd582c685e4532f488d data/exdeorum/recipes/sieve/moss_block/string/spruce_sapling.json
|
||||
c63500f17bbac4d47caac5a48f3cedfe750916a5 data/exdeorum/recipes/sieve/sand/diamond/flint.json
|
||||
3b0c8920c2c19e3731e0258bd005b4d2cc2bd5ab data/exdeorum/recipes/sieve/sand/diamond/gold_nugget.json
|
||||
|
|
@ -749,18 +765,30 @@ e6ff95b6fbc43c73a537174e01c9eb519e8fdef1 data/exdeorum/recipes/unfired_porcelain
|
|||
1ae1b311f2e370c924041da80fea01ac8da870c5 data/exdeorum/recipes/warped_crucible.json
|
||||
7d589e398d803bc7a30614f6ee4aa0d48ca3540e data/exdeorum/recipes/warped_sieve.json
|
||||
4fbb682aa185e8d9d945619554dc98015221a4eb data/exdeorum/recipes/water_crucible/apple.json
|
||||
fa23650a3d75ed6278d9c3860aa6ea086371210b data/exdeorum/recipes/water_crucible/beetroot.json
|
||||
8fed4fdb981ca82436919a074fc1166a2fc6385d data/exdeorum/recipes/water_crucible/cactus.json
|
||||
8d9de0f7eb46ffb7990a9ac311ec697dffa40443 data/exdeorum/recipes/water_crucible/carrot.json
|
||||
b191c567f221393c91baaaf456212caebee30048 data/exdeorum/recipes/water_crucible/grass.json
|
||||
a71db1fcbabb44ed0a0a709175ca2a419b98caa8 data/exdeorum/recipes/water_crucible/grass_block.json
|
||||
1a31f9a9826fc882acc135c40845b1f227476c7c data/exdeorum/recipes/water_crucible/leaves.json
|
||||
08d92cfb7b7e83651d1bc26d3abbe7340fab511f data/exdeorum/recipes/water_crucible/lily_pad.json
|
||||
0e8f136f5fa986bc1c73e063cad5377597fc1a6d data/exdeorum/recipes/water_crucible/lily_pad.json
|
||||
27134a6501957007812b98886e16d22cd8517ee0 data/exdeorum/recipes/water_crucible/melon.json
|
||||
d9c0f111e2ae9715cd76a9d5f0ceadce72e34c87 data/exdeorum/recipes/water_crucible/melon_slice.json
|
||||
3252ccfd40508d9b50e881cee8b5e50e1be7ccee data/exdeorum/recipes/water_crucible/moss.json
|
||||
8e2e91cb5d81688355ef9ad4f1eb859af24973bb data/exdeorum/recipes/water_crucible/moss_carpet.json
|
||||
4a5b07cf133e13fc6c2c5d3ea56a60b21d836c27 data/exdeorum/recipes/water_crucible/mushrooms.json
|
||||
b4674be18b463bed47425ea85f4dd992480c2409 data/exdeorum/recipes/water_crucible/potato.json
|
||||
0505bf31de1c13f3a22ee2cbdd1595bbb4857692 data/exdeorum/recipes/water_crucible/pumpkin.json
|
||||
8b04ebb043ce62c0f17adf40cb45431f8e54701f data/exdeorum/recipes/water_crucible/saplings.json
|
||||
8b68ac02a0b642270163f77c7840a50bae0a54a4 data/exdeorum/recipes/water_crucible/seeds_and_spores.json
|
||||
c3ac3ad583b38351ae54d5fe291506dd87d402ab data/exdeorum/recipes/water_crucible/seagrass.json
|
||||
a48d1f3abe9bf8607096ee8be1ec70d670dfd8d3 data/exdeorum/recipes/water_crucible/sea_pickle.json
|
||||
43440237534dba69b9f4d97b84148b0e6f131c61 data/exdeorum/recipes/water_crucible/seeds.json
|
||||
7668124adff54b4cc345e1338ec90ed8b84662c9 data/exdeorum/recipes/water_crucible/seeds_and_spores.json
|
||||
dabaaa0c9db5dd4668b528df176606609f45c0ce data/exdeorum/recipes/water_crucible/small_flowers.json
|
||||
0b210ee847c361d8568e0b581ea1e0dfca16fc6c data/exdeorum/recipes/water_crucible/spore_blossom.json
|
||||
8198da30f7d529f2350f8e276a7660a15bba0a4f data/exdeorum/recipes/water_crucible/sugar_cane.json
|
||||
3927d17ed5a24132956fa60b51bdb22e67ef4626 data/exdeorum/recipes/water_crucible/sweet_berries.json
|
||||
9d4abedfd8af2e988c4f11d62ed66743f3e8ac07 data/exdeorum/recipes/water_crucible/tall_flowers.json
|
||||
a5333ee537aa0e10b740e20a137a24b7699ff52b data/exdeorum/recipes/water_crucible/vine.json
|
||||
8356651dbd67d7c3b820a78d0720afa5a1ee5713 data/exdeorum/recipes/wooden_hammer.json
|
||||
20b1ab005d3c3d552d4300f53444a931b230cb3b data/exdeorum/recipes/wooden_watering_can.json
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "exdeorum:item/end_cake"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "exdeorum:item/sculk_core"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"exdeorum:crushed_end_stone"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "exdeorum:end_cake"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"exdeorum:end_cake"
|
||||
]
|
||||
},
|
||||
"sends_telemetry_event": true
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:echo_shard"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "exdeorum:sculk_core"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"exdeorum:sculk_core"
|
||||
]
|
||||
},
|
||||
"sends_telemetry_event": true
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:bamboo"
|
||||
},
|
||||
"volume": 100
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:cactus"
|
||||
},
|
||||
"volume": 125
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:chorus_flower"
|
||||
},
|
||||
"volume": 150
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:chorus_fruit"
|
||||
},
|
||||
"volume": 80
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:chorus_plant"
|
||||
},
|
||||
"volume": 150
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:dead_bush"
|
||||
},
|
||||
"volume": 80
|
||||
}
|
||||
|
|
@ -8,5 +8,5 @@
|
|||
"item": "minecraft:dried_kelp"
|
||||
}
|
||||
],
|
||||
"volume": 40
|
||||
"volume": 80
|
||||
}
|
||||
|
|
@ -3,5 +3,5 @@
|
|||
"ingredient": {
|
||||
"item": "minecraft:rabbit_foot"
|
||||
},
|
||||
"volume": 40
|
||||
"volume": 100
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:sea_pickle"
|
||||
},
|
||||
"volume": 80
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:spore_blossom"
|
||||
},
|
||||
"volume": 125
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": [
|
||||
{
|
||||
"item": "exdeorum:grass_seeds"
|
||||
},
|
||||
{
|
||||
"item": "exdeorum:mycelium_spores"
|
||||
},
|
||||
{
|
||||
"item": "exdeorum:warped_nylium_spores"
|
||||
},
|
||||
{
|
||||
"item": "exdeorum:crimson_nylium_spores"
|
||||
}
|
||||
],
|
||||
"volume": 80
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:twisting_vines"
|
||||
},
|
||||
"volume": 100
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:barrel_compost",
|
||||
"ingredient": {
|
||||
"item": "minecraft:weeping_vines"
|
||||
},
|
||||
"volume": 100
|
||||
}
|
||||
27
src/generated/resources/data/exdeorum/recipes/end_cake.json
Normal file
27
src/generated/resources/data/exdeorum/recipes/end_cake.json
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"E": {
|
||||
"tag": "forge:eggs"
|
||||
},
|
||||
"P": {
|
||||
"item": "minecraft:ender_eye"
|
||||
},
|
||||
"S": {
|
||||
"item": "minecraft:sugar"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"PPP",
|
||||
"SES",
|
||||
"CCC"
|
||||
],
|
||||
"result": {
|
||||
"item": "exdeorum:end_cake"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:lava_crucible",
|
||||
"fluid": {
|
||||
"Amount": 1000,
|
||||
"Amount": 500,
|
||||
"FluidName": "minecraft:lava"
|
||||
},
|
||||
"ingredient": {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "minecraft:echo_shard"
|
||||
},
|
||||
"O": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
" # ",
|
||||
"#O#",
|
||||
" # "
|
||||
],
|
||||
"result": {
|
||||
"item": "exdeorum:sculk_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:diamond_mesh",
|
||||
"result": "minecraft:chorus_flower",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.04
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:diamond_mesh",
|
||||
"result": "minecraft:chorus_fruit",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.1
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:diamond_mesh",
|
||||
"result": "minecraft:ender_eye",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.09
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:diamond_mesh",
|
||||
"result": "minecraft:ender_pearl",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.15
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:flint_mesh",
|
||||
"result": "minecraft:chorus_flower",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.06
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:flint_mesh",
|
||||
"result": "minecraft:chorus_fruit",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.11
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:flint_mesh",
|
||||
"result": "minecraft:ender_eye",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.03
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:flint_mesh",
|
||||
"result": "minecraft:ender_pearl",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.08
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:chorus_flower",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.06
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:chorus_fruit",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.12
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:ender_eye",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.07
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:ender_pearl",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.12
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:iron_mesh",
|
||||
"result": "minecraft:chorus_flower",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.07
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:iron_mesh",
|
||||
"result": "minecraft:chorus_fruit",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.13
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:iron_mesh",
|
||||
"result": "minecraft:ender_eye",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.04
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:iron_mesh",
|
||||
"result": "minecraft:ender_pearl",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.1
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:netherite_mesh",
|
||||
"result": "minecraft:chorus_flower",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.04
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:netherite_mesh",
|
||||
"result": "minecraft:chorus_fruit",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.1
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:netherite_mesh",
|
||||
"result": "minecraft:echo_shard",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.03
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:netherite_mesh",
|
||||
"result": "minecraft:ender_eye",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.09
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:netherite_mesh",
|
||||
"result": "minecraft:ender_pearl",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.17
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:netherite_mesh",
|
||||
"result": "minecraft:sculk_shrieker",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.01
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:string_mesh",
|
||||
"result": "minecraft:chorus_flower",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.04
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:string_mesh",
|
||||
"result": "minecraft:chorus_fruit",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.09
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:string_mesh",
|
||||
"result": "minecraft:ender_eye",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.02
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "exdeorum:crushed_end_stone"
|
||||
},
|
||||
"mesh": "exdeorum:string_mesh",
|
||||
"result": "minecraft:ender_pearl",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.07
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_block"
|
||||
},
|
||||
"mesh": "exdeorum:diamond_mesh",
|
||||
"result": "minecraft:spore_blossom",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.089999996
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_block"
|
||||
},
|
||||
"mesh": "exdeorum:flint_mesh",
|
||||
"result": "minecraft:spore_blossom",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.044999998
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_block"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:spore_blossom",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.074999996
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_block"
|
||||
},
|
||||
"mesh": "exdeorum:iron_mesh",
|
||||
"result": "minecraft:spore_blossom",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.06
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_block"
|
||||
},
|
||||
"mesh": "exdeorum:netherite_mesh",
|
||||
"result": "minecraft:spore_blossom",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.105
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_block"
|
||||
},
|
||||
"mesh": "exdeorum:string_mesh",
|
||||
"result": "minecraft:spore_blossom",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.03
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:sand"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:coast_armor_trim_smithing_template",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.01
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:sand"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:host_armor_trim_smithing_template",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.01
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:sand"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:raiser_armor_trim_smithing_template",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.01
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:sand"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:shaper_armor_trim_smithing_template",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.01
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "exdeorum:sieve",
|
||||
"ingredient": {
|
||||
"item": "minecraft:sand"
|
||||
},
|
||||
"mesh": "exdeorum:golden_mesh",
|
||||
"result": "minecraft:wayfinder_armor_trim_smithing_template",
|
||||
"result_amount": {
|
||||
"type": "minecraft:binomial",
|
||||
"n": 1.0,
|
||||
"p": 0.01
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:beetroot"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:carrot"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": [
|
||||
{
|
||||
"item": "minecraft:grass"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:tall_grass"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 150,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:grass_block"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"Amount": 150,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 150,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_block"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:moss_carpet"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"tag": "forge:mushrooms"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:potato"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 200,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:sea_pickle"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:seagrass"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 50,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"tag": "forge:seeds"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 50,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": [
|
||||
{
|
||||
"item": "exdeorum:grass_seeds"
|
||||
},
|
||||
{
|
||||
"item": "exdeorum:mycelium_spores"
|
||||
},
|
||||
{
|
||||
"item": "exdeorum:warped_nylium_spores"
|
||||
},
|
||||
{
|
||||
"item": "exdeorum:crimson_nylium_spores"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 150,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:spore_blossom"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:sugar_cane"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"type": "exdeorum:water_crucible",
|
||||
"fluid": {
|
||||
"Amount": 100,
|
||||
"FluidName": "minecraft:water"
|
||||
},
|
||||
"ingredient": {
|
||||
"item": "minecraft:vine"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:grass_block",
|
||||
"minecraft:mycelium",
|
||||
"minecraft:crimson_fungus",
|
||||
"minecraft:warped_fungus",
|
||||
"minecraft:red_mushroom",
|
||||
"minecraft:brown_mushroom",
|
||||
"minecraft:cactus",
|
||||
"minecraft:sugar_cane",
|
||||
"minecraft:sweet_berry_bush",
|
||||
"minecraft:cocoa",
|
||||
"#minecraft:saplings",
|
||||
"#minecraft:nylium",
|
||||
"#minecraft:bee_growables"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"values": [
|
||||
"minecraft:ender_eye"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"values": [
|
||||
"exdeorum:dust",
|
||||
"exdeorum:crushed_netherrack",
|
||||
"exdeorum:crushed_end_stone",
|
||||
"exdeorum:crushed_deepslate",
|
||||
"exdeorum:crushed_blackstone"
|
||||
]
|
||||
}
|
||||
|
|
@ -37,6 +37,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
|||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||
import net.minecraft.world.phys.HitResult;
|
||||
import net.minecraftforge.fml.loading.FMLEnvironment;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import thedarkcolour.exdeorum.blockentity.InfestedLeavesBlockEntity;
|
||||
import thedarkcolour.exdeorum.config.EConfig;
|
||||
|
|
@ -88,6 +89,6 @@ public class InfestedLeavesBlock extends LeavesBlock implements EntityBlock {
|
|||
|
||||
@Override
|
||||
public RenderShape getRenderShape(BlockState pState) {
|
||||
return EConfig.CLIENT.useFastInfestedLeaves.get() ? RenderShape.MODEL : RenderShape.INVISIBLE;
|
||||
return EConfig.CLIENT_SPEC.isLoaded() && EConfig.CLIENT.useFastInfestedLeaves.get() ? RenderShape.MODEL : RenderShape.INVISIBLE;
|
||||
}
|
||||
}
|
||||
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
package thedarkcolour.exdeorum.blockentity;
|
||||
|
||||
import com.mojang.serialization.codecs.EitherMapCodec;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
|
@ -33,6 +32,7 @@ import net.minecraft.world.item.Items;
|
|||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.SaplingBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityTicker;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
@ -210,6 +210,19 @@ public abstract class AbstractCrucibleBlockEntity extends EBlockEntity {
|
|||
overrides.put(EItems.MYCELIUM_SPORES.get(), Blocks.MYCELIUM);
|
||||
overrides.put(EItems.WARPED_NYLIUM_SPORES.get(), Blocks.WARPED_NYLIUM);
|
||||
overrides.put(EItems.CRIMSON_NYLIUM_SPORES.get(), Blocks.WARPED_NYLIUM);
|
||||
|
||||
for (var sapling : ForgeRegistries.BLOCKS.getEntries()) {
|
||||
var key = sapling.getKey().location();
|
||||
|
||||
if (key.getPath().endsWith("sapling")) {
|
||||
try {
|
||||
var item = sapling.getValue().asItem();
|
||||
ForgeRegistries.BLOCKS.getValue(new ResourceLocation(key.getNamespace(), key.getPath().replace("sapling", "leaves")));
|
||||
overrides.put(item, Blocks.OAK_LEAVES);
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class FluidHandler extends FluidTank {
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ public class CompostColors {
|
|||
|
||||
if (!readMods.contains(modid)) {
|
||||
var id = entry.getKey().location().getPath();
|
||||
var jarFile = ModList.get().getModFileById(ExDeorum.ID).getFile();
|
||||
var jarFile = ModList.get().getModFileById(modid).getFile();
|
||||
var modelPath = jarFile.findResource("assets/" + modid + "/models/item/" + id + ".json");
|
||||
|
||||
if (Files.exists(modelPath)) {
|
||||
|
|
@ -180,7 +180,8 @@ public class CompostColors {
|
|||
|
||||
for (int x = 0; x < width; x++) {
|
||||
for (int y = 0; y < height; y++) {
|
||||
int pixel = img.getRGB(x, y);if (pixel != 0) {
|
||||
int pixel = img.getRGB(x, y);
|
||||
if (pixel != 0) {
|
||||
totalR += (pixel >> 16) & 0xff;
|
||||
totalG += (pixel >> 8) & 0xff;
|
||||
totalB += (pixel) & 0xff;
|
||||
|
|
|
|||
|
|
@ -46,13 +46,10 @@ import net.minecraft.world.level.block.Blocks;
|
|||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.levelgen.LegacyRandomSource;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import net.minecraftforge.client.ChunkRenderTypeSet;
|
||||
import net.minecraftforge.client.extensions.common.IClientFluidTypeExtensions;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
import net.minecraftforge.fml.unsafe.UnsafeHacks;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import org.joml.Vector3f;
|
||||
import sun.misc.Unsafe;
|
||||
import thedarkcolour.exdeorum.ExDeorum;
|
||||
import thedarkcolour.exdeorum.client.ter.SieveRenderer;
|
||||
|
||||
|
|
@ -81,22 +78,16 @@ public class RenderUtil {
|
|||
@Override
|
||||
public TextureAtlasSprite load(Block key) {
|
||||
var registryName = ForgeRegistries.BLOCKS.getKey(key);
|
||||
var textureLoc = registryName.withPrefix("block/");
|
||||
var sprite = blockAtlas.getSprite(textureLoc);
|
||||
var blockLoc = registryName.withPrefix("block/");
|
||||
var sprite = blockAtlas.getSprite(blockLoc);
|
||||
// for stuff like azalea bush, retry to get the top texture
|
||||
if (isMissingTexture(sprite)) {
|
||||
textureLoc = new ResourceLocation(registryName.getNamespace(), "block/" + registryName.getPath() + "_top");
|
||||
sprite = blockAtlas.getSprite(textureLoc);
|
||||
blockLoc = new ResourceLocation(registryName.getNamespace(), "block/" + registryName.getPath() + "_top");
|
||||
sprite = blockAtlas.getSprite(blockLoc);
|
||||
}
|
||||
return sprite;
|
||||
}
|
||||
});
|
||||
|
||||
// shut up Forge
|
||||
//var set = UnsafeHacks.newInstance(ChunkRenderTypeSet.class);
|
||||
//try {
|
||||
// UnsafeHacks.setField(ChunkRenderTypeSet.class.getDeclaredField("bits"), set, );
|
||||
//} catch (NoSuchFieldException e) {}
|
||||
}
|
||||
|
||||
public static BakedModel getMimicModel(BlockState state) {
|
||||
|
|
@ -184,4 +175,8 @@ public class RenderUtil {
|
|||
public static ShaderInstance getRenderTypeTintedCutoutMippedShader() {
|
||||
return renderTypeTintedCutoutMippedShader;
|
||||
}
|
||||
|
||||
public static int getFluidColor(Fluid fluid, Level level, BlockPos pos) {
|
||||
return IClientFluidTypeExtensions.of(fluid).getTintColor(fluid.defaultFluidState(), level, pos);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ public class BarrelRenderer implements BlockEntityRenderer<BarrelBlockEntity> {
|
|||
var pos = barrel.getBlockPos();
|
||||
var percentage = fluidStack.getAmount() / 1000.0f;
|
||||
var y = Mth.lerp(percentage, 1.0f, 14.0f) / 16f;
|
||||
var col = IClientFluidTypeExtensions.of(fluid).getTintColor(fluidStack);
|
||||
var col = RenderUtil.getFluidColor(fluid, level, pos);
|
||||
// Split into RGB components
|
||||
var r = (col >> 16) & 0xff;
|
||||
var g = (col >> 8) & 0xff;
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@ public class CrucibleRenderer implements BlockEntityRenderer<AbstractCrucibleBlo
|
|||
@Override
|
||||
public void render(AbstractCrucibleBlockEntity crucible, float partialTicks, PoseStack stack, MultiBufferSource buffers, int light, int overlay) {
|
||||
crucible.getCapability(ForgeCapabilities.FLUID_HANDLER).ifPresent(tank -> {
|
||||
var level = crucible.getLevel();
|
||||
if (level == null) return;
|
||||
|
||||
var fluidStack = tank.getFluidInTank(0);
|
||||
|
||||
// These are percentages
|
||||
|
|
@ -39,12 +42,11 @@ public class CrucibleRenderer implements BlockEntityRenderer<AbstractCrucibleBlo
|
|||
var liquid = (float) fluidStack.getAmount() / (float) tank.getTankCapacity(0);
|
||||
|
||||
if (solids != 0 || liquid != 0) {
|
||||
var level = crucible.getLevel();
|
||||
var pos = crucible.getBlockPos();
|
||||
|
||||
if (liquid != 0) {
|
||||
var fluid = fluidStack.getFluid();
|
||||
var color = IClientFluidTypeExtensions.of(fluid).getTintColor(fluid.defaultFluidState(), level, pos);
|
||||
var color = RenderUtil.getFluidColor(fluid, level, pos);
|
||||
float y = Mth.lerp(liquid, 4.0f, 14.0f) / 16f;
|
||||
|
||||
RenderUtil.renderFlatFluidSprite(buffers, stack, level, pos, y, 2.0f, light, (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff, fluid);
|
||||
|
|
|
|||
24
src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
Normal file
24
src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/*
|
||||
* Ex Deorum
|
||||
* Copyright (c) 2023 thedarkcolour
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package thedarkcolour.exdeorum.compat;
|
||||
|
||||
public class ModIds {
|
||||
public static final String THERMAL_FOUNDATION = "thermalfoundation";
|
||||
public static final String THE_ONE_PROBE = "theoneprobe";
|
||||
}
|
||||
|
|
@ -49,8 +49,8 @@ public class BarrelMixingCategory implements IRecipeCategory<BarrelMixingRecipe>
|
|||
this.slot = helper.getSlotDrawable();
|
||||
this.plus = plus;
|
||||
this.arrow = arrow;
|
||||
this.icon = helper.createDrawableItemStack(new ItemStack(EBlocks.OAK_BARREL.get()));
|
||||
this.title = Component.literal(TranslationKeys.BARREL_MIXING_CATEGORY_TITLE);
|
||||
this.icon = helper.createDrawableItemStack(new ItemStack(EBlocks.STONE_BARREL.get()));
|
||||
this.title = Component.translatable(TranslationKeys.BARREL_MIXING_CATEGORY_TITLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -50,6 +50,19 @@ public class EConfig {
|
|||
public final DoubleValue barrelProgressStep;
|
||||
public final BooleanValue witchWaterNetherrackGenerator;
|
||||
|
||||
// todo preferred ores
|
||||
//public final ConfigValue<ResourceLocation> preferredAluminumOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredSilverOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredLeadOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredNickelOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredUraniumOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredOsmiumOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredTinOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredZincOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredCobaltOre;
|
||||
//public final ConfigValue<ResourceLocation> preferredIridiumOre;
|
||||
|
||||
|
||||
public Server(ForgeConfigSpec.Builder builder) {
|
||||
builder.comment("Server configuration for Ex Deorum").push("server");
|
||||
|
||||
|
|
@ -64,11 +77,19 @@ public class EConfig {
|
|||
.define("simultaneous_sieve_usage", true);
|
||||
this.barrelProgressStep = builder
|
||||
.comment("The progress to increment by each tick for barrel composting and witch water transformation.")
|
||||
.defineInRange("barrel_progress_step", 0.004f, 0.0f, 1.0f);
|
||||
.defineInRange("barrel_progress_step", 0.004, 0.0f, 1.0f);
|
||||
this.witchWaterNetherrackGenerator = builder
|
||||
.comment("Whether Witch Water forms netherrack when lava flows into it, allowing for a netherrack version of a cobblestone generator.")
|
||||
.define("witch_water_netherrack_generator", true);
|
||||
|
||||
// Preferred ore items
|
||||
//builder.push("preferred_tag_items");
|
||||
|
||||
//this.preferredTinOre = builder
|
||||
// .comment("The ID of the item to use for Ex Deorum recipes that craft into tin ore.")
|
||||
// .define("preferred_tin_ore", (ResourceLocation) null);
|
||||
|
||||
//builder.pop();
|
||||
builder.pop();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,22 +26,29 @@ import net.minecraft.tags.FluidTags;
|
|||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.levelgen.presets.WorldPreset;
|
||||
import net.minecraft.world.level.levelgen.structure.BuiltinStructureSets;
|
||||
import net.minecraft.world.level.levelgen.structure.StructureSet;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import net.minecraftforge.common.Tags;
|
||||
import thedarkcolour.exdeorum.ExDeorum;
|
||||
import thedarkcolour.exdeorum.block.EBlock;
|
||||
import thedarkcolour.exdeorum.registry.EBlocks;
|
||||
import thedarkcolour.exdeorum.registry.EFluids;
|
||||
import thedarkcolour.exdeorum.registry.EItems;
|
||||
import thedarkcolour.exdeorum.tag.EBlockTags;
|
||||
import thedarkcolour.exdeorum.tag.EItemTags;
|
||||
import thedarkcolour.exdeorum.tag.EStructureSetTags;
|
||||
import thedarkcolour.modkit.data.MKTagsProvider;
|
||||
|
||||
class ModTags {
|
||||
public static void createBlockTags(MKTagsProvider<Block> tags) {
|
||||
tags.tag(EBlockTags.WATERING_CAN_TICKABLE).add(Blocks.GRASS_BLOCK, Blocks.MYCELIUM, Blocks.CRIMSON_FUNGUS, Blocks.WARPED_FUNGUS, Blocks.RED_MUSHROOM, Blocks.BROWN_MUSHROOM, Blocks.CACTUS, Blocks.SUGAR_CANE, Blocks.SWEET_BERRY_BUSH, Blocks.COCOA).addTags(BlockTags.SAPLINGS, BlockTags.NYLIUM, BlockTags.BEE_GROWABLES);
|
||||
|
||||
tags.tag(BlockTags.MINEABLE_WITH_AXE).add(EBlocks.OAK_BARREL.get(), EBlocks.SPRUCE_BARREL.get(), EBlocks.BIRCH_BARREL.get(), EBlocks.JUNGLE_BARREL.get(), EBlocks.ACACIA_BARREL.get(), EBlocks.DARK_OAK_BARREL.get(), EBlocks.MANGROVE_BARREL.get(), EBlocks.CHERRY_BARREL.get(), EBlocks.BAMBOO_BARREL.get(), EBlocks.CRIMSON_BARREL.get(), EBlocks.WARPED_BARREL.get(), EBlocks.OAK_SIEVE.get(), EBlocks.SPRUCE_SIEVE.get(), EBlocks.BIRCH_SIEVE.get(), EBlocks.JUNGLE_SIEVE.get(), EBlocks.ACACIA_SIEVE.get(), EBlocks.DARK_OAK_SIEVE.get(), EBlocks.MANGROVE_SIEVE.get(), EBlocks.CHERRY_SIEVE.get(), EBlocks.BAMBOO_SIEVE.get(), EBlocks.CRIMSON_SIEVE.get(), EBlocks.WARPED_SIEVE.get(), EBlocks.WARPED_CRUCIBLE.get(), EBlocks.CRIMSON_CRUCIBLE.get(), EBlocks.OAK_CRUCIBLE.get(), EBlocks.SPRUCE_CRUCIBLE.get(), EBlocks.BIRCH_CRUCIBLE.get(), EBlocks.JUNGLE_CRUCIBLE.get(), EBlocks.ACACIA_CRUCIBLE.get(), EBlocks.DARK_OAK_CRUCIBLE.get(), EBlocks.MANGROVE_CRUCIBLE.get(), EBlocks.CHERRY_CRUCIBLE.get(), EBlocks.BAMBOO_CRUCIBLE.get());
|
||||
tags.tag(BlockTags.MINEABLE_WITH_PICKAXE).add(EBlocks.STONE_BARREL, EBlocks.PORCELAIN_CRUCIBLE, EBlocks.UNFIRED_PORCELAIN_CRUCIBLE);
|
||||
tags.tag(BlockTags.MINEABLE_WITH_SHOVEL).add(EBlocks.DUST, EBlocks.CRUSHED_NETHERRACK, EBlocks.CRUSHED_END_STONE, EBlocks.CRUSHED_DEEPSLATE, EBlocks.CRUSHED_BLACKSTONE);
|
||||
tags.tag(BlockTags.MINEABLE_WITH_HOE).add(EBlocks.INFESTED_LEAVES);
|
||||
tags.tag(BlockTags.LEAVES).add(EBlocks.INFESTED_LEAVES);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -838,6 +838,7 @@ class Recipes {
|
|||
addDrop.accept(Items.GLOW_BERRIES, chance(0.04f + j * 0.075f));
|
||||
addDrop.accept(Items.SMALL_DRIPLEAF, chance(0.07f + j * 0.025f));
|
||||
addDrop.accept(Items.BIG_DRIPLEAF, chance(0.05f + j * 0.02f));
|
||||
addDrop.accept(Items.SPORE_BLOSSOM, chance(0.03f + j * 0.015f));
|
||||
});
|
||||
}
|
||||
forMesh(writer, ingredient(Items.MOSS_BLOCK), EItems.FLINT_MESH, addDrop -> {
|
||||
|
|
@ -864,27 +865,34 @@ class Recipes {
|
|||
lavaCrucible(writer, "cobblestone", ingredient(Tags.Items.COBBLESTONE), 250);
|
||||
lavaCrucible(writer, "stone", ingredient(Tags.Items.STONE), 250);
|
||||
lavaCrucible(writer, "gravel", ingredient(Tags.Items.GRAVEL), 250);
|
||||
lavaCrucible(writer, "netherrack", ingredient(Tags.Items.NETHERRACK), 1000);
|
||||
|
||||
waterCrucible(writer, "sweet_berries", ingredient(Items.SWEET_BERRIES, Items.GLOW_BERRIES), 50);
|
||||
waterCrucible(writer, "melon_slice", ingredient(Items.MELON_SLICE), 50);
|
||||
lavaCrucible(writer, "netherrack", ingredient(Tags.Items.NETHERRACK), 500);
|
||||
|
||||
waterCrucible(writer, "saplings", ingredient(ItemTags.SAPLINGS), 100);
|
||||
waterCrucible(writer, "leaves", ingredient(ItemTags.LEAVES), 250);
|
||||
waterCrucible(writer, "small_flowers", ingredient(ItemTags.SMALL_FLOWERS), 100);
|
||||
waterCrucible(writer, "apple", ingredient(Items.APPLE), 100);
|
||||
|
||||
waterCrucible(writer, "tall_flowers", ingredient(ItemTags.TALL_FLOWERS), 200);
|
||||
|
||||
waterCrucible(writer, "mushrooms", ingredient(Tags.Items.MUSHROOMS), 100);
|
||||
waterCrucible(writer, "lily_pad", ingredient(Items.LILY_PAD), 150);
|
||||
waterCrucible(writer, "sugar_cane", ingredient(Items.SUGAR_CANE), 100);
|
||||
waterCrucible(writer, "vine", ingredient(Items.VINE), 100);
|
||||
waterCrucible(writer, "seeds_and_spores", SPORES_AND_SEEDS, 50);
|
||||
waterCrucible(writer, "seeds", ingredient(Tags.Items.SEEDS), 50);
|
||||
waterCrucible(writer, "grass", ingredient(Items.GRASS, Items.TALL_GRASS), 100);
|
||||
waterCrucible(writer, "grass_block", ingredient(Items.GRASS_BLOCK), 150);
|
||||
waterCrucible(writer, "sweet_berries", ingredient(Items.SWEET_BERRIES, Items.GLOW_BERRIES), 50);
|
||||
waterCrucible(writer, "melon_slice", ingredient(Items.MELON_SLICE), 50);
|
||||
waterCrucible(writer, "potato", ingredient(Items.POTATO), 100);
|
||||
waterCrucible(writer, "carrot", ingredient(Items.CARROT), 100);
|
||||
waterCrucible(writer, "beetroot", ingredient(Items.BEETROOT), 100);
|
||||
waterCrucible(writer, "apple", ingredient(Items.APPLE), 100);
|
||||
waterCrucible(writer, "cactus", ingredient(Items.CACTUS), 250);
|
||||
waterCrucible(writer, "pumpkin", ingredient(Items.PUMPKIN), 250);
|
||||
waterCrucible(writer, "melon", ingredient(Items.MELON), 250);
|
||||
waterCrucible(writer, "leaves", ingredient(ItemTags.LEAVES), 250);
|
||||
waterCrucible(writer, "lily_pad", ingredient(Items.LILY_PAD), 100);
|
||||
|
||||
waterCrucible(writer, "seagrass", ingredient(Items.SEAGRASS), 100);
|
||||
waterCrucible(writer, "sea_pickle", ingredient(Items.SEA_PICKLE), 200);
|
||||
waterCrucible(writer, "moss", ingredient(Items.MOSS_BLOCK), 150);
|
||||
waterCrucible(writer, "moss_carpet", ingredient(Items.MOSS_CARPET), 100);
|
||||
|
||||
waterCrucible(writer, "seeds_and_spores", SPORES_AND_SEEDS, 100);
|
||||
waterCrucible(writer, "spore_blossom", ingredient(Items.SPORE_BLOSSOM), 150);
|
||||
}
|
||||
|
||||
private static void lavaCrucible(Consumer<FinishedRecipe> writer, String id, Ingredient ingredient, int volume) {
|
||||
|
|
@ -961,12 +969,23 @@ class Recipes {
|
|||
barrelCompost(writer, "moss_block", ingredient(Items.MOSS_BLOCK), 150);
|
||||
barrelCompost(writer, "moss_carpet", ingredient(Items.MOSS_CARPET), 100);
|
||||
barrelCompost(writer, "spores_and_seeds", SPORES_AND_SEEDS, 80);
|
||||
barrelCompost(writer, "bamboo", ingredient(Items.BAMBOO), 100);
|
||||
barrelCompost(writer, "cactus", ingredient(Items.CACTUS), 125);
|
||||
barrelCompost(writer, "dead_bush", ingredient(Items.DEAD_BUSH), 80);
|
||||
barrelCompost(writer, "chorus_flower", ingredient(Items.CHORUS_FLOWER), 150);
|
||||
barrelCompost(writer, "chorus_fruit", ingredient(Items.CHORUS_FRUIT), 80);
|
||||
barrelCompost(writer, "chorus_plant", ingredient(Items.CHORUS_PLANT), 150);
|
||||
barrelCompost(writer, "kelp", ingredient(Items.KELP, Items.DRIED_KELP), 80);
|
||||
barrelCompost(writer, "sea_pickle", ingredient(Items.SEA_PICKLE), 80);
|
||||
barrelCompost(writer, "spore_blossom", ingredient(Items.SPORE_BLOSSOM), 125);
|
||||
barrelCompost(writer, "weeping_vines", ingredient(Items.WEEPING_VINES), 100);
|
||||
barrelCompost(writer, "twisting_vines", ingredient(Items.TWISTING_VINES), 100);
|
||||
// flesh
|
||||
barrelCompost(writer, "rotten_flesh", ingredient(Items.ROTTEN_FLESH), 100);
|
||||
barrelCompost(writer, "spider_eye", ingredient(Items.SPIDER_EYE), 80);
|
||||
barrelCompost(writer, "fermented_spider_eye", ingredient(Items.FERMENTED_SPIDER_EYE), 100);
|
||||
barrelCompost(writer, "string", ingredient(Items.STRING), 40);
|
||||
barrelCompost(writer, "rabbit_foot", ingredient(Items.RABBIT_FOOT), 40);
|
||||
barrelCompost(writer, "rabbit_foot", ingredient(Items.RABBIT_FOOT), 100);
|
||||
// meats
|
||||
barrelCompost(writer, "pork", ingredient(Items.PORKCHOP, Items.COOKED_PORKCHOP), 150);
|
||||
barrelCompost(writer, "beef", ingredient(Items.BEEF, Items.COOKED_BEEF), 150);
|
||||
|
|
@ -980,7 +999,6 @@ class Recipes {
|
|||
barrelCompost(writer, "egg", ingredient(Items.EGG), 100);
|
||||
// foods
|
||||
barrelCompost(writer, "melon_slice", ingredient(Items.MELON_SLICE), 40);
|
||||
barrelCompost(writer, "kelp", ingredient(Items.KELP, Items.DRIED_KELP), 40);
|
||||
barrelCompost(writer, "silk_worms", ingredient(EItems.SILK_WORM.get(), EItems.COOKED_SILK_WORM.get()), 40);
|
||||
barrelCompost(writer, "apple", ingredient(Items.APPLE), 100);
|
||||
barrelCompost(writer, "cookie", ingredient(Items.COOKIE), 100);
|
||||
|
|
|
|||
|
|
@ -42,13 +42,13 @@ import net.minecraftforge.common.MinecraftForge;
|
|||
import net.minecraftforge.event.AddReloadListenerEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||
import net.minecraftforge.event.level.LevelEvent;
|
||||
import net.minecraftforge.eventbus.api.Event;
|
||||
import net.minecraftforge.fluids.FluidInteractionRegistry;
|
||||
import net.minecraftforge.fml.InterModComms;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import thedarkcolour.exdeorum.ExDeorum;
|
||||
import thedarkcolour.exdeorum.compat.ModIds;
|
||||
import thedarkcolour.exdeorum.config.EConfig;
|
||||
import thedarkcolour.exdeorum.item.WateringCanItem;
|
||||
import thedarkcolour.exdeorum.recipe.RecipeUtil;
|
||||
|
|
@ -114,7 +114,7 @@ public final class EventHandler {
|
|||
private static void onCommonSetup(FMLCommonSetupEvent event) {
|
||||
event.enqueueWork(() -> {
|
||||
FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation(
|
||||
ForgeMod.WATER_TYPE.get(),
|
||||
EFluids.WITCH_WATER_TYPE.get(),
|
||||
fluidState -> fluidState.isSource() ? Blocks.OBSIDIAN.defaultBlockState() : (EConfig.SERVER.witchWaterNetherrackGenerator.get() ? Blocks.NETHERRACK.defaultBlockState() : Blocks.COBBLESTONE.defaultBlockState())
|
||||
));
|
||||
});
|
||||
|
|
@ -125,19 +125,17 @@ public final class EventHandler {
|
|||
if (player.serverLevel().getChunkSource().getGenerator() instanceof VoidChunkGenerator) {
|
||||
NetworkHandler.sendVoidWorld(player);
|
||||
var advancement = player.server.getAdvancements().getAdvancement(new ResourceLocation(ExDeorum.ID, "core/root"));
|
||||
if (advancement != null) {
|
||||
player.getAdvancements().award(advancement, "in_void_world");
|
||||
} else {
|
||||
ExDeorum.LOGGER.error("Unable to grant player the Void World advancement. Ex Nihilo Reborn advancements will not show");
|
||||
}
|
||||
|
||||
if (player.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS)) == 0 && player.tickCount == 0) {
|
||||
if (advancement != null && !player.getAdvancements().getOrStartProgress(advancement).isDone()) {
|
||||
player.getAdvancements().award(advancement, "in_void_world");
|
||||
if (EConfig.SERVER.startingTorch.get()) {
|
||||
player.getInventory().add(new ItemStack(Items.TORCH));
|
||||
}
|
||||
if (EConfig.SERVER.startingWateringCan.get()) {
|
||||
player.getInventory().add(WateringCanItem.getFull(EItems.WOODEN_WATERING_CAN));
|
||||
}
|
||||
} else {
|
||||
ExDeorum.LOGGER.error("Unable to grant player the Void World advancement. Ex Nihilo Reborn advancements will not show");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -145,7 +143,7 @@ public final class EventHandler {
|
|||
|
||||
// Send messages to other mods
|
||||
public static void interModEnqueue(InterModEnqueueEvent event) {
|
||||
InterModComms.sendTo("theoneprobe", "getTheOneProbe", ExDeorumTopCompat::new);
|
||||
InterModComms.sendTo(ModIds.THE_ONE_PROBE, "getTheOneProbe", ExDeorumTopCompat::new);
|
||||
}
|
||||
|
||||
private static void addReloadListeners(AddReloadListenerEvent event) {
|
||||
|
|
|
|||
|
|
@ -49,11 +49,14 @@ public class SculkCoreItem extends Item {
|
|||
}
|
||||
level.setBlock(pos, state.setValue(SculkShriekerBlock.CAN_SUMMON, true), 3);
|
||||
} else {
|
||||
var rand = level.random;
|
||||
for (int i = 0; i < 10; i++) {
|
||||
int j = i * 36;
|
||||
double radians = Math.toRadians(j);
|
||||
level.addParticle(ParticleTypes.PORTAL, pos.getX() + 0.5, pos.getY() + 0.5625, pos.getZ() + 0.5,
|
||||
Math.cos(radians) * 0.15, 0.15, Math.sin(radians) * 0.15);
|
||||
for (int k = 0; k < 3; k++) {
|
||||
level.addParticle(ParticleTypes.PORTAL, pos.getX() + 0.5 + 0.3 * (-0.5 + rand.nextFloat()), pos.getY() + 0.5625, pos.getZ() + 0.5 + 0.3 * (-0.5 + rand.nextFloat()),
|
||||
Math.cos(radians) * 0.15, 0.15, Math.sin(radians) * 0.15);
|
||||
}
|
||||
}
|
||||
}
|
||||
level.playSound(null, pos, SoundEvents.SCULK_SHRIEKER_SHRIEK, SoundSource.BLOCKS, 1.0f, 1.0f);
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ import net.minecraft.world.level.block.BucketPickup;
|
|||
import net.minecraft.world.level.block.FarmBlock;
|
||||
import net.minecraft.world.level.block.LevelEvent;
|
||||
import net.minecraft.world.level.block.SpreadingSnowyDirtBlock;
|
||||
import net.minecraft.world.level.block.SugarCaneBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.material.Fluids;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
|
|
@ -61,7 +62,9 @@ import net.minecraftforge.fluids.capability.IFluidHandler;
|
|||
import net.minecraftforge.fluids.capability.templates.FluidHandlerItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import thedarkcolour.exdeorum.blockentity.BarrelBlockEntity;
|
||||
import thedarkcolour.exdeorum.data.TranslationKeys;
|
||||
import thedarkcolour.exdeorum.tag.EBlockTags;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
|
@ -222,17 +225,29 @@ public class WateringCanItem extends Item {
|
|||
}
|
||||
|
||||
protected void tryWatering(ServerLevel level, BlockPos pos, BlockState state) {
|
||||
if (state.is(BlockTags.SAPLINGS)) {
|
||||
if (level.random.nextInt(3) == 0) {
|
||||
if (state.is(EBlockTags.WATERING_CAN_TICKABLE)) {
|
||||
if (state.is(BlockTags.SAPLINGS)) {
|
||||
if (level.random.nextInt(3) == 0) {
|
||||
state.randomTick(level, pos, level.random);
|
||||
level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, pos, 0);
|
||||
}
|
||||
} else if (state.getBlock() instanceof SugarCaneBlock block) {
|
||||
var cursor = pos.mutable();
|
||||
while (level.isInWorldBounds(cursor.move(0, 1, 0)) && level.getBlockState(cursor).getBlock() == block) {
|
||||
// just keep looping
|
||||
}
|
||||
// randomTick only works on the top sugarcane block
|
||||
var topState = level.getBlockState(cursor.move(0, -1, 0));
|
||||
topState.randomTick(level, cursor, level.random);
|
||||
} else {
|
||||
state.randomTick(level, pos, level.random);
|
||||
level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, pos, 0);
|
||||
}
|
||||
} else if (state.is(BlockTags.CROPS) || state.getBlock() instanceof SpreadingSnowyDirtBlock) {
|
||||
state.randomTick(level, pos, level.random);
|
||||
} else if (state.getBlock() == Blocks.LAVA) {
|
||||
level.levelEvent(LevelEvent.LAVA_FIZZ, pos, 0);
|
||||
} else if (state.getBlock() == Blocks.FARMLAND) {
|
||||
hydrateFarmland(level, pos, state);
|
||||
} else {
|
||||
if (BarrelBlockEntity.isHotFluid(state.getFluidState().getFluidType())) {
|
||||
level.levelEvent(LevelEvent.LAVA_FIZZ, pos, 0);
|
||||
} else if (state.getBlock() == Blocks.FARMLAND) {
|
||||
hydrateFarmland(level, pos, state);
|
||||
}
|
||||
}
|
||||
var below = pos.below();
|
||||
var belowState = level.getBlockState(below);
|
||||
|
|
|
|||
104
src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java
Normal file
104
src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* Ex Deorum
|
||||
* Copyright (c) 2023 thedarkcolour
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package thedarkcolour.exdeorum.recipe;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.Container;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.Recipe;
|
||||
import net.minecraft.world.item.crafting.RecipeSerializer;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import net.minecraft.world.level.Level;
|
||||
import org.apache.http.impl.client.StandardHttpRequestRetryHandler;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import thedarkcolour.exdeorum.registry.ERecipeSerializers;
|
||||
import thedarkcolour.exdeorum.registry.ERecipeTypes;
|
||||
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
public class TagResultRecipe implements Recipe<Container> {
|
||||
private final ResourceLocation id;
|
||||
private final Recipe<Container> wrapped;
|
||||
private final TagKey<Item> result;
|
||||
|
||||
public TagResultRecipe(ResourceLocation id, Recipe wrapped, TagKey<Item> result) {
|
||||
this.id = id;
|
||||
this.wrapped = wrapped;
|
||||
this.result = result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(Container container, Level level) {
|
||||
return this.wrapped.matches(container, level);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack assemble(Container container, RegistryAccess access) {
|
||||
access.registryOrThrow(Registries.ITEM).getTag(result);
|
||||
throw new UnsupportedOperationException("TagResultRecipe#assemble");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCraftInDimensions(int width, int height) {
|
||||
return this.wrapped.canCraftInDimensions(width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getResultItem(RegistryAccess access) {
|
||||
throw new UnsupportedOperationException("TagResultRecipe#getResultItem");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecipeSerializer<?> getSerializer() {
|
||||
return ERecipeSerializers.TAG_RESULT.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecipeType<?> getType() {
|
||||
return ERecipeTypes.TAG_RESULT.get();
|
||||
}
|
||||
|
||||
public static class Serializer implements RecipeSerializer<TagResultRecipe> {
|
||||
@Override
|
||||
public TagResultRecipe fromJson(ResourceLocation id, JsonObject json) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable TagResultRecipe fromNetwork(ResourceLocation id, FriendlyByteBuf buffer) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toNetwork(FriendlyByteBuf buffer, TagResultRecipe recipe) {
|
||||
((RecipeSerializer) recipe.wrapped.getSerializer()).toNetwork(buffer, recipe.wrapped);
|
||||
//buffer.writeResourceLocation(recipe.tag.location());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -21,9 +21,11 @@ package thedarkcolour.exdeorum.registry;
|
|||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.FallingBlock;
|
||||
import net.minecraft.world.level.block.LiquidBlock;
|
||||
import net.minecraft.world.level.block.SoundType;
|
||||
import net.minecraft.world.level.material.MapColor;
|
||||
import net.minecraft.world.level.material.PushReaction;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
|
@ -43,11 +45,11 @@ public class EBlocks {
|
|||
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, ExDeorum.ID);
|
||||
|
||||
// Materials
|
||||
public static final RegistryObject<Block> DUST = BLOCKS.register("dust", () -> new Block(of().sound(SoundType.SAND).strength(0.4f)));
|
||||
public static final RegistryObject<Block> CRUSHED_NETHERRACK = BLOCKS.register("crushed_netherrack", () -> new Block(of().mapColor(MapColor.NETHER).sound(SoundType.SAND).strength(0.6f)));
|
||||
public static final RegistryObject<Block> CRUSHED_END_STONE = BLOCKS.register("crushed_end_stone", () -> new Block(of().mapColor(MapColor.SAND).sound(SoundType.SAND).strength(0.6f)));
|
||||
public static final RegistryObject<Block> CRUSHED_DEEPSLATE = BLOCKS.register("crushed_deepslate", () -> new Block(of().mapColor(DyeColor.GRAY).sound(SoundType.SAND).strength(0.8f)));
|
||||
public static final RegistryObject<Block> CRUSHED_BLACKSTONE = BLOCKS.register("crushed_blackstone", () -> new Block(of().mapColor(DyeColor.BLACK).sound(SoundType.SAND).strength(0.6f)));
|
||||
public static final RegistryObject<Block> DUST = BLOCKS.register("dust", () -> new FallingBlock(of().sound(SoundType.SAND).strength(0.4f)));
|
||||
public static final RegistryObject<Block> CRUSHED_NETHERRACK = BLOCKS.register("crushed_netherrack", () -> new FallingBlock(of().mapColor(MapColor.NETHER).sound(SoundType.SAND).strength(0.6f)));
|
||||
public static final RegistryObject<Block> CRUSHED_END_STONE = BLOCKS.register("crushed_end_stone", () -> new FallingBlock(of().mapColor(MapColor.SAND).sound(SoundType.SAND).strength(0.6f)));
|
||||
public static final RegistryObject<Block> CRUSHED_DEEPSLATE = BLOCKS.register("crushed_deepslate", () -> new FallingBlock(of().mapColor(DyeColor.GRAY).sound(SoundType.SAND).strength(0.8f)));
|
||||
public static final RegistryObject<Block> CRUSHED_BLACKSTONE = BLOCKS.register("crushed_blackstone", () -> new FallingBlock(of().mapColor(DyeColor.BLACK).sound(SoundType.SAND).strength(0.6f)));
|
||||
|
||||
// Barrels
|
||||
public static final RegistryObject<BarrelBlock> OAK_BARREL = registerBarrel("oak_barrel", false, false, MapColor.WOOD);
|
||||
|
|
@ -96,15 +98,17 @@ public class EBlocks {
|
|||
// Misc
|
||||
public static final RegistryObject<InfestedLeavesBlock> INFESTED_LEAVES = BLOCKS.register("infested_leaves", () -> new InfestedLeavesBlock(copy(Blocks.OAK_LEAVES)));
|
||||
public static final RegistryObject<LiquidBlock> WITCH_WATER = BLOCKS.register("witch_water", () -> new LiquidBlock(EFluids.WITCH_WATER, copy(Blocks.WATER).mapColor(MapColor.COLOR_PURPLE)));
|
||||
public static final RegistryObject<EndCakeBlock> END_CAKE = BLOCKS.register("end_cake", () -> new EndCakeBlock(of().noLootTable().mapColor(MapColor.COLOR_BLACK)));
|
||||
public static final RegistryObject<EndCakeBlock> END_CAKE = BLOCKS.register("end_cake", () -> new EndCakeBlock(of().noLootTable().mapColor(MapColor.COLOR_BLACK).forceSolidOn().strength(0.5F).sound(SoundType.WOOL).pushReaction(PushReaction.BLOCK)));
|
||||
|
||||
public static RegistryObject<SieveBlock> registerSieve(String name) {
|
||||
return BLOCKS.register(name, () -> new SieveBlock(of().strength(2.0f).noOcclusion().sound(SoundType.WOOD)));
|
||||
var bamboo = name.equals("bamboo_sieve");
|
||||
return BLOCKS.register(name, () -> new SieveBlock(of().strength(2.0f).noOcclusion().sound(bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD)));
|
||||
}
|
||||
|
||||
public static RegistryObject<BarrelBlock> registerBarrel(String name, boolean stone, boolean fireproof, MapColor color) {
|
||||
var bamboo = name.equals("bamboo_barrel");
|
||||
return BLOCKS.register(name, () -> {
|
||||
var props = of().noOcclusion().strength(stone ? 4.0f : 2.0f).sound(stone ? SoundType.STONE : SoundType.WOOD);
|
||||
var props = of().noOcclusion().strength(stone ? 4.0f : 2.0f).sound(stone ? SoundType.STONE : (bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD));
|
||||
if (!stone) {
|
||||
if (!fireproof) {
|
||||
props.ignitedByLava();
|
||||
|
|
@ -128,6 +132,7 @@ public class EBlocks {
|
|||
}
|
||||
|
||||
public static RegistryObject<WaterCrucibleBlock> registerWaterCrucible(String name) {
|
||||
return BLOCKS.register(name, () -> new WaterCrucibleBlock(of().strength(1.5f).sound(SoundType.WOOD)));
|
||||
var bamboo = name.equals("bamboo_crucible");
|
||||
return BLOCKS.register(name, () -> new WaterCrucibleBlock(of().strength(1.5f).sound(bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD)));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import net.minecraftforge.registries.DeferredRegister;
|
|||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
import thedarkcolour.exdeorum.ExDeorum;
|
||||
import thedarkcolour.exdeorum.recipe.TagResultRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.barrel.BarrelCompostRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.barrel.BarrelMixingRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.crucible.CrucibleRecipe;
|
||||
|
|
@ -41,4 +42,6 @@ public class ERecipeSerializers {
|
|||
public static final RegistryObject<RecipeSerializer<CrucibleRecipe>> WATER_CRUCIBLE = RECIPE_SERIALIZERS.register("water_crucible", () -> new CrucibleRecipe.Serializer(ERecipeTypes.WATER_CRUCIBLE.get()));
|
||||
|
||||
public static final RegistryObject<RecipeSerializer<SieveRecipe>> SIEVE = RECIPE_SERIALIZERS.register("sieve", SieveRecipe.Serializer::new);
|
||||
|
||||
public static final RegistryObject<RecipeSerializer<TagResultRecipe>> TAG_RESULT = RECIPE_SERIALIZERS.register("tag_result", TagResultRecipe.Serializer::new);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,11 +23,13 @@ import net.minecraft.world.item.crafting.RecipeType;
|
|||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
import thedarkcolour.exdeorum.ExDeorum;
|
||||
import thedarkcolour.exdeorum.recipe.TagResultRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.barrel.BarrelCompostRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.barrel.BarrelMixingRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.crucible.CrucibleRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.hammer.HammerRecipe;
|
||||
import thedarkcolour.exdeorum.recipe.sieve.SieveRecipe;
|
||||
import thedarkcolour.exdeorum.voidworld.VoidChunkGenerator;
|
||||
|
||||
public class ERecipeTypes {
|
||||
public static final DeferredRegister<RecipeType<?>> RECIPE_TYPES = DeferredRegister.create(Registries.RECIPE_TYPE, ExDeorum.ID);
|
||||
|
|
@ -41,4 +43,5 @@ public class ERecipeTypes {
|
|||
public static final RegistryObject<RecipeType<HammerRecipe>> HAMMER = RECIPE_TYPES.register("hammer", () -> RecipeType.simple(ERecipeTypes.HAMMER.getId()));
|
||||
|
||||
public static final RegistryObject<RecipeType<SieveRecipe>> SIEVE = RECIPE_TYPES.register("sieve", () -> RecipeType.simple(ERecipeTypes.SIEVE.getId()));
|
||||
public static final RegistryObject<RecipeType<TagResultRecipe>> TAG_RESULT = RECIPE_TYPES.register("tag_result", () -> RecipeType.simple(ERecipeTypes.TAG_RESULT.getId()));
|
||||
}
|
||||
|
|
|
|||
33
src/main/java/thedarkcolour/exdeorum/tag/EBlockTags.java
Normal file
33
src/main/java/thedarkcolour/exdeorum/tag/EBlockTags.java
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* Ex Deorum
|
||||
* Copyright (c) 2023 thedarkcolour
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package thedarkcolour.exdeorum.tag;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import thedarkcolour.exdeorum.ExDeorum;
|
||||
|
||||
public class EBlockTags {
|
||||
public static final TagKey<Block> WATERING_CAN_TICKABLE = tag("watering_can_tickable");
|
||||
|
||||
public static TagKey<Block> tag(String name) {
|
||||
return BlockTags.create(new ResourceLocation(ExDeorum.ID, name));
|
||||
}
|
||||
}
|
||||
BIN
src/main/resources/assets/exdeorum/textures/item/end_cake.png
Normal file
BIN
src/main/resources/assets/exdeorum/textures/item/end_cake.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 372 B |
|
|
@ -46,5 +46,6 @@ class RecipeUtilTest {
|
|||
assertFalse(RecipeUtil.areIngredientsEqual(Ingredient.of(Tags.Items.INGOTS_IRON), Ingredient.of(Tags.Items.GEMS_DIAMOND)));
|
||||
assertTrue(RecipeUtil.areIngredientsEqual(Ingredient.of(Items.OAK_SLAB, Items.SPRUCE_SLAB), Ingredient.of(Items.OAK_SLAB, Items.SPRUCE_SLAB)));
|
||||
assertTrue(RecipeUtil.areIngredientsEqual(Ingredient.of(Items.OAK_SLAB, Items.SPRUCE_SLAB), Ingredient.of(Items.SPRUCE_SLAB, Items.OAK_SLAB)));
|
||||
assertFalse(RecipeUtil.areIngredientsEqual(Ingredient.of(Items.OAK_SLAB, Items.SPRUCE_SLAB), Ingredient.of(Items.SPRUCE_SLAB, Items.OAK_SLAB, Items.OAK_SLAB)));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user