Added more items

Added more items from previous versions, including the Demon Crystal Clusters.
This commit is contained in:
WayofTime 2020-11-02 18:53:48 -05:00
parent 4f46dc150d
commit bacd3d27f2
101 changed files with 3992 additions and 21 deletions

View file

@ -17,7 +17,7 @@ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
org.eclipse.jdt.core.formatter.align_with_spaces=false
org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_additive_operator=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=1
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0

View file

@ -7,6 +7,8 @@ cb435652c27b4978d8db83af2fd531ccaa82ada7 assets/bloodmagic/blockstates/accelerat
904d9baa649250571bce5f965cf48fbec69c2c1a assets/bloodmagic/blockstates/bloodlight.json
5f3898cc4891f85091fe6104800d6c88d9e85e29 assets/bloodmagic/blockstates/bloodstonebrick.json
631b579c38652efbcd9e5771d09ad6e476f3ba00 assets/bloodmagic/blockstates/chargingrune.json
d81673d78195fecd20f55daff394882c1fca18c3 assets/bloodmagic/blockstates/corrosivedemoncrystal.json
5efc11906969389596d32e159d4e973672d5ca56 assets/bloodmagic/blockstates/destructivedemoncrystal.json
6bd58d1d02a40416cec29409dee7ef80038b26d5 assets/bloodmagic/blockstates/dislocationrune.json
ba1cd8a9475212843e3b26232c8a9943fa0d2d20 assets/bloodmagic/blockstates/duskritualstone.json
bb3db171734f511fc0c259d86e869b49aa1d0c77 assets/bloodmagic/blockstates/earthritualstone.json
@ -15,10 +17,13 @@ f78ce2be09ab794bf5f5679414eee0dc85cf4fb1 assets/bloodmagic/blockstates/largebloo
002795212cc7bf2cad2a91f873d85e2204c6367d assets/bloodmagic/blockstates/lightritualstone.json
e1a98bd53fca155e4bbb03c1e548341af0f84bd7 assets/bloodmagic/blockstates/masterritualstone.json
372ecd737f7082a4c2c70e46745f893b1179f885 assets/bloodmagic/blockstates/orbcapacityrune.json
d7a6ec187f6ba493e0cddf61f3b15d77537b1b23 assets/bloodmagic/blockstates/rawdemoncrystal.json
90daa355e528ab8a6582f796951201882f3c56da assets/bloodmagic/blockstates/ritualstone.json
285618c1a8ec36e36d479f577190579ae7616529 assets/bloodmagic/blockstates/sacrificerune.json
b03040d7a168653bf8df3600033b8fde2383db30 assets/bloodmagic/blockstates/selfsacrificerune.json
487ffdc02ab7b65aafcb932e3b5cf6ea0500b21d assets/bloodmagic/blockstates/speedrune.json
52b8ed3cc54b68d5f7927d1f24cfee825b526cc0 assets/bloodmagic/blockstates/steadfastdemoncrystal.json
3333b28d8b7411aa19394519df115c9d112836f5 assets/bloodmagic/blockstates/vengefuldemoncrystal.json
e6d9cf699667aaa47efff37b2b033895dee29c15 assets/bloodmagic/blockstates/waterritualstone.json
3ce8493bdefc034104e5a1496f24f5463cb15c4c assets/bloodmagic/lang/en_us.json
34445195b9f2459475cde53454bc8e37d32865d7 assets/bloodmagic/models/block/accelerationrune.json
@ -30,6 +35,41 @@ adf6c0b1e25451609486dc8c8cfbd9cf0f8c67f4 assets/bloodmagic/models/block/alchemic
3c83e090a1cff00e2bb2c7eb475785954b6eb980 assets/bloodmagic/models/block/bloodlight.json
ae2ff1abd707f2193d04d235de8f0ce92ada1d0f assets/bloodmagic/models/block/bloodstonebrick.json
320827ad2feaa51a90ebb7064a70bdc6d3765203 assets/bloodmagic/models/block/chargingrune.json
17ed7bf0e4e0aba9fc6390c8fa46f02b63145b1c assets/bloodmagic/models/block/crystal/corrosivecrystal1.json
0ae47095829ba2218113131f29e0a870b7ac7c71 assets/bloodmagic/models/block/crystal/corrosivecrystal2.json
f2fa5d770d52b5888d4fcba9161bc6485938cc21 assets/bloodmagic/models/block/crystal/corrosivecrystal3.json
f3f58ce78925d6c5e9c3beaa325f75084b9fab7c assets/bloodmagic/models/block/crystal/corrosivecrystal4.json
ca4af4bd7d6bfefbdb925aafe9d7ea80b18eaa3a assets/bloodmagic/models/block/crystal/corrosivecrystal5.json
1e0d6dc84398a2e12d177578c6c798b2c22ca95c assets/bloodmagic/models/block/crystal/corrosivecrystal6.json
302703cfe171a5f5bca492eb781ab3f3fd1c5cc1 assets/bloodmagic/models/block/crystal/corrosivecrystal7.json
6e4a3ba1cbd063757f2781e61bfae1b6191f750f assets/bloodmagic/models/block/crystal/defaultcrystal1.json
c41eee3071f1c1b27548eed79d333ab40d18a993 assets/bloodmagic/models/block/crystal/defaultcrystal2.json
3cf921a7416da052e2879cf0daae21144a40fa98 assets/bloodmagic/models/block/crystal/defaultcrystal3.json
6019d4e18f271f67b970c4e9b140ff96dc2c26fb assets/bloodmagic/models/block/crystal/defaultcrystal4.json
a106985d414ba63680da8a6b1abe77a0406adcc7 assets/bloodmagic/models/block/crystal/defaultcrystal5.json
8c3307e3ef8f44eb95c70774e32989454da8b675 assets/bloodmagic/models/block/crystal/defaultcrystal6.json
592af0e2cf2849bd0581a43271d391a9ddbc6fb0 assets/bloodmagic/models/block/crystal/defaultcrystal7.json
f688ae826b9f42b092d8de2e419f67f8049a5d00 assets/bloodmagic/models/block/crystal/destructivecrystal1.json
e27df3ee62984fc10026e721b262c89db95f2b40 assets/bloodmagic/models/block/crystal/destructivecrystal2.json
df186d5bbcb608d7e91b2a67ab7fc347aa715a34 assets/bloodmagic/models/block/crystal/destructivecrystal3.json
c4839ceb06d5a22aa47c71e1a7d7dfd12a7af68c assets/bloodmagic/models/block/crystal/destructivecrystal4.json
091b5b1986e7542485c7d03419baf6f3f81fd8cb assets/bloodmagic/models/block/crystal/destructivecrystal5.json
cf05718711393bf322680bc24897ba82bafd1f53 assets/bloodmagic/models/block/crystal/destructivecrystal6.json
a66d5091e5241479e512a3a71aba67d93992f32b assets/bloodmagic/models/block/crystal/destructivecrystal7.json
47d8fa9891d7baad8a17df455fd6d9baf6da56de assets/bloodmagic/models/block/crystal/steadfastcrystal1.json
6bbd2e8584e783e07390b0f30d0f3fbb2782f663 assets/bloodmagic/models/block/crystal/steadfastcrystal2.json
0883e99e1d5fa81d2ea0212ab8e9f4d5313717f4 assets/bloodmagic/models/block/crystal/steadfastcrystal3.json
c0a2ec89a412ce6dc078697f6ab92944a8a65cd9 assets/bloodmagic/models/block/crystal/steadfastcrystal4.json
b8d576ca3daf0b597b222f9d0645526e1d8a65be assets/bloodmagic/models/block/crystal/steadfastcrystal5.json
1e6b6825d373b1532d2458e6122a9869153d3776 assets/bloodmagic/models/block/crystal/steadfastcrystal6.json
2478650854e8e82b46bfb58754004e89771636fc assets/bloodmagic/models/block/crystal/steadfastcrystal7.json
dc2fff8fbabd58db8c0f2fb83d3d68446e324389 assets/bloodmagic/models/block/crystal/vengefulcrystal1.json
623e226eb28df9d7e2311ed6c68fba0835c80785 assets/bloodmagic/models/block/crystal/vengefulcrystal2.json
fe8271e4e815de11cd617179dedface57bd8c696 assets/bloodmagic/models/block/crystal/vengefulcrystal3.json
658bcbf2eadb0e2b442668e47b8a3a0fc684a57f assets/bloodmagic/models/block/crystal/vengefulcrystal4.json
825352d6cdd314dd4cb775062757e2b8eb39f5d7 assets/bloodmagic/models/block/crystal/vengefulcrystal5.json
9603b46cb4ebc567878ca5f54fe96e1199f34d0c assets/bloodmagic/models/block/crystal/vengefulcrystal6.json
ecf64f8c06743f0c2752e32a67753c0d5f9f67a1 assets/bloodmagic/models/block/crystal/vengefulcrystal7.json
6adbeedc17f649ef47419845a6da0d50cfc76742 assets/bloodmagic/models/block/dislocationrune.json
81313327125e6e7396df0408595228bf0f63e1c9 assets/bloodmagic/models/block/duskritualstone.json
c30064f4aa09c42d23e94d118ae5b148eadb3a6c assets/bloodmagic/models/block/earthritualstone.json
@ -67,8 +107,13 @@ ef26c203159e9f55672ed5ea75107d4a9d081cfe assets/bloodmagic/models/item/bloodligh
c795d1b7aa99ce27da63868f81bac615cf199c66 assets/bloodmagic/models/item/bloodstonebrick.json
7315e49149eca494e6b132d383082cb76fc9c0e4 assets/bloodmagic/models/item/chargingrune.json
738eb84b10400c04e0c7a5a253e55c109c233ec8 assets/bloodmagic/models/item/coalsand.json
9301a2fc234f064caf7e13afabb9343540d3412f assets/bloodmagic/models/item/corrosivecrystal.json
e8bdf0e3f557bb09c665312df380672e676f4382 assets/bloodmagic/models/item/corrosivedemoncrystal.json
f404148f9df3a61da3c18175885ffa56b2a85a6a assets/bloodmagic/models/item/daggerofsacrifice.json
6b89387f771da9535a0234f1a267af1b6853724d assets/bloodmagic/models/item/defaultcrystal.json
9671199681493a396e07d7bcab20137c22d981d5 assets/bloodmagic/models/item/demonslate.json
a61193ff59b71a79e8e28720dfce4185122a7ec1 assets/bloodmagic/models/item/destructivecrystal.json
3e952fc5e87bd7883dadd761ef708ddfac29638c assets/bloodmagic/models/item/destructivedemoncrystal.json
7af07ab578bbd20e2f834b26d9cafb5fe23bc7d4 assets/bloodmagic/models/item/dislocationrune.json
f4531e22aa1db1cff324db5ccb344d3b9fa85c8d assets/bloodmagic/models/item/divinationsigil.json
10aceefca3ad3f0da773cb317c4effc6c06051ea assets/bloodmagic/models/item/duskritualstone.json
@ -97,6 +142,7 @@ ff9b802098659824626dc90dbb5a0d8960234228 assets/bloodmagic/models/item/orbcapaci
aa3947434e24f4a4c4ae43428de3f2dd2ceb31a6 assets/bloodmagic/models/item/plantoil.json
51720bf25f152c38056c81cebf79ca97b78dbb48 assets/bloodmagic/models/item/primitive_explosive_cell.json
aa8684bdce288295cfbb41248ff7f008f98b5e7b assets/bloodmagic/models/item/primitive_hydration_cell.json
63fe86d0faf9aa03a513221a6a12828a886b1301 assets/bloodmagic/models/item/rawdemoncrystal.json
b4e1259784354b048cd7ec5ef888a182e3909dc6 assets/bloodmagic/models/item/reagentair.json
919b17ed4620c7b76c86494683951ab6e7fc7864 assets/bloodmagic/models/item/reagentbloodlight.json
c0a7633527bdd25fc85e78fc4838733063726d88 assets/bloodmagic/models/item/reagentfastminer.json
@ -121,6 +167,8 @@ b49e7f34913e32ccb68eeb6f6c196ff6b209f482 assets/bloodmagic/models/item/soulgempe
f8db155d49b0f2c37504bac46a8974d4bf90db3e assets/bloodmagic/models/item/soulsnare.json
fe2b201007c974229509f6900c6eb8b03d158b0a assets/bloodmagic/models/item/soulsword.json
52d21027ac6fed000e77b5e8ad9102319b25cb33 assets/bloodmagic/models/item/speedrune.json
6e2b7581e06ee42915cc98ac10a6cb8e45512c70 assets/bloodmagic/models/item/steadfastcrystal.json
6968a3d0c3bbeac8ea4cb2c050e28506e8938851 assets/bloodmagic/models/item/steadfastdemoncrystal.json
26cb0aae63ea4f27efd5337c90c580ddd7481b99 assets/bloodmagic/models/item/sulfur.json
e8fe01c5cddc268538681889f3161472a8f1c8ad assets/bloodmagic/models/item/variants/growthsigil_activated.json
20c802279de4df496057795c2e891fa54a21376f assets/bloodmagic/models/item/variants/growthsigil_deactivated.json
@ -155,6 +203,8 @@ ec6f6bf7f520182b2044f3cc5a10f1d4c7a8d7ab assets/bloodmagic/models/item/variants/
7d22fdba9bb8593c247a0b33df11f3b26a16c254 assets/bloodmagic/models/item/variants/soulsword_steadfast_deactivated.json
2029220112f89a3f4d432ab4749dff6143846659 assets/bloodmagic/models/item/variants/soulsword_vengeful_activated.json
0f5a3e1e5993a03ccda156eed855b71fbd0be0a2 assets/bloodmagic/models/item/variants/soulsword_vengeful_deactivated.json
da99afb65d43a438864740ee08839a5d3db1d1a1 assets/bloodmagic/models/item/vengefulcrystal.json
11e3347147e079093c4fa12018412071db22a4f5 assets/bloodmagic/models/item/vengefuldemoncrystal.json
836b5a7f19915af809795a72983a23f0d5f9c5b2 assets/bloodmagic/models/item/voidsigil.json
a31019db55828cb937a071ac2f74b125a2d0c955 assets/bloodmagic/models/item/waterritualstone.json
4130e8907fe8fcf0a5de805f9c2b7ba9166323e9 assets/bloodmagic/models/item/waterscribetool.json
@ -197,6 +247,8 @@ c92a9f2a90f2c17933f89832899c295cde1f194d data/bloodmagic/loot_tables/blocks/alch
f1a8e3131d85077665563372cad868534a72fb31 data/bloodmagic/loot_tables/blocks/bloodlight.json
f0827ad5bf71c06a71f50aeb0298c04d0cb1a1d9 data/bloodmagic/loot_tables/blocks/bloodstonebrick.json
779b809a2a51e6dab46f9e6799249f2f14653ebb data/bloodmagic/loot_tables/blocks/chargingrune.json
56643f0e11eaac974a1a95decf31681b7d3ced81 data/bloodmagic/loot_tables/blocks/corrosivedemoncrystal.json
9b606397733431055d56b886945365aeb62243b0 data/bloodmagic/loot_tables/blocks/destructivedemoncrystal.json
a9fcfc656fab957328c10ee1d9d33807e697b7f7 data/bloodmagic/loot_tables/blocks/dislocationrune.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/duskritualstone.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/earthritualstone.json
@ -205,11 +257,14 @@ a9fcfc656fab957328c10ee1d9d33807e697b7f7 data/bloodmagic/loot_tables/blocks/disl
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/lightritualstone.json
72610188b4538d98ffcd015c2813d63d19889d5f data/bloodmagic/loot_tables/blocks/masterritualstone.json
95442c1bb740fab2eb8ee051f7184813f6023afa data/bloodmagic/loot_tables/blocks/orbcapacityrune.json
ed027e8a12be5cb6f68bf75b085da233b1ff78c7 data/bloodmagic/loot_tables/blocks/rawdemoncrystal.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/ritualstone.json
e0239eff7762a414a4e4faa0158d844dffb8c1f6 data/bloodmagic/loot_tables/blocks/sacrificerune.json
9b697e37046b6238b3a19eae9113b88010ccff32 data/bloodmagic/loot_tables/blocks/selfsacrificerune.json
f748a5ba8838b50de0502f132fe2a65f4726dae6 data/bloodmagic/loot_tables/blocks/soulforge.json
015e07226fd90935f7ec663f4bcf3873a57a82d1 data/bloodmagic/loot_tables/blocks/speedrune.json
b91f5b06e826205b3da972ef1f12dc37670412ac data/bloodmagic/loot_tables/blocks/steadfastdemoncrystal.json
530c9c82fc508125223cedccbdacf623d1d3a1ff data/bloodmagic/loot_tables/blocks/vengefuldemoncrystal.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/waterritualstone.json
2df19ff659705a5408ce0819a947764673404388 data/bloodmagic/recipes/alchemy_table.json
f86432e8fef0d6e140e27f575063704b7e843d75 data/bloodmagic/recipes/alchemytable/bread.json

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"attached": "down",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1"
}
},
{
"when": {
"attached": "north",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2"
}
},
{
"when": {
"attached": "north",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3"
}
},
{
"when": {
"attached": "north",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4"
}
},
{
"when": {
"attached": "north",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5"
}
},
{
"when": {
"attached": "north",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6"
}
},
{
"when": {
"attached": "north",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7"
}
},
{
"when": {
"attached": "north",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"attached": "down",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1"
}
},
{
"when": {
"attached": "north",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2"
}
},
{
"when": {
"attached": "north",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3"
}
},
{
"when": {
"attached": "north",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4"
}
},
{
"when": {
"attached": "north",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5"
}
},
{
"when": {
"attached": "north",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6"
}
},
{
"when": {
"attached": "north",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7"
}
},
{
"when": {
"attached": "north",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"attached": "down",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1"
}
},
{
"when": {
"attached": "north",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2"
}
},
{
"when": {
"attached": "north",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3"
}
},
{
"when": {
"attached": "north",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4"
}
},
{
"when": {
"attached": "north",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5"
}
},
{
"when": {
"attached": "north",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6"
}
},
{
"when": {
"attached": "north",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7"
}
},
{
"when": {
"attached": "north",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"attached": "down",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1"
}
},
{
"when": {
"attached": "north",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2"
}
},
{
"when": {
"attached": "north",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3"
}
},
{
"when": {
"attached": "north",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4"
}
},
{
"when": {
"attached": "north",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5"
}
},
{
"when": {
"attached": "north",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6"
}
},
{
"when": {
"attached": "north",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7"
}
},
{
"when": {
"attached": "north",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"attached": "down",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1"
}
},
{
"when": {
"attached": "north",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "0|1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2"
}
},
{
"when": {
"attached": "north",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "1|2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3"
}
},
{
"when": {
"attached": "north",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "2|3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4"
}
},
{
"when": {
"attached": "north",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "3|4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5"
}
},
{
"when": {
"attached": "north",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "4|5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6"
}
},
{
"when": {
"attached": "north",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "5|6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"attached": "down",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 180
}
},
{
"when": {
"attached": "up",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7"
}
},
{
"when": {
"attached": "north",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 90
}
},
{
"when": {
"attached": "south",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 270
}
},
{
"when": {
"attached": "west",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"attached": "east",
"age": "6"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal1",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal2",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal3",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal4",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal5",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal6",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal7",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal1",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal2",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal3",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal4",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal5",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal6",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal7",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal1",
"textures": {
"crystal": "bloodmagic:models/destructivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal2",
"textures": {
"crystal": "bloodmagic:models/destructivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal3",
"textures": {
"crystal": "bloodmagic:models/destructivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal4",
"textures": {
"crystal": "bloodmagic:models/destructivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal5",
"textures": {
"crystal": "bloodmagic:models/destructivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal6",
"textures": {
"crystal": "bloodmagic:models/destructivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal7",
"textures": {
"crystal": "bloodmagic:models/destructivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal1",
"textures": {
"crystal": "bloodmagic:models/steadfastcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal2",
"textures": {
"crystal": "bloodmagic:models/steadfastcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal3",
"textures": {
"crystal": "bloodmagic:models/steadfastcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal4",
"textures": {
"crystal": "bloodmagic:models/steadfastcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal5",
"textures": {
"crystal": "bloodmagic:models/steadfastcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal6",
"textures": {
"crystal": "bloodmagic:models/steadfastcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal7",
"textures": {
"crystal": "bloodmagic:models/steadfastcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal1",
"textures": {
"crystal": "bloodmagic:models/vengefulcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal2",
"textures": {
"crystal": "bloodmagic:models/vengefulcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal3",
"textures": {
"crystal": "bloodmagic:models/vengefulcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal4",
"textures": {
"crystal": "bloodmagic:models/vengefulcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal5",
"textures": {
"crystal": "bloodmagic:models/vengefulcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal6",
"textures": {
"crystal": "bloodmagic:models/vengefulcrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal7",
"textures": {
"crystal": "bloodmagic:models/vengefulcrystal"
}
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,138 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:corrosivedemoncrystal",
"properties": {
"age": "0"
}
}
],
"quality": 1,
"name": "bloodmagic:corrosivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:corrosivedemoncrystal",
"properties": {
"age": "1"
}
}
],
"quality": 2,
"name": "bloodmagic:corrosivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:corrosivedemoncrystal",
"properties": {
"age": "2"
}
}
],
"quality": 3,
"name": "bloodmagic:corrosivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:corrosivedemoncrystal",
"properties": {
"age": "3"
}
}
],
"quality": 4,
"name": "bloodmagic:corrosivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:corrosivedemoncrystal",
"properties": {
"age": "4"
}
}
],
"quality": 5,
"name": "bloodmagic:corrosivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:corrosivedemoncrystal",
"properties": {
"age": "5"
}
}
],
"quality": 6,
"name": "bloodmagic:corrosivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:corrosivedemoncrystal",
"properties": {
"age": "6"
}
}
],
"quality": 7,
"name": "bloodmagic:corrosivecrystal"
}
]
}
]
}

View file

@ -0,0 +1,138 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:destructivedemoncrystal",
"properties": {
"age": "0"
}
}
],
"quality": 1,
"name": "bloodmagic:destructivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:destructivedemoncrystal",
"properties": {
"age": "1"
}
}
],
"quality": 2,
"name": "bloodmagic:destructivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:destructivedemoncrystal",
"properties": {
"age": "2"
}
}
],
"quality": 3,
"name": "bloodmagic:destructivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:destructivedemoncrystal",
"properties": {
"age": "3"
}
}
],
"quality": 4,
"name": "bloodmagic:destructivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:destructivedemoncrystal",
"properties": {
"age": "4"
}
}
],
"quality": 5,
"name": "bloodmagic:destructivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:destructivedemoncrystal",
"properties": {
"age": "5"
}
}
],
"quality": 6,
"name": "bloodmagic:destructivecrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:destructivedemoncrystal",
"properties": {
"age": "6"
}
}
],
"quality": 7,
"name": "bloodmagic:destructivecrystal"
}
]
}
]
}

View file

@ -0,0 +1,138 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:rawdemoncrystal",
"properties": {
"age": "0"
}
}
],
"quality": 1,
"name": "bloodmagic:defaultcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:rawdemoncrystal",
"properties": {
"age": "1"
}
}
],
"quality": 2,
"name": "bloodmagic:defaultcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:rawdemoncrystal",
"properties": {
"age": "2"
}
}
],
"quality": 3,
"name": "bloodmagic:defaultcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:rawdemoncrystal",
"properties": {
"age": "3"
}
}
],
"quality": 4,
"name": "bloodmagic:defaultcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:rawdemoncrystal",
"properties": {
"age": "4"
}
}
],
"quality": 5,
"name": "bloodmagic:defaultcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:rawdemoncrystal",
"properties": {
"age": "5"
}
}
],
"quality": 6,
"name": "bloodmagic:defaultcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:rawdemoncrystal",
"properties": {
"age": "6"
}
}
],
"quality": 7,
"name": "bloodmagic:defaultcrystal"
}
]
}
]
}

View file

@ -0,0 +1,138 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:steadfastdemoncrystal",
"properties": {
"age": "0"
}
}
],
"quality": 1,
"name": "bloodmagic:steadfastcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:steadfastdemoncrystal",
"properties": {
"age": "1"
}
}
],
"quality": 2,
"name": "bloodmagic:steadfastcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:steadfastdemoncrystal",
"properties": {
"age": "2"
}
}
],
"quality": 3,
"name": "bloodmagic:steadfastcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:steadfastdemoncrystal",
"properties": {
"age": "3"
}
}
],
"quality": 4,
"name": "bloodmagic:steadfastcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:steadfastdemoncrystal",
"properties": {
"age": "4"
}
}
],
"quality": 5,
"name": "bloodmagic:steadfastcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:steadfastdemoncrystal",
"properties": {
"age": "5"
}
}
],
"quality": 6,
"name": "bloodmagic:steadfastcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:steadfastdemoncrystal",
"properties": {
"age": "6"
}
}
],
"quality": 7,
"name": "bloodmagic:steadfastcrystal"
}
]
}
]
}

View file

@ -0,0 +1,138 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:vengefuldemoncrystal",
"properties": {
"age": "0"
}
}
],
"quality": 1,
"name": "bloodmagic:vengefulcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:vengefuldemoncrystal",
"properties": {
"age": "1"
}
}
],
"quality": 2,
"name": "bloodmagic:vengefulcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:vengefuldemoncrystal",
"properties": {
"age": "2"
}
}
],
"quality": 3,
"name": "bloodmagic:vengefulcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:vengefuldemoncrystal",
"properties": {
"age": "3"
}
}
],
"quality": 4,
"name": "bloodmagic:vengefulcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:vengefuldemoncrystal",
"properties": {
"age": "4"
}
}
],
"quality": 5,
"name": "bloodmagic:vengefulcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:vengefuldemoncrystal",
"properties": {
"age": "5"
}
}
],
"quality": 6,
"name": "bloodmagic:vengefulcrystal"
}
]
},
{
"rolls": 1.0,
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:block_state_property",
"block": "bloodmagic:vengefuldemoncrystal",
"properties": {
"age": "6"
}
}
],
"quality": 7,
"name": "bloodmagic:vengefulcrystal"
}
]
}
]
}

View file

@ -53,6 +53,7 @@ import wayoftime.bloodmagic.tile.TileAlchemicalReactionChamber;
import wayoftime.bloodmagic.tile.TileAlchemyArray;
import wayoftime.bloodmagic.tile.TileAlchemyTable;
import wayoftime.bloodmagic.tile.TileAltar;
import wayoftime.bloodmagic.tile.TileDemonCrystal;
import wayoftime.bloodmagic.tile.TileMasterRitualStone;
import wayoftime.bloodmagic.tile.TileSoulForge;
import wayoftime.bloodmagic.util.handler.event.GenericHandler;
@ -154,6 +155,7 @@ public class BloodMagic
event.getRegistry().register(TileEntityType.Builder.create(TileMasterRitualStone::new, BloodMagicBlocks.MASTER_RITUAL_STONE.get()).build(null).setRegistryName("masterritualstone"));
event.getRegistry().register(TileEntityType.Builder.create(TileAlchemicalReactionChamber::new, BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get()).build(null).setRegistryName("alchemicalreactionchamber"));
event.getRegistry().register(TileEntityType.Builder.create(TileAlchemyTable::new, BloodMagicBlocks.ALCHEMY_TABLE.get()).build(null).setRegistryName("alchemytable"));
event.getRegistry().register(TileEntityType.Builder.create(TileDemonCrystal::new, BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), BloodMagicBlocks.DESTRUCTIVE_CRYSTAL_BLOCK.get(), BloodMagicBlocks.VENGEFUL_CRYSTAL_BLOCK.get(), BloodMagicBlocks.STEADFAST_CRYSTAL_BLOCK.get()).build(null).setRegistryName("demoncrystal"));
}
@SubscribeEvent

View file

@ -89,7 +89,6 @@ public class ScreenAlchemicalReactionChamber extends ScreenBase<ContainerAlchemi
+ 15, 16, 63, 194, 1, 16, 63, mouseX, mouseY, background.toString(), null);
int w = this.getCookProgressScaled(38);
System.out.println("Width: " + w);
// FurnaceTileEntity d;
this.blit(stack, i + 63, j + 44, 176, 90, w, 23);
}

View file

@ -0,0 +1,257 @@
package wayoftime.bloodmagic.common.block;
import java.util.EnumMap;
import javax.annotation.Nullable;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.BlockItemUseContext;
import net.minecraft.item.ItemStack;
import net.minecraft.state.EnumProperty;
import net.minecraft.state.IntegerProperty;
import net.minecraft.state.StateContainer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
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.minecraftforge.common.ToolType;
import wayoftime.bloodmagic.common.item.ItemDemonCrystal;
import wayoftime.bloodmagic.tile.TileDemonCrystal;
import wayoftime.bloodmagic.will.EnumDemonWillType;
import wayoftime.bloodmagic.will.PlayerDemonWillHandler;
public class BlockDemonCrystal extends Block
{
public static final IntegerProperty AGE = IntegerProperty.create("age", 0, 6);
// public static final EnumProperty<EnumDemonWillType> TYPE = EnumProperty.create("type", EnumDemonWillType.class);
public static final EnumProperty<Direction> ATTACHED = EnumProperty.create("attached", Direction.class);
private static final EnumMap<Direction, VoxelShape> bounds = new EnumMap<>(Direction.class);
public final EnumDemonWillType type;
// Bounding / Collision boxes
private static final VoxelShape[] UP =
{ Block.makeCuboidShape(6, 0, 5, 10, 13, 9), Block.makeCuboidShape(7, 0, 0, 13, 6, 5),
Block.makeCuboidShape(9, 0, 9, 13, 5, 14), Block.makeCuboidShape(2, 0, 1, 7, 6, 7),
Block.makeCuboidShape(5, 0, 9, 9, 7, 15), Block.makeCuboidShape(0, 0, 7, 6, 6, 10),
Block.makeCuboidShape(10, 0, 6, 15, 6, 9) };
private static final VoxelShape[] DOWN =
{ Block.makeCuboidShape(6, 3, 7, 10, 16, 11), Block.makeCuboidShape(7, 10, 11, 13, 16, 16),
Block.makeCuboidShape(9, 11, 2, 13, 16, 7), Block.makeCuboidShape(2, 9, 11, 7, 16, 15),
Block.makeCuboidShape(5, 9, 1, 9, 16, 7), Block.makeCuboidShape(0, 10, 6, 6, 16, 9),
Block.makeCuboidShape(10, 11, 7, 15, 16, 10) };
private static final VoxelShape[] NORTH =
{ Block.makeCuboidShape(6, 5, 3, 10, 9, 16), Block.makeCuboidShape(9, 0, 6, 13, 5, 16),
Block.makeCuboidShape(8, 9, 11, 13, 14, 16), Block.makeCuboidShape(2, 1, 9, 7, 7, 16),
Block.makeCuboidShape(5, 9, 9, 9, 15, 16), Block.makeCuboidShape(0, 7, 10, 6, 10, 16),
Block.makeCuboidShape(10, 7, 10, 15, 9, 15), };
private static final VoxelShape[] SOUTH =
{ Block.makeCuboidShape(6, 7, 0, 10, 11, 13), Block.makeCuboidShape(7, 11, 0, 13, 16, 6),
Block.makeCuboidShape(8, 2, 9, 13, 7, 14), Block.makeCuboidShape(2, 9, 1, 7, 14, 7),
Block.makeCuboidShape(5, 1, 9, 9, 7, 9), Block.makeCuboidShape(0, 6, 1, 6, 9, 7),
Block.makeCuboidShape(10, 8, 1, 15, 10, 6) };
private static final VoxelShape[] EAST =
{ Block.makeCuboidShape(0, 6, 5, 13, 10, 9), Block.makeCuboidShape(0, 3, 0, 6, 9, 5),
Block.makeCuboidShape(0, 3, 9, 5, 8, 14), Block.makeCuboidShape(1, 9, 1, 7, 13, 7),
Block.makeCuboidShape(1, 0, 9, 7, 11, 15), Block.makeCuboidShape(0, 10, 7, 6, 16, 10),
Block.makeCuboidShape(0, 1, 6, 5, 6, 9) };
private static final VoxelShape[] WEST =
{ Block.makeCuboidShape(3, 6, 5, 16, 10, 9), Block.makeCuboidShape(9, 7, 0, 16, 12, 5),
Block.makeCuboidShape(11, 4, 9, 16, 13, 14), Block.makeCuboidShape(9, 3, 1, 16, 8, 7),
Block.makeCuboidShape(9, 6, 9, 16, 8, 15), Block.makeCuboidShape(10, 1, 7, 16, 6, 10),
Block.makeCuboidShape(10, 6, 6, 15, 15, 9) };
public BlockDemonCrystal(EnumDemonWillType type)
{
super(AbstractBlock.Properties.create(Material.IRON).hardnessAndResistance(2.0F, 5.0F).harvestTool(ToolType.PICKAXE).harvestLevel(2));
this.type = type;
this.setDefaultState(this.stateContainer.getBaseState().with(ATTACHED, Direction.UP).with(AGE, Integer.valueOf(0)));
// this.setDefaultState(this.blockState.getBaseState().withProperty(TYPE, EnumDemonWillType.DEFAULT).withProperty(ATTACHED, Direction.UP));
// setTranslationKey(BloodMagic.MODID + ".demonCrystal.");
// setCreativeTab(BloodMagic.TAB_BM);
// setHardness(2.0F);
// setResistance(5.0F);
// setHarvestLevel("pickaxe", 2);
}
public static ItemStack getItemStackDropped(EnumDemonWillType type, int crystalNumber)
{
ItemStack stack = ItemStack.EMPTY;
switch (type)
{
case CORROSIVE:
stack = EnumDemonWillType.CORROSIVE.getStack();
break;
case DEFAULT:
stack = EnumDemonWillType.DEFAULT.getStack();
break;
case DESTRUCTIVE:
stack = EnumDemonWillType.DESTRUCTIVE.getStack();
break;
case STEADFAST:
stack = EnumDemonWillType.STEADFAST.getStack();
break;
case VENGEFUL:
stack = EnumDemonWillType.VENGEFUL.getStack();
break;
}
stack.setCount(crystalNumber);
return stack;
}
@Override
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context)
{
switch (state.get(ATTACHED))
{
case DOWN:
return DOWN[0];
case NORTH:
return NORTH[0];
case SOUTH:
return SOUTH[0];
case EAST:
return EAST[0];
case WEST:
return WEST[0];
case UP:
default:
return UP[0];
}
}
@Override
public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult blockRayTraceResult)
{
if (!world.isRemote)
{
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileDemonCrystal)
{
TileDemonCrystal crystal = (TileDemonCrystal) tile;
boolean isCreative = player.isCreative();
boolean holdsCrystal = player.getHeldItem(hand).getItem() instanceof ItemDemonCrystal;
if (PlayerDemonWillHandler.getTotalDemonWill(EnumDemonWillType.DEFAULT, player) > 1024
&& !(holdsCrystal && isCreative))
{
crystal.dropSingleCrystal();
}
if (!crystal.getWorld().isRemote && isCreative && holdsCrystal)
{
if (crystal.getCrystalCount() < 7)
{
crystal.internalCounter = 0;
if (crystal.progressToNextCrystal > 0)
crystal.progressToNextCrystal--;
crystal.setCrystalCount(crystal.getCrystalCount() + 1);
crystal.markDirty();
crystal.notifyUpdate();
}
}
}
}
return ActionResultType.SUCCESS;
}
public boolean isValidPosition(BlockState state, IWorldReader worldIn, BlockPos pos)
{
Direction direction = state.get(ATTACHED);
BlockPos blockpos = pos.offset(direction.getOpposite());
BlockState blockstate = worldIn.getBlockState(blockpos);
return blockstate.isSolidSide(worldIn, blockpos, direction);
}
@Nullable
public BlockState getStateForPlacement(BlockItemUseContext context)
{
BlockState blockstate = this.getDefaultState();
IWorldReader iworldreader = context.getWorld();
BlockPos blockpos = context.getPos();
Direction[] adirection = context.getNearestLookingDirections();
for (Direction direction : adirection)
{
// if (direction.getAxis().isHorizontal())
{
Direction direction1 = direction.getOpposite();
blockstate = blockstate.with(ATTACHED, direction1);
if (blockstate.isValidPosition(iworldreader, blockpos))
{
return blockstate;
}
}
}
return null;
}
public BlockState updatePostPlacement(BlockState stateIn, Direction facing, BlockState facingState, IWorld worldIn, BlockPos currentPos, BlockPos facingPos)
{
return facing.getOpposite() == stateIn.get(ATTACHED) && !stateIn.isValidPosition(worldIn, currentPos)
? Blocks.AIR.getDefaultState()
: stateIn;
}
@Override
public BlockRenderType getRenderType(BlockState state)
{
return BlockRenderType.MODEL;
}
@Override
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder)
{
builder.add(ATTACHED, AGE);
}
// @Override
// public void onPlayerDestroy(IWorld world, BlockPos blockPos, BlockState blockState)
// {
//
// super.onPlayerDestroy(world, blockPos, blockState);
// }
//
// @Override
// public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving)
// {
// TorchBlock d;
// if (!state.isIn(newState.getBlock()))
// {
//
// super.onReplaced(state, worldIn, pos, newState, isMoving);
// }
// }
@Override
public boolean hasTileEntity(BlockState state)
{
return true;
}
@Nullable
@Override
public TileEntity createTileEntity(BlockState state, IBlockReader world)
{
return new TileDemonCrystal(type);
}
}

View file

@ -26,6 +26,7 @@ import wayoftime.bloodmagic.ritual.EnumRuneType;
import wayoftime.bloodmagic.tile.contailer.ContainerAlchemicalReactionChamber;
import wayoftime.bloodmagic.tile.contailer.ContainerAlchemyTable;
import wayoftime.bloodmagic.tile.contailer.ContainerSoulForge;
import wayoftime.bloodmagic.will.EnumDemonWillType;
public class BloodMagicBlocks
{
@ -71,6 +72,12 @@ public class BloodMagicBlocks
public static final RegistryObject<Block> ALCHEMICAL_REACTION_CHAMBER = BLOCKS.register("alchemicalreactionchamber", () -> new BlockAlchemicalReactionChamber());
public static final RegistryObject<Block> ALCHEMY_TABLE = BLOCKS.register("alchemytable", () -> new BlockAlchemyTable());
public static final RegistryObject<Block> RAW_CRYSTAL_BLOCK = BLOCKS.register("rawdemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.DEFAULT));
public static final RegistryObject<Block> CORROSIVE_CRYSTAL_BLOCK = BLOCKS.register("corrosivedemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.CORROSIVE));
public static final RegistryObject<Block> DESTRUCTIVE_CRYSTAL_BLOCK = BLOCKS.register("destructivedemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.DESTRUCTIVE));
public static final RegistryObject<Block> VENGEFUL_CRYSTAL_BLOCK = BLOCKS.register("vengefuldemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.VENGEFUL));
public static final RegistryObject<Block> STEADFAST_CRYSTAL_BLOCK = BLOCKS.register("steadfastdemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.STEADFAST));
private static ForgeFlowingFluid.Properties makeProperties()
{
return new ForgeFlowingFluid.Properties(LIFE_ESSENCE_FLUID, LIFE_ESSENCE_FLUID_FLOWING, FluidAttributes.builder(FLUID_STILL, FLUID_FLOWING)).bucket(LIFE_ESSENCE_BUCKET).block(LIFE_ESSENCE_BLOCK);

View file

@ -5,12 +5,16 @@ import net.minecraft.data.DataGenerator;
import net.minecraft.util.Direction;
import net.minecraftforge.client.model.generators.BlockStateProvider;
import net.minecraftforge.client.model.generators.ConfiguredModel;
import net.minecraftforge.client.model.generators.ConfiguredModel.Builder;
import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.client.model.generators.MultiPartBlockStateBuilder;
import net.minecraftforge.client.model.generators.MultiPartBlockStateBuilder.PartBuilder;
import net.minecraftforge.client.model.generators.VariantBlockStateBuilder;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.fml.RegistryObject;
import wayoftime.bloodmagic.BloodMagic;
import wayoftime.bloodmagic.common.block.BlockAlchemicalReactionChamber;
import wayoftime.bloodmagic.common.block.BlockDemonCrystal;
import wayoftime.bloodmagic.common.block.BloodMagicBlocks;
public class GeneratorBlockStates extends BlockStateProvider
@ -41,6 +45,12 @@ public class GeneratorBlockStates extends BlockStateProvider
buildCubeAll(BloodMagicBlocks.DAWN_RITUAL_STONE.get());
buildFurnace(BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get());
buildCrystal(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), "defaultcrystal");
buildCrystal(BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), "corrosivecrystal");
buildCrystal(BloodMagicBlocks.DESTRUCTIVE_CRYSTAL_BLOCK.get(), "destructivecrystal");
buildCrystal(BloodMagicBlocks.VENGEFUL_CRYSTAL_BLOCK.get(), "vengefulcrystal");
buildCrystal(BloodMagicBlocks.STEADFAST_CRYSTAL_BLOCK.get(), "steadfastcrystal");
}
private void buildCubeAll(Block block)
@ -48,6 +58,53 @@ public class GeneratorBlockStates extends BlockStateProvider
getVariantBuilder(block).forAllStates(state -> ConfiguredModel.builder().modelFile(cubeAll(block)).build());
}
private void buildCrystal(Block block, String name)
{
MultiPartBlockStateBuilder builder = getMultipartBuilder(block);
ModelFile[] crystalModels = new ModelFile[7];
for (int i = 0; i < 7; i++)
{
crystalModels[i] = models().withExistingParent("block/crystal/" + name + (i + 1), modLoc("crystal" + (i + 1))).texture("crystal", modLoc("models/" + name));
}
for (int i = 0; i < 7; i++)
{
Integer[] intArray = new Integer[7 - i];
for (int j = i; j < 7; j++)
{
intArray[j - i] = j;
}
for (Direction direction : Direction.values())
{
Builder<PartBuilder> partBuilder = builder.part().modelFile(crystalModels[i]);
switch (direction)
{
case UP:
break;
case DOWN:
partBuilder = partBuilder.rotationX(180);
break;
case EAST:
partBuilder = partBuilder.rotationX(90).rotationY(90);
break;
case WEST:
partBuilder = partBuilder.rotationX(90).rotationY(270);
break;
case NORTH:
partBuilder = partBuilder.rotationX(90);
break;
case SOUTH:
partBuilder = partBuilder.rotationX(270);
break;
}
partBuilder.addModel().condition(BlockDemonCrystal.AGE, intArray).condition(BlockDemonCrystal.ATTACHED, direction).end();
}
}
}
private void buildFurnace(Block block)
{
// ConfiguredModel[] furnaceModel = ConfiguredModel.builder().modelFile().build();

View file

@ -45,6 +45,12 @@ public class GeneratorItemModels extends ItemModelProvider
registerBlockModel(BloodMagicBlocks.DAWN_RITUAL_STONE.get());
registerBlockModel(BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get());
registerCustomBlockPath(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), "crystal/defaultcrystal1");
registerCustomBlockPath(BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), "crystal/corrosivecrystal1");
registerCustomBlockPath(BloodMagicBlocks.DESTRUCTIVE_CRYSTAL_BLOCK.get(), "crystal/destructivecrystal1");
registerCustomBlockPath(BloodMagicBlocks.VENGEFUL_CRYSTAL_BLOCK.get(), "crystal/vengefulcrystal1");
registerCustomBlockPath(BloodMagicBlocks.STEADFAST_CRYSTAL_BLOCK.get(), "crystal/steadfastcrystal1");
registerToggleableItem(BloodMagicItems.GREEN_GROVE_SIGIL.get());
registerToggleableItem(BloodMagicItems.FAST_MINER_SIGIL.get());
registerToggleableItem(BloodMagicItems.MAGNETISM_SIGIL.get());
@ -55,6 +61,12 @@ public class GeneratorItemModels extends ItemModelProvider
registerDemonSword(BloodMagicItems.SENTIENT_SWORD.get());
}
private void registerCustomBlockPath(Block block, String newPath)
{
String path = block.getRegistryName().getPath();
getBuilder(path).parent(new ModelFile.UncheckedModelFile(modLoc("block/" + newPath)));
}
private void registerBlockModel(Block block)
{
String path = block.getRegistryName().getPath();

View file

@ -10,21 +10,31 @@ import java.util.stream.Collectors;
import com.google.common.collect.ImmutableList;
import com.mojang.datafixers.util.Pair;
import net.minecraft.advancements.criterion.StatePropertiesPredicate;
import net.minecraft.block.Block;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.LootTableProvider;
import net.minecraft.data.loot.BlockLootTables;
import net.minecraft.item.Item;
import net.minecraft.loot.ConstantRange;
import net.minecraft.loot.ItemLootEntry;
import net.minecraft.loot.LootParameterSet;
import net.minecraft.loot.LootParameterSets;
import net.minecraft.loot.LootPool;
import net.minecraft.loot.LootTable;
import net.minecraft.loot.LootTableManager;
import net.minecraft.loot.ValidationTracker;
import net.minecraft.loot.conditions.BlockStateProperty;
import net.minecraft.loot.conditions.ILootCondition;
import net.minecraft.state.Property;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import wayoftime.bloodmagic.BloodMagic;
import wayoftime.bloodmagic.common.block.BlockDemonCrystal;
import wayoftime.bloodmagic.common.block.BloodMagicBlocks;
import wayoftime.bloodmagic.common.item.BloodMagicItems;
public class GeneratorLootTable extends LootTableProvider
{
@ -36,10 +46,10 @@ public class GeneratorLootTable extends LootTableProvider
@Override
protected List<Pair<Supplier<Consumer<BiConsumer<ResourceLocation, LootTable.Builder>>>, LootParameterSet>> getTables()
{
return ImmutableList.of(Pair.of(Blocks::new, LootParameterSets.BLOCK));
return ImmutableList.of(Pair.of(BMBlocks::new, LootParameterSets.BLOCK));
}
private static class Blocks extends BlockLootTables
private static class BMBlocks extends BlockLootTables
{
@Override
protected void addTables()
@ -62,6 +72,13 @@ public class GeneratorLootTable extends LootTableProvider
registerDropping(BloodMagicBlocks.DAWN_RITUAL_STONE.get(), BloodMagicBlocks.BLANK_RITUAL_STONE.get());
registerDropSelfLootTable(BloodMagicBlocks.ALCHEMY_TABLE.get());
registerDropSelfLootTable(BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get());
// registerNoDropLootTable(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get());
registerDropCrystalsLootTable(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), BloodMagicItems.RAW_CRYSTAL.get());
registerDropCrystalsLootTable(BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), BloodMagicItems.CORROSIVE_CRYSTAL.get());
registerDropCrystalsLootTable(BloodMagicBlocks.DESTRUCTIVE_CRYSTAL_BLOCK.get(), BloodMagicItems.DESTRUCTIVE_CRYSTAL.get());
registerDropCrystalsLootTable(BloodMagicBlocks.VENGEFUL_CRYSTAL_BLOCK.get(), BloodMagicItems.VENGEFUL_CRYSTAL.get());
registerDropCrystalsLootTable(BloodMagicBlocks.STEADFAST_CRYSTAL_BLOCK.get(), BloodMagicItems.STEADFAST_CRYSTAL.get());
}
private void registerNoDropLootTable(Block block)
@ -70,6 +87,24 @@ public class GeneratorLootTable extends LootTableProvider
this.registerLootTable(block, LootTable.builder().addLootPool(builder));
}
private void registerDropCrystalsLootTable(Block block, Item item)
{
LootTable.Builder builder = LootTable.builder();
for (int i = 0; i < 7; i++)
{
ILootCondition.IBuilder harvestAge = BlockStateProperty.builder(block).fromProperties(StatePropertiesPredicate.Builder.newBuilder().withIntProp(BlockDemonCrystal.AGE, i));
builder = builder.addLootPool(LootPool.builder().addEntry(ItemLootEntry.builder(item).quality(i + 1).acceptCondition(harvestAge)));
}
this.registerLootTable(block, builder);
}
protected static <T extends Comparable<T> & IStringSerializable> LootTable.Builder droppingWhen(Block block, Property<T> property, T value)
{
return LootTable.builder().addLootPool(withSurvivesExplosion(block, LootPool.builder().rolls(ConstantRange.of(1)).addEntry(ItemLootEntry.builder(block).acceptCondition(BlockStateProperty.builder(block).fromProperties(StatePropertiesPredicate.Builder.newBuilder().withProp(property, value))))));
}
@Override
protected Iterable<Block> getKnownBlocks()
{

View file

@ -144,6 +144,18 @@ public class BloodMagicItems
public static final RegistryObject<Item> SOUL_SNARE = BASICITEMS.register("soulsnare", ItemSoulSnare::new);
public static final RegistryObject<Item> SENTIENT_SWORD = ITEMS.register("soulsword", () -> new ItemSentientSword());
public static final RegistryObject<Item> RAW_CRYSTAL_BLOCK_ITEM = ITEMS.register("rawdemoncrystal", () -> new BlockItem(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> CORROSIVE_CRYSTAL_BLOCK_ITEM = ITEMS.register("corrosivedemoncrystal", () -> new BlockItem(BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> DESTRUCTIVE_CRYSTAL_BLOCK_ITEM = ITEMS.register("destructivedemoncrystal", () -> new BlockItem(BloodMagicBlocks.DESTRUCTIVE_CRYSTAL_BLOCK.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> VENGEFUL_CRYSTAL_BLOCK_ITEM = ITEMS.register("vengefuldemoncrystal", () -> new BlockItem(BloodMagicBlocks.VENGEFUL_CRYSTAL_BLOCK.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> STEADFAST_CRYSTAL_BLOCK_ITEM = ITEMS.register("steadfastdemoncrystal", () -> new BlockItem(BloodMagicBlocks.STEADFAST_CRYSTAL_BLOCK.get(), new Item.Properties().group(BloodMagic.TAB)));
public static final RegistryObject<Item> RAW_CRYSTAL = BASICITEMS.register("defaultcrystal", () -> new ItemDemonCrystal(EnumDemonWillType.DEFAULT));
public static final RegistryObject<Item> CORROSIVE_CRYSTAL = BASICITEMS.register("corrosivecrystal", () -> new ItemDemonCrystal(EnumDemonWillType.CORROSIVE));
public static final RegistryObject<Item> VENGEFUL_CRYSTAL = BASICITEMS.register("vengefulcrystal", () -> new ItemDemonCrystal(EnumDemonWillType.VENGEFUL));
public static final RegistryObject<Item> DESTRUCTIVE_CRYSTAL = BASICITEMS.register("destructivecrystal", () -> new ItemDemonCrystal(EnumDemonWillType.DESTRUCTIVE));
public static final RegistryObject<Item> STEADFAST_CRYSTAL = BASICITEMS.register("steadfastcrystal", () -> new ItemDemonCrystal(EnumDemonWillType.STEADFAST));
// ARC Tools
public static final RegistryObject<Item> SANGUINE_REVERTER = BASICITEMS.register("sanguinereverter", () -> new ItemARCToolBase(32, 2));
public static final RegistryObject<Item> PRIMITIVE_FURNACE_CELL = BASICITEMS.register("furnacecell_primitive", () -> new ItemARCToolBase(128, 1.25));

View file

@ -0,0 +1,52 @@
package wayoftime.bloodmagic.common.item;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import wayoftime.bloodmagic.BloodMagic;
import wayoftime.bloodmagic.will.EnumDemonWillType;
import wayoftime.bloodmagic.will.IDiscreteDemonWill;
public class ItemDemonCrystal extends Item implements IDiscreteDemonWill
{
private EnumDemonWillType type;
public ItemDemonCrystal(EnumDemonWillType type)
{
super(new Item.Properties().group(BloodMagic.TAB));
this.type = type;
}
@Override
public double getWill(ItemStack willStack)
{
return getDiscretization(willStack) * willStack.getCount();
}
@Override
public double drainWill(ItemStack willStack, double drainAmount)
{
double discretization = getDiscretization(willStack);
int drainedNumber = (int) Math.floor(Math.min(willStack.getCount() * discretization, drainAmount)
/ discretization);
if (drainedNumber > 0)
{
willStack.shrink(drainedNumber);
return drainedNumber * discretization;
}
return 0;
}
@Override
public double getDiscretization(ItemStack willStack)
{
return 50;
}
@Override
public EnumDemonWillType getType(ItemStack willStack)
{
return type;
}
}

View file

@ -0,0 +1,232 @@
package wayoftime.bloodmagic.tile;
import net.minecraft.block.BlockState;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction;
import net.minecraftforge.registries.ObjectHolder;
import wayoftime.bloodmagic.common.block.BlockDemonCrystal;
import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler;
import wayoftime.bloodmagic.tile.base.TileTicking;
import wayoftime.bloodmagic.will.DemonWillHolder;
import wayoftime.bloodmagic.will.EnumDemonWillType;
public class TileDemonCrystal extends TileTicking
{
public static final double sameWillConversionRate = 50;
public static final double defaultWillConversionRate = 100;
public static final double timeDelayForWrongWill = 0.6;
public final int maxWill = 100;
public final double drainRate = 1;
public DemonWillHolder holder = new DemonWillHolder();
public double progressToNextCrystal = 0;
public int internalCounter = 0;
public Direction placement = Direction.UP; // Side that this crystal is placed on.
public EnumDemonWillType willType;
@ObjectHolder("bloodmagic:demoncrystal")
public static TileEntityType<TileDemonCrystal> TYPE;
public TileDemonCrystal(TileEntityType<?> type, EnumDemonWillType willType)
{
super(type);
this.willType = willType;
}
public TileDemonCrystal(EnumDemonWillType willType)
{
this(TYPE, willType);
}
public TileDemonCrystal()
{
this(TYPE, EnumDemonWillType.DEFAULT);
}
@Override
public void onUpdate()
{
if (getWorld().isRemote)
{
return;
}
internalCounter++;
if (internalCounter % 20 == 0)
{
int crystalCount = getCrystalCount();
if (crystalCount < 7)
{
// this.setCrystalCount(crystalCount + 1);
EnumDemonWillType type = getWillType();
double value = WorldDemonWillHandler.getCurrentWill(getWorld(), pos, type);
if (type != EnumDemonWillType.DEFAULT)
{
if (value >= 0.5)
{
double nextProgress = getCrystalGrowthPerSecond(value);
progressToNextCrystal += WorldDemonWillHandler.drainWill(getWorld(), getPos(), type, nextProgress
* sameWillConversionRate, true) / sameWillConversionRate;
} else
{
value = WorldDemonWillHandler.getCurrentWill(getWorld(), pos, EnumDemonWillType.DEFAULT);
if (value > 0.5)
{
double nextProgress = getCrystalGrowthPerSecond(value) * timeDelayForWrongWill;
progressToNextCrystal += WorldDemonWillHandler.drainWill(getWorld(), getPos(), EnumDemonWillType.DEFAULT, nextProgress
* defaultWillConversionRate, true) / defaultWillConversionRate;
}
}
} else
{
if (value > 0.5)
{
double nextProgress = getCrystalGrowthPerSecond(value);
progressToNextCrystal += WorldDemonWillHandler.drainWill(getWorld(), getPos(), type, nextProgress
* sameWillConversionRate, true) / sameWillConversionRate;
}
}
checkAndGrowCrystal();
}
}
}
/**
* Encourages the crystal to grow by a large percentage by telling it to drain
* will from the aura.
*
* @param willDrain The amount of drain that is needed for the crystal
* to grow successfully for the desired amount. Can be
* more than the base amount.
* @param progressPercentage
* @return percentage actually grown.
*/
public double growCrystalWithWillAmount(double willDrain, double progressPercentage)
{
int crystalCount = getCrystalCount();
if (crystalCount >= 7)
{
return 0;
}
EnumDemonWillType type = this.getWillType();
double value = WorldDemonWillHandler.getCurrentWill(getWorld(), pos, type);
double percentDrain = willDrain <= 0 ? 1 : Math.min(1, value / willDrain);
if (percentDrain <= 0)
{
return 0;
}
// Verification that you can actually drain the will from this chunk, for future
// proofing.
WorldDemonWillHandler.drainWill(getWorld(), pos, type, percentDrain * willDrain, true);
progressToNextCrystal += percentDrain * progressPercentage;
checkAndGrowCrystal();
return percentDrain * progressPercentage;
}
public EnumDemonWillType getWillType()
{
return willType;
}
public void checkAndGrowCrystal()
{
int crystalCount = getCrystalCount();
if (progressToNextCrystal >= 1 && internalCounter % 100 == 0 && crystalCount < 7)
{
progressToNextCrystal--;
this.setCrystalCount(crystalCount + 1);
markDirty();
notifyUpdate();
}
}
public double getMaxWillForCrystal()
{
return 50;
}
public boolean dropSingleCrystal()
{
int crystalCount = getCrystalCount();
if (!getWorld().isRemote && crystalCount > 1)
{
BlockState state = getWorld().getBlockState(pos);
EnumDemonWillType type = getWillType();
// EnumDemonWillType type = state.getValue(BlockDemonCrystal.TYPE);
ItemStack stack = BlockDemonCrystal.getItemStackDropped(type, 1);
if (!stack.isEmpty())
{
setCrystalCount(crystalCount - 1);
InventoryHelper.spawnItemStack(getWorld(), pos.getX(), pos.getY(), pos.getZ(), stack);
notifyUpdate();
return true;
}
}
return false;
}
public double getCrystalGrowthPerSecond(double will)
{
return 1.0 / 200 * Math.sqrt(will / 200);
}
@Override
public void deserialize(CompoundNBT tag)
{
holder.readFromNBT(tag, "Will");
placement = Direction.byIndex(tag.getInt("placement"));
progressToNextCrystal = tag.getDouble("progress");
}
@Override
public CompoundNBT serialize(CompoundNBT tag)
{
holder.writeToNBT(tag, "Will");
tag.putInt("placement", placement.getIndex());
tag.putDouble("progress", progressToNextCrystal);
return tag;
}
public int getCrystalCount()
{
BlockState state = world.getBlockState(getPos());
return state.get(BlockDemonCrystal.AGE);
}
public void setCrystalCount(int crystalCount)
{
BlockState state = world.getBlockState(getPos());
world.setBlockState(getPos(), state.with(BlockDemonCrystal.AGE, crystalCount - 1));
}
public Direction getPlacement()
{
return placement;
}
public void setPlacement(Direction placement)
{
this.placement = placement;
}
// @Override
// protected void onDataPacketClientReceived()
// {
// super.onDataPacketClientReceived();
// notifyUpdate();
// }
}

View file

@ -2,7 +2,9 @@ package wayoftime.bloodmagic.will;
import java.util.Locale;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IStringSerializable;
import wayoftime.bloodmagic.common.item.BloodMagicItems;
public enum EnumDemonWillType implements IStringSerializable
{
@ -30,4 +32,23 @@ public enum EnumDemonWillType implements IStringSerializable
{
return this.toString();
}
public ItemStack getStack()
{
switch (this)
{
case CORROSIVE:
return new ItemStack(BloodMagicItems.CORROSIVE_CRYSTAL.get());
case DEFAULT:
return new ItemStack(BloodMagicItems.RAW_CRYSTAL.get());
case DESTRUCTIVE:
return new ItemStack(BloodMagicItems.DESTRUCTIVE_CRYSTAL.get());
case STEADFAST:
return new ItemStack(BloodMagicItems.STEADFAST_CRYSTAL.get());
case VENGEFUL:
return new ItemStack(BloodMagicItems.VENGEFUL_CRYSTAL.get());
default:
return ItemStack.EMPTY;
}
}
}

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib BlockDemonCrucible.mtl
mtllib blockdemoncrucible.mtl
o BlockDemonCrucible
v 0.125000 0.125000 0.875000
v 0.125000 -0.000000 0.875000

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib BlockDemonCrystallizer.mtl
mtllib blockdemoncrystallizer.mtl
o BlockDemonCrystallizer.001
v 0.125000 0.062500 0.875000
v 0.125000 -0.000000 0.875000

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib BlockDemonPylon.mtl
mtllib blockdemonpylon.mtl
o BlockDemonPylon
v 0.125000 0.125000 0.875000
v 0.125000 -0.000000 0.875000

View file

@ -8,4 +8,4 @@ Kd 0.8 0.8 0.8
#Ks 0.8 0.8 0.8
d 1
#illum 2
map_Kd crystal
map_Kd #crystal

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib Crystal1.mtl
mtllib crystal1.mtl
o Crystal1_Cube.002
v 0.541309 0.522193 0.565775
v 0.475462 0.818325 0.429288

View file

@ -8,4 +8,4 @@ Kd 0.8 0.8 0.8
#Ks 0.8 0.8 0.8
d 1
#illum 2
map_Kd crystal
map_Kd #crystal

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib Crystal2.mtl
mtllib crystal2.mtl
o Crystal2_Cube.003
v 0.583418 0.194815 0.355811
v 0.590795 0.338364 0.208300

View file

@ -8,4 +8,4 @@ Kd 0.8 0.8 0.8
#Ks 0.8 0.8 0.8
d 1
#illum 2
map_Kd crystal
map_Kd #crystal

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib Crystal3.mtl
mtllib crystal3.mtl
o Crystal3_Cube.004
v 0.599699 0.234431 0.715050
v 0.561549 0.133651 0.487765

View file

@ -8,4 +8,4 @@ Kd 0.8 0.8 0.8
#Ks 0.8 0.8 0.8
d 1
#illum 2
map_Kd crystal
map_Kd #crystal

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib Crystal4.mtl
mtllib crystal4.mtl
o Crystal4_Cube.005
v 0.231425 0.272568 0.295285
v 0.148716 0.421674 0.074512

View file

@ -8,4 +8,4 @@ Kd 0.8 0.8 0.8
#Ks 0.8 0.8 0.8
d 1
#illum 2
map_Kd crystal
map_Kd #crystal

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib Crystal5.mtl
mtllib crystal5.mtl
o Crystal5_Cube.006
v 0.349231 0.423691 0.937667
v 0.305391 0.245339 0.724533

View file

@ -8,4 +8,4 @@ Kd 0.8 0.8 0.8
#Ks 0.8 0.8 0.8
d 1
#illum 2
map_Kd crystal
map_Kd #crystal

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib Crystal6.mtl
mtllib crystal6.mtl
o Crystal6_Cube.007
v 0.239487 0.278413 0.616538
v 0.028163 0.346273 0.526362

View file

@ -8,4 +8,4 @@ Kd 0.8 0.8 0.8
#Ks 0.8 0.8 0.8
d 1
#illum 2
map_Kd crystal
map_Kd #crystal

View file

@ -1,6 +1,6 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
mtllib Crystal7.mtl
mtllib crystal7.mtl
o Crystal7_Cube.008
v 0.679569 0.173016 0.537214
v 0.753542 0.268537 0.442736

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/crystal/crystal1.obj",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal",
"particle": "#crystal"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/crystal/crystal2.obj",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal",
"particle": "#crystal"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/crystal/crystal3.obj",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal",
"particle": "#crystal"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/crystal/crystal4.obj",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal",
"particle": "#crystal"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/crystal/crystal5.obj",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal",
"particle": "#crystal"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/crystal/crystal6.obj",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal",
"particle": "#crystal"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/crystal/crystal7.obj",
"textures": {
"crystal": "bloodmagic:models/defaultcrystal",
"particle": "#crystal"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/blockdemoncrucible.obj",
"textures": {
"default": "bloodmagic:models/demoncrucible",
"particle": "#default"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/blockdemoncrystallizer.obj",
"textures": {
"default": "bloodmagic:models/demoncrystallizer",
"particle": "#default"
}
}

View file

@ -0,0 +1,10 @@
{
"parent": "block/block",
"loader": "forge:obj",
"flip-v": true,
"model": "bloodmagic:models/block/blockdemonpylon.obj",
"textures": {
"default": "bloodmagic:models/demonpylon",
"particle": "#default"
}
}

View file

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

View file

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

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