diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 16fbee42..ff054672 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -7,8 +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 +a35188b0244bf9808098c7d49d0af9bd32cef297 assets/bloodmagic/blockstates/corrosivedemoncrystal.json +b696f680545dffa4d3fbcc83b4b81ab58ac69aef assets/bloodmagic/blockstates/destructivedemoncrystal.json 6bd58d1d02a40416cec29409dee7ef80038b26d5 assets/bloodmagic/blockstates/dislocationrune.json ba1cd8a9475212843e3b26232c8a9943fa0d2d20 assets/bloodmagic/blockstates/duskritualstone.json bb3db171734f511fc0c259d86e869b49aa1d0c77 assets/bloodmagic/blockstates/earthritualstone.json @@ -17,13 +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 +a2eaa9166258d7179d9e5099200f777bb9edf613 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 +f1ca47098385a955155cab9c2a97219e02d390a0 assets/bloodmagic/blockstates/steadfastdemoncrystal.json +48ed6b25a5d8d8074c38d772fdc27c1753d42c36 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 @@ -248,6 +248,7 @@ f1a8e3131d85077665563372cad868534a72fb31 data/bloodmagic/loot_tables/blocks/bloo f0827ad5bf71c06a71f50aeb0298c04d0cb1a1d9 data/bloodmagic/loot_tables/blocks/bloodstonebrick.json 779b809a2a51e6dab46f9e6799249f2f14653ebb data/bloodmagic/loot_tables/blocks/chargingrune.json 56643f0e11eaac974a1a95decf31681b7d3ced81 data/bloodmagic/loot_tables/blocks/corrosivedemoncrystal.json +205f5899101262f31f5c1a88bb7d954918d08d04 data/bloodmagic/loot_tables/blocks/demoncrucible.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 diff --git a/src/generated/resources/assets/bloodmagic/blockstates/corrosivedemoncrystal.json b/src/generated/resources/assets/bloodmagic/blockstates/corrosivedemoncrystal.json index 49dacfe0..fb67a253 100644 --- a/src/generated/resources/assets/bloodmagic/blockstates/corrosivedemoncrystal.json +++ b/src/generated/resources/assets/bloodmagic/blockstates/corrosivedemoncrystal.json @@ -2,8 +2,8 @@ "multipart": [ { "when": { - "attached": "down", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal1", @@ -12,8 +12,8 @@ }, { "when": { - "attached": "up", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal1" @@ -21,8 +21,8 @@ }, { "when": { - "attached": "north", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal1", @@ -31,8 +31,8 @@ }, { "when": { - "attached": "south", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal1", @@ -41,8 +41,8 @@ }, { "when": { - "attached": "west", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal1", @@ -52,8 +52,8 @@ }, { "when": { - "attached": "east", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal1", @@ -63,8 +63,8 @@ }, { "when": { - "attached": "down", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal2", @@ -73,8 +73,8 @@ }, { "when": { - "attached": "up", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal2" @@ -82,8 +82,8 @@ }, { "when": { - "attached": "north", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal2", @@ -92,8 +92,8 @@ }, { "when": { - "attached": "south", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal2", @@ -102,8 +102,8 @@ }, { "when": { - "attached": "west", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal2", @@ -113,8 +113,8 @@ }, { "when": { - "attached": "east", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal2", @@ -124,8 +124,8 @@ }, { "when": { - "attached": "down", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal3", @@ -134,8 +134,8 @@ }, { "when": { - "attached": "up", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal3" @@ -143,8 +143,8 @@ }, { "when": { - "attached": "north", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal3", @@ -153,8 +153,8 @@ }, { "when": { - "attached": "south", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal3", @@ -163,8 +163,8 @@ }, { "when": { - "attached": "west", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal3", @@ -174,8 +174,8 @@ }, { "when": { - "attached": "east", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal3", @@ -185,8 +185,8 @@ }, { "when": { - "attached": "down", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal4", @@ -195,8 +195,8 @@ }, { "when": { - "attached": "up", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal4" @@ -204,8 +204,8 @@ }, { "when": { - "attached": "north", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal4", @@ -214,8 +214,8 @@ }, { "when": { - "attached": "south", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal4", @@ -224,8 +224,8 @@ }, { "when": { - "attached": "west", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal4", @@ -235,8 +235,8 @@ }, { "when": { - "attached": "east", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal4", @@ -246,8 +246,8 @@ }, { "when": { - "attached": "down", - "age": "4|5|6" + "age": "4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal5", @@ -256,8 +256,8 @@ }, { "when": { - "attached": "up", - "age": "4|5|6" + "age": "4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal5" @@ -265,8 +265,8 @@ }, { "when": { - "attached": "north", - "age": "4|5|6" + "age": "4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal5", @@ -275,8 +275,8 @@ }, { "when": { - "attached": "south", - "age": "4|5|6" + "age": "4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal5", @@ -285,8 +285,8 @@ }, { "when": { - "attached": "west", - "age": "4|5|6" + "age": "4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal5", @@ -296,8 +296,8 @@ }, { "when": { - "attached": "east", - "age": "4|5|6" + "age": "4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal5", @@ -307,8 +307,8 @@ }, { "when": { - "attached": "down", - "age": "5|6" + "age": "5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal6", @@ -317,8 +317,8 @@ }, { "when": { - "attached": "up", - "age": "5|6" + "age": "5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal6" @@ -326,8 +326,8 @@ }, { "when": { - "attached": "north", - "age": "5|6" + "age": "5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal6", @@ -336,8 +336,8 @@ }, { "when": { - "attached": "south", - "age": "5|6" + "age": "5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal6", @@ -346,8 +346,8 @@ }, { "when": { - "attached": "west", - "age": "5|6" + "age": "5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal6", @@ -357,8 +357,8 @@ }, { "when": { - "attached": "east", - "age": "5|6" + "age": "5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal6", @@ -368,8 +368,8 @@ }, { "when": { - "attached": "down", - "age": "6" + "age": "6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal7", @@ -378,8 +378,8 @@ }, { "when": { - "attached": "up", - "age": "6" + "age": "6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal7" @@ -387,8 +387,8 @@ }, { "when": { - "attached": "north", - "age": "6" + "age": "6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal7", @@ -397,8 +397,8 @@ }, { "when": { - "attached": "south", - "age": "6" + "age": "6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal7", @@ -407,8 +407,8 @@ }, { "when": { - "attached": "west", - "age": "6" + "age": "6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal7", @@ -418,8 +418,8 @@ }, { "when": { - "attached": "east", - "age": "6" + "age": "6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/corrosivecrystal7", diff --git a/src/generated/resources/assets/bloodmagic/blockstates/destructivedemoncrystal.json b/src/generated/resources/assets/bloodmagic/blockstates/destructivedemoncrystal.json index 57ec0106..b99a263f 100644 --- a/src/generated/resources/assets/bloodmagic/blockstates/destructivedemoncrystal.json +++ b/src/generated/resources/assets/bloodmagic/blockstates/destructivedemoncrystal.json @@ -2,8 +2,8 @@ "multipart": [ { "when": { - "attached": "down", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal1", @@ -12,8 +12,8 @@ }, { "when": { - "attached": "up", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal1" @@ -21,8 +21,8 @@ }, { "when": { - "attached": "north", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal1", @@ -31,8 +31,8 @@ }, { "when": { - "attached": "south", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal1", @@ -41,8 +41,8 @@ }, { "when": { - "attached": "west", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal1", @@ -52,8 +52,8 @@ }, { "when": { - "attached": "east", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal1", @@ -63,8 +63,8 @@ }, { "when": { - "attached": "down", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal2", @@ -73,8 +73,8 @@ }, { "when": { - "attached": "up", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal2" @@ -82,8 +82,8 @@ }, { "when": { - "attached": "north", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal2", @@ -92,8 +92,8 @@ }, { "when": { - "attached": "south", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal2", @@ -102,8 +102,8 @@ }, { "when": { - "attached": "west", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal2", @@ -113,8 +113,8 @@ }, { "when": { - "attached": "east", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal2", @@ -124,8 +124,8 @@ }, { "when": { - "attached": "down", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal3", @@ -134,8 +134,8 @@ }, { "when": { - "attached": "up", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal3" @@ -143,8 +143,8 @@ }, { "when": { - "attached": "north", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal3", @@ -153,8 +153,8 @@ }, { "when": { - "attached": "south", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal3", @@ -163,8 +163,8 @@ }, { "when": { - "attached": "west", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal3", @@ -174,8 +174,8 @@ }, { "when": { - "attached": "east", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal3", @@ -185,8 +185,8 @@ }, { "when": { - "attached": "down", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal4", @@ -195,8 +195,8 @@ }, { "when": { - "attached": "up", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal4" @@ -204,8 +204,8 @@ }, { "when": { - "attached": "north", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal4", @@ -214,8 +214,8 @@ }, { "when": { - "attached": "south", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal4", @@ -224,8 +224,8 @@ }, { "when": { - "attached": "west", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal4", @@ -235,8 +235,8 @@ }, { "when": { - "attached": "east", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal4", @@ -246,8 +246,8 @@ }, { "when": { - "attached": "down", - "age": "4|5|6" + "age": "4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal5", @@ -256,8 +256,8 @@ }, { "when": { - "attached": "up", - "age": "4|5|6" + "age": "4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal5" @@ -265,8 +265,8 @@ }, { "when": { - "attached": "north", - "age": "4|5|6" + "age": "4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal5", @@ -275,8 +275,8 @@ }, { "when": { - "attached": "south", - "age": "4|5|6" + "age": "4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal5", @@ -285,8 +285,8 @@ }, { "when": { - "attached": "west", - "age": "4|5|6" + "age": "4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal5", @@ -296,8 +296,8 @@ }, { "when": { - "attached": "east", - "age": "4|5|6" + "age": "4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal5", @@ -307,8 +307,8 @@ }, { "when": { - "attached": "down", - "age": "5|6" + "age": "5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal6", @@ -317,8 +317,8 @@ }, { "when": { - "attached": "up", - "age": "5|6" + "age": "5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal6" @@ -326,8 +326,8 @@ }, { "when": { - "attached": "north", - "age": "5|6" + "age": "5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal6", @@ -336,8 +336,8 @@ }, { "when": { - "attached": "south", - "age": "5|6" + "age": "5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal6", @@ -346,8 +346,8 @@ }, { "when": { - "attached": "west", - "age": "5|6" + "age": "5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal6", @@ -357,8 +357,8 @@ }, { "when": { - "attached": "east", - "age": "5|6" + "age": "5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal6", @@ -368,8 +368,8 @@ }, { "when": { - "attached": "down", - "age": "6" + "age": "6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal7", @@ -378,8 +378,8 @@ }, { "when": { - "attached": "up", - "age": "6" + "age": "6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal7" @@ -387,8 +387,8 @@ }, { "when": { - "attached": "north", - "age": "6" + "age": "6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal7", @@ -397,8 +397,8 @@ }, { "when": { - "attached": "south", - "age": "6" + "age": "6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal7", @@ -407,8 +407,8 @@ }, { "when": { - "attached": "west", - "age": "6" + "age": "6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal7", @@ -418,8 +418,8 @@ }, { "when": { - "attached": "east", - "age": "6" + "age": "6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/destructivecrystal7", diff --git a/src/generated/resources/assets/bloodmagic/blockstates/rawdemoncrystal.json b/src/generated/resources/assets/bloodmagic/blockstates/rawdemoncrystal.json index 868a1e78..be9a5c2a 100644 --- a/src/generated/resources/assets/bloodmagic/blockstates/rawdemoncrystal.json +++ b/src/generated/resources/assets/bloodmagic/blockstates/rawdemoncrystal.json @@ -2,8 +2,8 @@ "multipart": [ { "when": { - "attached": "down", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal1", @@ -12,8 +12,8 @@ }, { "when": { - "attached": "up", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal1" @@ -21,8 +21,8 @@ }, { "when": { - "attached": "north", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal1", @@ -31,8 +31,8 @@ }, { "when": { - "attached": "south", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal1", @@ -41,8 +41,8 @@ }, { "when": { - "attached": "west", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal1", @@ -52,8 +52,8 @@ }, { "when": { - "attached": "east", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal1", @@ -63,8 +63,8 @@ }, { "when": { - "attached": "down", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal2", @@ -73,8 +73,8 @@ }, { "when": { - "attached": "up", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal2" @@ -82,8 +82,8 @@ }, { "when": { - "attached": "north", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal2", @@ -92,8 +92,8 @@ }, { "when": { - "attached": "south", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal2", @@ -102,8 +102,8 @@ }, { "when": { - "attached": "west", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal2", @@ -113,8 +113,8 @@ }, { "when": { - "attached": "east", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal2", @@ -124,8 +124,8 @@ }, { "when": { - "attached": "down", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal3", @@ -134,8 +134,8 @@ }, { "when": { - "attached": "up", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal3" @@ -143,8 +143,8 @@ }, { "when": { - "attached": "north", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal3", @@ -153,8 +153,8 @@ }, { "when": { - "attached": "south", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal3", @@ -163,8 +163,8 @@ }, { "when": { - "attached": "west", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal3", @@ -174,8 +174,8 @@ }, { "when": { - "attached": "east", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal3", @@ -185,8 +185,8 @@ }, { "when": { - "attached": "down", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal4", @@ -195,8 +195,8 @@ }, { "when": { - "attached": "up", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal4" @@ -204,8 +204,8 @@ }, { "when": { - "attached": "north", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal4", @@ -214,8 +214,8 @@ }, { "when": { - "attached": "south", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal4", @@ -224,8 +224,8 @@ }, { "when": { - "attached": "west", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal4", @@ -235,8 +235,8 @@ }, { "when": { - "attached": "east", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal4", @@ -246,8 +246,8 @@ }, { "when": { - "attached": "down", - "age": "4|5|6" + "age": "4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal5", @@ -256,8 +256,8 @@ }, { "when": { - "attached": "up", - "age": "4|5|6" + "age": "4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal5" @@ -265,8 +265,8 @@ }, { "when": { - "attached": "north", - "age": "4|5|6" + "age": "4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal5", @@ -275,8 +275,8 @@ }, { "when": { - "attached": "south", - "age": "4|5|6" + "age": "4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal5", @@ -285,8 +285,8 @@ }, { "when": { - "attached": "west", - "age": "4|5|6" + "age": "4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal5", @@ -296,8 +296,8 @@ }, { "when": { - "attached": "east", - "age": "4|5|6" + "age": "4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal5", @@ -307,8 +307,8 @@ }, { "when": { - "attached": "down", - "age": "5|6" + "age": "5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal6", @@ -317,8 +317,8 @@ }, { "when": { - "attached": "up", - "age": "5|6" + "age": "5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal6" @@ -326,8 +326,8 @@ }, { "when": { - "attached": "north", - "age": "5|6" + "age": "5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal6", @@ -336,8 +336,8 @@ }, { "when": { - "attached": "south", - "age": "5|6" + "age": "5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal6", @@ -346,8 +346,8 @@ }, { "when": { - "attached": "west", - "age": "5|6" + "age": "5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal6", @@ -357,8 +357,8 @@ }, { "when": { - "attached": "east", - "age": "5|6" + "age": "5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal6", @@ -368,8 +368,8 @@ }, { "when": { - "attached": "down", - "age": "6" + "age": "6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal7", @@ -378,8 +378,8 @@ }, { "when": { - "attached": "up", - "age": "6" + "age": "6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal7" @@ -387,8 +387,8 @@ }, { "when": { - "attached": "north", - "age": "6" + "age": "6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal7", @@ -397,8 +397,8 @@ }, { "when": { - "attached": "south", - "age": "6" + "age": "6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal7", @@ -407,8 +407,8 @@ }, { "when": { - "attached": "west", - "age": "6" + "age": "6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal7", @@ -418,8 +418,8 @@ }, { "when": { - "attached": "east", - "age": "6" + "age": "6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/defaultcrystal7", diff --git a/src/generated/resources/assets/bloodmagic/blockstates/steadfastdemoncrystal.json b/src/generated/resources/assets/bloodmagic/blockstates/steadfastdemoncrystal.json index 5a7bc4f4..f886422f 100644 --- a/src/generated/resources/assets/bloodmagic/blockstates/steadfastdemoncrystal.json +++ b/src/generated/resources/assets/bloodmagic/blockstates/steadfastdemoncrystal.json @@ -2,8 +2,8 @@ "multipart": [ { "when": { - "attached": "down", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal1", @@ -12,8 +12,8 @@ }, { "when": { - "attached": "up", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal1" @@ -21,8 +21,8 @@ }, { "when": { - "attached": "north", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal1", @@ -31,8 +31,8 @@ }, { "when": { - "attached": "south", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal1", @@ -41,8 +41,8 @@ }, { "when": { - "attached": "west", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal1", @@ -52,8 +52,8 @@ }, { "when": { - "attached": "east", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal1", @@ -63,8 +63,8 @@ }, { "when": { - "attached": "down", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal2", @@ -73,8 +73,8 @@ }, { "when": { - "attached": "up", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal2" @@ -82,8 +82,8 @@ }, { "when": { - "attached": "north", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal2", @@ -92,8 +92,8 @@ }, { "when": { - "attached": "south", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal2", @@ -102,8 +102,8 @@ }, { "when": { - "attached": "west", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal2", @@ -113,8 +113,8 @@ }, { "when": { - "attached": "east", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal2", @@ -124,8 +124,8 @@ }, { "when": { - "attached": "down", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal3", @@ -134,8 +134,8 @@ }, { "when": { - "attached": "up", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal3" @@ -143,8 +143,8 @@ }, { "when": { - "attached": "north", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal3", @@ -153,8 +153,8 @@ }, { "when": { - "attached": "south", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal3", @@ -163,8 +163,8 @@ }, { "when": { - "attached": "west", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal3", @@ -174,8 +174,8 @@ }, { "when": { - "attached": "east", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal3", @@ -185,8 +185,8 @@ }, { "when": { - "attached": "down", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal4", @@ -195,8 +195,8 @@ }, { "when": { - "attached": "up", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal4" @@ -204,8 +204,8 @@ }, { "when": { - "attached": "north", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal4", @@ -214,8 +214,8 @@ }, { "when": { - "attached": "south", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal4", @@ -224,8 +224,8 @@ }, { "when": { - "attached": "west", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal4", @@ -235,8 +235,8 @@ }, { "when": { - "attached": "east", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal4", @@ -246,8 +246,8 @@ }, { "when": { - "attached": "down", - "age": "4|5|6" + "age": "4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal5", @@ -256,8 +256,8 @@ }, { "when": { - "attached": "up", - "age": "4|5|6" + "age": "4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal5" @@ -265,8 +265,8 @@ }, { "when": { - "attached": "north", - "age": "4|5|6" + "age": "4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal5", @@ -275,8 +275,8 @@ }, { "when": { - "attached": "south", - "age": "4|5|6" + "age": "4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal5", @@ -285,8 +285,8 @@ }, { "when": { - "attached": "west", - "age": "4|5|6" + "age": "4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal5", @@ -296,8 +296,8 @@ }, { "when": { - "attached": "east", - "age": "4|5|6" + "age": "4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal5", @@ -307,8 +307,8 @@ }, { "when": { - "attached": "down", - "age": "5|6" + "age": "5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal6", @@ -317,8 +317,8 @@ }, { "when": { - "attached": "up", - "age": "5|6" + "age": "5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal6" @@ -326,8 +326,8 @@ }, { "when": { - "attached": "north", - "age": "5|6" + "age": "5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal6", @@ -336,8 +336,8 @@ }, { "when": { - "attached": "south", - "age": "5|6" + "age": "5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal6", @@ -346,8 +346,8 @@ }, { "when": { - "attached": "west", - "age": "5|6" + "age": "5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal6", @@ -357,8 +357,8 @@ }, { "when": { - "attached": "east", - "age": "5|6" + "age": "5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal6", @@ -368,8 +368,8 @@ }, { "when": { - "attached": "down", - "age": "6" + "age": "6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal7", @@ -378,8 +378,8 @@ }, { "when": { - "attached": "up", - "age": "6" + "age": "6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal7" @@ -387,8 +387,8 @@ }, { "when": { - "attached": "north", - "age": "6" + "age": "6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal7", @@ -397,8 +397,8 @@ }, { "when": { - "attached": "south", - "age": "6" + "age": "6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal7", @@ -407,8 +407,8 @@ }, { "when": { - "attached": "west", - "age": "6" + "age": "6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal7", @@ -418,8 +418,8 @@ }, { "when": { - "attached": "east", - "age": "6" + "age": "6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/steadfastcrystal7", diff --git a/src/generated/resources/assets/bloodmagic/blockstates/vengefuldemoncrystal.json b/src/generated/resources/assets/bloodmagic/blockstates/vengefuldemoncrystal.json index 75afc7be..c4f8f825 100644 --- a/src/generated/resources/assets/bloodmagic/blockstates/vengefuldemoncrystal.json +++ b/src/generated/resources/assets/bloodmagic/blockstates/vengefuldemoncrystal.json @@ -2,8 +2,8 @@ "multipart": [ { "when": { - "attached": "down", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal1", @@ -12,8 +12,8 @@ }, { "when": { - "attached": "up", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal1" @@ -21,8 +21,8 @@ }, { "when": { - "attached": "north", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal1", @@ -31,8 +31,8 @@ }, { "when": { - "attached": "south", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal1", @@ -41,8 +41,8 @@ }, { "when": { - "attached": "west", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal1", @@ -52,8 +52,8 @@ }, { "when": { - "attached": "east", - "age": "0|1|2|3|4|5|6" + "age": "0|1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal1", @@ -63,8 +63,8 @@ }, { "when": { - "attached": "down", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal2", @@ -73,8 +73,8 @@ }, { "when": { - "attached": "up", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal2" @@ -82,8 +82,8 @@ }, { "when": { - "attached": "north", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal2", @@ -92,8 +92,8 @@ }, { "when": { - "attached": "south", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal2", @@ -102,8 +102,8 @@ }, { "when": { - "attached": "west", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal2", @@ -113,8 +113,8 @@ }, { "when": { - "attached": "east", - "age": "1|2|3|4|5|6" + "age": "1|2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal2", @@ -124,8 +124,8 @@ }, { "when": { - "attached": "down", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal3", @@ -134,8 +134,8 @@ }, { "when": { - "attached": "up", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal3" @@ -143,8 +143,8 @@ }, { "when": { - "attached": "north", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal3", @@ -153,8 +153,8 @@ }, { "when": { - "attached": "south", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal3", @@ -163,8 +163,8 @@ }, { "when": { - "attached": "west", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal3", @@ -174,8 +174,8 @@ }, { "when": { - "attached": "east", - "age": "2|3|4|5|6" + "age": "2|3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal3", @@ -185,8 +185,8 @@ }, { "when": { - "attached": "down", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal4", @@ -195,8 +195,8 @@ }, { "when": { - "attached": "up", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal4" @@ -204,8 +204,8 @@ }, { "when": { - "attached": "north", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal4", @@ -214,8 +214,8 @@ }, { "when": { - "attached": "south", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal4", @@ -224,8 +224,8 @@ }, { "when": { - "attached": "west", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal4", @@ -235,8 +235,8 @@ }, { "when": { - "attached": "east", - "age": "3|4|5|6" + "age": "3|4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal4", @@ -246,8 +246,8 @@ }, { "when": { - "attached": "down", - "age": "4|5|6" + "age": "4|5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal5", @@ -256,8 +256,8 @@ }, { "when": { - "attached": "up", - "age": "4|5|6" + "age": "4|5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal5" @@ -265,8 +265,8 @@ }, { "when": { - "attached": "north", - "age": "4|5|6" + "age": "4|5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal5", @@ -275,8 +275,8 @@ }, { "when": { - "attached": "south", - "age": "4|5|6" + "age": "4|5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal5", @@ -285,8 +285,8 @@ }, { "when": { - "attached": "west", - "age": "4|5|6" + "age": "4|5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal5", @@ -296,8 +296,8 @@ }, { "when": { - "attached": "east", - "age": "4|5|6" + "age": "4|5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal5", @@ -307,8 +307,8 @@ }, { "when": { - "attached": "down", - "age": "5|6" + "age": "5|6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal6", @@ -317,8 +317,8 @@ }, { "when": { - "attached": "up", - "age": "5|6" + "age": "5|6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal6" @@ -326,8 +326,8 @@ }, { "when": { - "attached": "north", - "age": "5|6" + "age": "5|6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal6", @@ -336,8 +336,8 @@ }, { "when": { - "attached": "south", - "age": "5|6" + "age": "5|6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal6", @@ -346,8 +346,8 @@ }, { "when": { - "attached": "west", - "age": "5|6" + "age": "5|6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal6", @@ -357,8 +357,8 @@ }, { "when": { - "attached": "east", - "age": "5|6" + "age": "5|6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal6", @@ -368,8 +368,8 @@ }, { "when": { - "attached": "down", - "age": "6" + "age": "6", + "attached": "down" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal7", @@ -378,8 +378,8 @@ }, { "when": { - "attached": "up", - "age": "6" + "age": "6", + "attached": "up" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal7" @@ -387,8 +387,8 @@ }, { "when": { - "attached": "north", - "age": "6" + "age": "6", + "attached": "north" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal7", @@ -397,8 +397,8 @@ }, { "when": { - "attached": "south", - "age": "6" + "age": "6", + "attached": "south" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal7", @@ -407,8 +407,8 @@ }, { "when": { - "attached": "west", - "age": "6" + "age": "6", + "attached": "west" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal7", @@ -418,8 +418,8 @@ }, { "when": { - "attached": "east", - "age": "6" + "age": "6", + "attached": "east" }, "apply": { "model": "bloodmagic:block/crystal/vengefulcrystal7", diff --git a/src/generated/resources/data/bloodmagic/loot_tables/blocks/demoncrucible.json b/src/generated/resources/data/bloodmagic/loot_tables/blocks/demoncrucible.json new file mode 100644 index 00000000..78793172 --- /dev/null +++ b/src/generated/resources/data/bloodmagic/loot_tables/blocks/demoncrucible.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/BloodMagic.java b/src/main/java/wayoftime/bloodmagic/BloodMagic.java index 5338bcc7..819dec73 100644 --- a/src/main/java/wayoftime/bloodmagic/BloodMagic.java +++ b/src/main/java/wayoftime/bloodmagic/BloodMagic.java @@ -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.TileDemonCrucible; import wayoftime.bloodmagic.tile.TileDemonCrystal; import wayoftime.bloodmagic.tile.TileMasterRitualStone; import wayoftime.bloodmagic.tile.TileSoulForge; @@ -156,6 +157,7 @@ public class BloodMagic 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")); + event.getRegistry().register(TileEntityType.Builder.create(TileDemonCrucible::new, BloodMagicBlocks.DEMON_CRUCIBLE.get()).build(null).setRegistryName("demoncrucible")); } @SubscribeEvent diff --git a/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java b/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java index 6021320f..171f0cf9 100644 --- a/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java +++ b/src/main/java/wayoftime/bloodmagic/client/ClientEvents.java @@ -20,6 +20,7 @@ import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.client.render.block.RenderAlchemyArray; import wayoftime.bloodmagic.client.render.block.RenderAltar; +import wayoftime.bloodmagic.client.render.block.RenderDemonCrucible; import wayoftime.bloodmagic.client.render.entity.BloodLightRenderer; import wayoftime.bloodmagic.client.render.entity.SoulSnareRenderer; import wayoftime.bloodmagic.client.screens.ScreenAlchemicalReactionChamber; @@ -33,6 +34,7 @@ import wayoftime.bloodmagic.common.registries.BloodMagicEntityTypes; import wayoftime.bloodmagic.iface.IMultiWillTool; import wayoftime.bloodmagic.tile.TileAlchemyArray; import wayoftime.bloodmagic.tile.TileAltar; +import wayoftime.bloodmagic.tile.TileDemonCrucible; @Mod.EventBusSubscriber(value = Dist.CLIENT, modid = BloodMagic.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class ClientEvents @@ -42,6 +44,7 @@ public class ClientEvents { ClientRegistry.bindTileEntityRenderer(TileAltar.TYPE, RenderAltar::new); ClientRegistry.bindTileEntityRenderer(TileAlchemyArray.TYPE, RenderAlchemyArray::new); + ClientRegistry.bindTileEntityRenderer(TileDemonCrucible.TYPE, RenderDemonCrucible::new); // ClientRegistry.bindTileEntityRenderer(TileSoulForge.TYPE, RenderAlchemyArray::new); } diff --git a/src/main/java/wayoftime/bloodmagic/client/render/block/RenderAltar.java b/src/main/java/wayoftime/bloodmagic/client/render/block/RenderAltar.java index ed85e794..10aca891 100644 --- a/src/main/java/wayoftime/bloodmagic/client/render/block/RenderAltar.java +++ b/src/main/java/wayoftime/bloodmagic/client/render/block/RenderAltar.java @@ -69,52 +69,6 @@ public class RenderAltar extends TileEntityRenderer matrixStack.pop(); } - public float getRotation(float craftTime) - { - float offset = 2; - if (craftTime >= offset) - { - float modifier = (float) Math.pow(craftTime - offset, 1.5); - return modifier * 1f; - } - return 0; - } - - public float getSecondaryRotation(float craftTime) - { - float offset = 50; - if (craftTime >= offset) - { - float modifier = (float) Math.pow(craftTime - offset, 1.7); - return modifier * 0.5f; - } - return 0; - } - - public float getSizeModifier(float craftTime) - { - if (craftTime >= 150 && craftTime <= 250) - { - return (200 - craftTime) / 50f; - } - return 1.0f; - } - - public float getVerticalOffset(float craftTime) - { - if (craftTime >= 5) - { - if (craftTime <= 40) - { - return (float) ((-0.4) * Math.pow((craftTime - 5) / 35f, 3)); - } else - { - return -0.4f; - } - } - return 0; - } - private void renderItem(ItemStack stack, TileAltar tileAltar, MatrixStack matrixStack, IRenderTypeBuffer buffer, int combinedLightIn, int combinedOverlayIn) { matrixStack.push(); diff --git a/src/main/java/wayoftime/bloodmagic/client/render/block/RenderDemonCrucible.java b/src/main/java/wayoftime/bloodmagic/client/render/block/RenderDemonCrucible.java new file mode 100644 index 00000000..6e5c4f1c --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/client/render/block/RenderDemonCrucible.java @@ -0,0 +1,57 @@ +package wayoftime.bloodmagic.client.render.block; + +import com.mojang.blaze3d.matrix.MatrixStack; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.client.renderer.model.ItemCameraTransforms; +import net.minecraft.client.renderer.tileentity.TileEntityRenderer; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.entity.LivingEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.vector.Vector3f; +import wayoftime.bloodmagic.tile.TileDemonCrucible; + +public class RenderDemonCrucible extends TileEntityRenderer +{ + public RenderDemonCrucible(TileEntityRendererDispatcher rendererDispatcherIn) + { + super(rendererDispatcherIn); + } + + @Override + public void render(TileDemonCrucible tileAltar, float partialTicks, MatrixStack matrixStack, IRenderTypeBuffer buffer, int combinedLightIn, int combinedOverlayIn) + { + ItemStack inputStack = tileAltar.getStackInSlot(0); + + this.renderItem(inputStack, tileAltar, matrixStack, buffer, combinedLightIn, combinedOverlayIn); + } + + private void renderItem(ItemStack stack, TileDemonCrucible tileAltar, MatrixStack matrixStack, IRenderTypeBuffer buffer, int combinedLightIn, int combinedOverlayIn) + { + matrixStack.push(); + Minecraft mc = Minecraft.getInstance(); + ItemRenderer itemRenderer = mc.getItemRenderer(); + if (!stack.isEmpty()) + { + matrixStack.translate(0.5, 1.5, 0.5); + matrixStack.push(); + + float rotation = (float) (720.0 * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL); + + matrixStack.rotate(Vector3f.YP.rotationDegrees(rotation)); + matrixStack.scale(0.5F, 0.5F, 0.5F); + RenderHelper.enableStandardItemLighting(); + IBakedModel ibakedmodel = itemRenderer.getItemModelWithOverrides(stack, tileAltar.getWorld(), (LivingEntity) null); + itemRenderer.renderItem(stack, ItemCameraTransforms.TransformType.FIXED, true, matrixStack, buffer, combinedLightIn, combinedOverlayIn, ibakedmodel); // renderItem + RenderHelper.disableStandardItemLighting(); + + matrixStack.pop(); + } + + matrixStack.pop(); + } +} diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrucible.java b/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrucible.java new file mode 100644 index 00000000..b369f27e --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/common/block/BlockDemonCrucible.java @@ -0,0 +1,101 @@ +package wayoftime.bloodmagic.common.block; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; +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.World; +import net.minecraftforge.common.ToolType; +import wayoftime.bloodmagic.tile.TileDemonCrucible; +import wayoftime.bloodmagic.util.Utils; +import wayoftime.bloodmagic.will.IDemonWillGem; +import wayoftime.bloodmagic.will.IDiscreteDemonWill; + +public class BlockDemonCrucible extends Block +{ + protected static final VoxelShape BODY = Block.makeCuboidShape(1, 0, 1, 15, 12, 15); + + public BlockDemonCrucible() + { + super(Properties.create(Material.ROCK).hardnessAndResistance(2.0F, 5.0F).harvestTool(ToolType.PICKAXE).harvestLevel(1)); + } + + @Override + public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) + { + return BODY; + } + + @Override + public boolean hasTileEntity(BlockState state) + { + return true; + } + + @Override + public TileEntity createTileEntity(BlockState state, IBlockReader world) + { + return new TileDemonCrucible(); + } + + @Override + public ActionResultType onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult blockRayTraceResult) + { + TileDemonCrucible crucible = (TileDemonCrucible) world.getTileEntity(pos); + + if (crucible == null || player.isSneaking()) + return ActionResultType.FAIL; + + ItemStack playerItem = player.getHeldItem(hand); + + if (!playerItem.isEmpty()) + { + if (!(playerItem.getItem() instanceof IDiscreteDemonWill) + && !(playerItem.getItem() instanceof IDemonWillGem)) + { + return ActionResultType.SUCCESS; + } + } + + Utils.insertItemToTile(crucible, player); + + world.notifyBlockUpdate(pos, state, state, 3); + return ActionResultType.SUCCESS; + } + + @Override + public void onPlayerDestroy(IWorld world, BlockPos blockPos, BlockState blockState) + { + TileDemonCrucible altar = (TileDemonCrucible) world.getTileEntity(blockPos); + if (altar != null) + altar.dropItems(); + + super.onPlayerDestroy(world, blockPos, blockState); + } + + @Override + public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) + { + if (!state.isIn(newState.getBlock())) + { + TileEntity tileentity = worldIn.getTileEntity(pos); + if (tileentity instanceof TileDemonCrucible) + { + ((TileDemonCrucible) tileentity).dropItems(); + worldIn.updateComparatorOutputLevel(pos, this); + } + + super.onReplaced(state, worldIn, pos, newState, isMoving); + } + } +} diff --git a/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java b/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java index 1fe8808d..1bbd16a4 100644 --- a/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java +++ b/src/main/java/wayoftime/bloodmagic/common/block/BloodMagicBlocks.java @@ -72,6 +72,8 @@ public class BloodMagicBlocks public static final RegistryObject ALCHEMICAL_REACTION_CHAMBER = BLOCKS.register("alchemicalreactionchamber", () -> new BlockAlchemicalReactionChamber()); public static final RegistryObject ALCHEMY_TABLE = BLOCKS.register("alchemytable", () -> new BlockAlchemyTable()); + public static final RegistryObject DEMON_CRUCIBLE = BLOCKS.register("demoncrucible", () -> new BlockDemonCrucible()); + public static final RegistryObject RAW_CRYSTAL_BLOCK = BLOCKS.register("rawdemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.DEFAULT)); public static final RegistryObject CORROSIVE_CRYSTAL_BLOCK = BLOCKS.register("corrosivedemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.CORROSIVE)); public static final RegistryObject DESTRUCTIVE_CRYSTAL_BLOCK = BLOCKS.register("destructivedemoncrystal", () -> new BlockDemonCrystal(EnumDemonWillType.DESTRUCTIVE)); diff --git a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java index 88f338b3..b1f496b1 100644 --- a/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java +++ b/src/main/java/wayoftime/bloodmagic/common/data/GeneratorLootTable.java @@ -72,6 +72,7 @@ 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()); + registerDropSelfLootTable(BloodMagicBlocks.DEMON_CRUCIBLE.get()); // registerNoDropLootTable(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get()); registerDropCrystalsLootTable(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), BloodMagicItems.RAW_CRYSTAL.get()); diff --git a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java index d1eeae81..54c0fd6b 100644 --- a/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java +++ b/src/main/java/wayoftime/bloodmagic/common/item/BloodMagicItems.java @@ -65,6 +65,7 @@ public class BloodMagicItems public static final RegistryObject DUSK_RITUAL_STONE_ITEM = ITEMS.register("duskritualstone", () -> new BlockItem(BloodMagicBlocks.DUSK_RITUAL_STONE.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject DAWN_RITUAL_STONE_ITEM = ITEMS.register("lightritualstone", () -> new BlockItem(BloodMagicBlocks.DAWN_RITUAL_STONE.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject ALCHEMICAL_REACTION_CHAMBER_ITEM = ITEMS.register("alchemicalreactionchamber", () -> new BlockItem(BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get(), new Item.Properties().group(BloodMagic.TAB))); + public static final RegistryObject DEMON_CRUCIBLE_ITEM = ITEMS.register("demoncrucible", () -> new BlockItem(BloodMagicBlocks.DEMON_CRUCIBLE.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject BLOODSTONE_ITEM = ITEMS.register("largebloodstonebrick", () -> new BlockItem(BloodMagicBlocks.BLOODSTONE.get(), new Item.Properties().group(BloodMagic.TAB))); public static final RegistryObject BLOODSTONE_BRICK_ITEM = ITEMS.register("bloodstonebrick", () -> new BlockItem(BloodMagicBlocks.BLOODSTONE_BRICK.get(), new Item.Properties().group(BloodMagic.TAB))); diff --git a/src/main/java/wayoftime/bloodmagic/demonaura/WillChunk.java b/src/main/java/wayoftime/bloodmagic/demonaura/WillChunk.java index f93cfb8f..14cb3f02 100644 --- a/src/main/java/wayoftime/bloodmagic/demonaura/WillChunk.java +++ b/src/main/java/wayoftime/bloodmagic/demonaura/WillChunk.java @@ -2,7 +2,7 @@ package wayoftime.bloodmagic.demonaura; import java.lang.ref.WeakReference; -import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.IChunk; import wayoftime.bloodmagic.will.DemonWillHolder; public class WillChunk @@ -10,14 +10,14 @@ public class WillChunk PosXY loc; private short base; private DemonWillHolder currentWill = new DemonWillHolder(); - private WeakReference chunkRef; + private WeakReference chunkRef; public WillChunk(PosXY loc) { this.loc = loc; } - public WillChunk(Chunk chunk, short base, DemonWillHolder currentWill) + public WillChunk(IChunk chunk, short base, DemonWillHolder currentWill) { this.loc = new PosXY(chunk.getPos().x, chunk.getPos().z); this.chunkRef = new WeakReference(chunk); @@ -60,12 +60,12 @@ public class WillChunk this.currentWill = currentWill; } - public WeakReference getChunkRef() + public WeakReference getChunkRef() { return chunkRef; } - public void setChunkRef(WeakReference chunkRef) + public void setChunkRef(WeakReference chunkRef) { this.chunkRef = chunkRef; } diff --git a/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java b/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java index c26cf624..38d0722c 100644 --- a/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java +++ b/src/main/java/wayoftime/bloodmagic/demonaura/WorldDemonWillHandler.java @@ -9,6 +9,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.IChunk; import wayoftime.bloodmagic.util.BMLog; import wayoftime.bloodmagic.will.DemonWillHolder; import wayoftime.bloodmagic.will.EnumDemonWillType; @@ -35,9 +36,9 @@ public class WorldDemonWillHandler return getWillHolder(getDimensionResourceLocation(world), pos.getX() >> 4, pos.getZ() >> 4); } - public static WillWorld getWillWorld(int dim) + public static WillWorld getWillWorld(ResourceLocation rl) { - return containedWills.get(dim); + return containedWills.get(rl); } @Nullable @@ -60,13 +61,13 @@ public class WorldDemonWillHandler } } - public static void removeWillWorld(int dim) + public static void removeWillWorld(ResourceLocation rl) { - containedWills.remove(dim); - BMLog.DEBUG.info("Removing demon will cache for world {}", dim); + containedWills.remove(rl); + BMLog.DEBUG.info("Removing demon will cache for world {}", rl); } - public static void addWillChunk(ResourceLocation resourceLocation, Chunk chunk, short base, DemonWillHolder currentWill) + public static void addWillChunk(ResourceLocation resourceLocation, IChunk chunk, short base, DemonWillHolder currentWill) { WillWorld aw = containedWills.get(resourceLocation); if (aw == null) @@ -167,7 +168,7 @@ public class WorldDemonWillHandler if (willChunk == null) { Chunk chunk = world.getChunk(pos.getX() >> 4, pos.getZ() >> 4); - generateWill(chunk); + generateWill(chunk, world); willChunk = getWillChunk(getDimensionResourceLocation(world), pos.getX() >> 4, pos.getZ() >> 4); } @@ -206,13 +207,14 @@ public class WorldDemonWillHandler } } - public static void generateWill(Chunk chunk) + public static void generateWill(IChunk chunk, World world) { - addWillChunk(chunk.getWorld().getDimensionKey().getLocation(), chunk, (short) 1, new DemonWillHolder()); + addWillChunk(getDimensionResourceLocation(world), chunk, (short) 1, new DemonWillHolder()); } - private static ResourceLocation getDimensionResourceLocation(World world) + public static ResourceLocation getDimensionResourceLocation(World world) { return world.getDimensionKey().getLocation(); } + } \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrucible.java b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrucible.java new file mode 100644 index 00000000..1e55cc31 --- /dev/null +++ b/src/main/java/wayoftime/bloodmagic/tile/TileDemonCrucible.java @@ -0,0 +1,271 @@ +package wayoftime.bloodmagic.tile; + +import java.util.HashMap; +import java.util.Map.Entry; + +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.tileentity.ITickableTileEntity; +import net.minecraft.tileentity.TileEntityType; +import net.minecraft.util.Direction; +import net.minecraftforge.registries.ObjectHolder; +import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; +import wayoftime.bloodmagic.will.EnumDemonWillType; +import wayoftime.bloodmagic.will.IDemonWillConduit; +import wayoftime.bloodmagic.will.IDemonWillGem; +import wayoftime.bloodmagic.will.IDiscreteDemonWill; + +public class TileDemonCrucible extends TileInventory implements ITickableTileEntity, IDemonWillConduit, ISidedInventory +{ + @ObjectHolder("bloodmagic:demoncrucible") + public static TileEntityType TYPE; + public final int maxWill = 100; + public final double gemDrainRate = 10; + public HashMap willMap = new HashMap<>(); // TODO: Change to DemonWillHolder + public int internalCounter = 0; + + public TileDemonCrucible(TileEntityType type) + { + super(type, 1, "demoncrucible"); + } + + public TileDemonCrucible() + { + this(TYPE); + } + + @Override + public void tick() + { + if (getWorld().isRemote) + { + return; + } + + internalCounter++; + + if (getWorld().isBlockPowered(getPos())) + { + // TODO: Fill the contained gem if it is there. + ItemStack stack = this.getStackInSlot(0); + if (stack.getItem() instanceof IDemonWillGem) + { + IDemonWillGem gemItem = (IDemonWillGem) stack.getItem(); + for (EnumDemonWillType type : EnumDemonWillType.values()) + { + if (willMap.containsKey(type)) + { + double current = willMap.get(type); + double fillAmount = Math.min(gemDrainRate, current); + if (fillAmount > 0) + { + fillAmount = gemItem.fillWill(type, stack, fillAmount, true); + if (willMap.get(type) - fillAmount <= 0) + { + willMap.remove(type); + } else + { + willMap.put(type, willMap.get(type) - fillAmount); + } + } + } + } + } + } else + { + ItemStack stack = this.getStackInSlot(0); + if (!stack.isEmpty()) + { + if (stack.getItem() instanceof IDemonWillGem) + { + IDemonWillGem gemItem = (IDemonWillGem) stack.getItem(); + for (EnumDemonWillType type : EnumDemonWillType.values()) + { + double currentAmount = WorldDemonWillHandler.getCurrentWill(getWorld(), pos, type); + double drainAmount = Math.min(maxWill - currentAmount, gemDrainRate); + double filled = WorldDemonWillHandler.fillWillToMaximum(getWorld(), pos, type, drainAmount, maxWill, false); + + filled = gemItem.drainWill(type, stack, filled, false); + if (filled > 0) + { + filled = gemItem.drainWill(type, stack, filled, true); + WorldDemonWillHandler.fillWillToMaximum(getWorld(), pos, type, filled, maxWill, true); + } + } + } else if (stack.getItem() instanceof IDiscreteDemonWill) // TODO: Limit the speed of this process + { + IDiscreteDemonWill willItem = (IDiscreteDemonWill) stack.getItem(); + EnumDemonWillType type = willItem.getType(stack); + double currentAmount = WorldDemonWillHandler.getCurrentWill(getWorld(), pos, type); + double needed = maxWill - currentAmount; + double discreteAmount = willItem.getDiscretization(stack); + if (needed >= discreteAmount) + { + double filled = willItem.drainWill(stack, discreteAmount); + if (filled > 0) + { + WorldDemonWillHandler.fillWillToMaximum(getWorld(), pos, type, filled, maxWill, true); + if (stack.getCount() <= 0) + { + this.setInventorySlotContents(0, ItemStack.EMPTY); + } + } + } + } + } + } + } + + @Override + public void deserialize(CompoundNBT tag) + { + super.deserialize(tag); + + willMap.clear(); + + for (EnumDemonWillType type : EnumDemonWillType.values()) + { + double amount = tag.getDouble("EnumWill" + type.name()); + if (amount > 0) + { + willMap.put(type, amount); + } + } + } + + @Override + public CompoundNBT serialize(CompoundNBT tag) + { + super.serialize(tag); + + for (Entry entry : willMap.entrySet()) + { + tag.putDouble("EnumWill" + entry.getKey().name(), entry.getValue()); + } + return tag; + } + + // IDemonWillConduit + + @Override + public int getWeight() + { + return 10; + } + + @Override + public double fillDemonWill(EnumDemonWillType type, double amount, boolean doFill) + { + if (amount <= 0) + { + return 0; + } + + if (!canFill(type)) + { + return 0; + } + + if (!doFill) + { + if (!willMap.containsKey(type)) + { + return Math.min(maxWill, amount); + } + + return Math.min(maxWill - willMap.get(type), amount); + } + + if (!willMap.containsKey(type)) + { + double max = Math.min(maxWill, amount); + + willMap.put(type, max); + + return max; + } + + double current = willMap.get(type); + double filled = maxWill - current; + + if (amount < filled) + { + willMap.put(type, current + amount); + filled = amount; + } else + { + willMap.put(type, (double) maxWill); + } + + return filled; + } + + @Override + public double drainDemonWill(EnumDemonWillType type, double amount, boolean doDrain) + { + if (!willMap.containsKey(type)) + { + return 0; + } + + double drained = amount; + double current = willMap.get(type); + if (current < drained) + { + drained = current; + } + + if (doDrain) + { + current -= drained; + if (current <= 0) + { + willMap.remove(type); + } else + { + willMap.put(type, current); + } + } + + return drained; + } + + @Override + public boolean canFill(EnumDemonWillType type) + { + return true; + } + + @Override + public boolean canDrain(EnumDemonWillType type) + { + return true; + } + + @Override + public double getCurrentWill(EnumDemonWillType type) + { + return willMap.containsKey(type) ? willMap.get(type) : 0; + } + + @Override + public int[] getSlotsForFace(Direction side) + { + return new int[] + { 0 }; + } + + @Override + public boolean canInsertItem(int index, ItemStack stack, Direction direction) + { + return !stack.isEmpty() && inventory.get(0).isEmpty() + && (stack.getItem() instanceof IDemonWillGem || stack.getItem() instanceof IDiscreteDemonWill); + } + + @Override + public boolean canExtractItem(int index, ItemStack stack, Direction direction) + { + return true; + } +} \ No newline at end of file diff --git a/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java b/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java index c4fe0395..ceb5f3f5 100644 --- a/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java +++ b/src/main/java/wayoftime/bloodmagic/util/handler/event/WillHandler.java @@ -2,6 +2,7 @@ package wayoftime.bloodmagic.util.handler.event; import java.util.HashMap; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; @@ -9,17 +10,28 @@ import net.minecraft.entity.MobEntity; import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; import net.minecraft.potion.EffectInstance; import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.ChunkPos; import net.minecraft.world.Difficulty; +import net.minecraft.world.World; +import net.minecraftforge.event.TickEvent; import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.event.entity.player.EntityItemPickupEvent; +import net.minecraftforge.event.world.ChunkDataEvent; import net.minecraftforge.eventbus.api.Event; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.item.BloodMagicItems; +import wayoftime.bloodmagic.demonaura.PosXY; +import wayoftime.bloodmagic.demonaura.WillChunk; +import wayoftime.bloodmagic.demonaura.WorldDemonWillHandler; import wayoftime.bloodmagic.potion.BloodMagicPotions; +import wayoftime.bloodmagic.will.DemonWillHolder; import wayoftime.bloodmagic.will.EnumDemonWillType; import wayoftime.bloodmagic.will.IDemonWill; import wayoftime.bloodmagic.will.IDemonWillWeapon; @@ -28,7 +40,7 @@ import wayoftime.bloodmagic.will.PlayerDemonWillHandler; @Mod.EventBusSubscriber(modid = BloodMagic.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class WillHandler { - private static final HashMap SERVER_TICKS = new HashMap<>(); + private static final HashMap SERVER_TICKS = new HashMap<>(); // Adds Will to player @SubscribeEvent @@ -112,4 +124,84 @@ public class WillHandler } } } + + @SubscribeEvent + public void onServerWorldTick(TickEvent.WorldTickEvent event) + { + if (event.world.isRemote) + return; + + ResourceLocation rl = WorldDemonWillHandler.getDimensionResourceLocation(event.world); +// int dim = event.world.provider.getDimension(); + if (event.phase == TickEvent.Phase.END) + { + if (!SERVER_TICKS.containsKey(rl)) + SERVER_TICKS.put(rl, 0); + + int ticks = (SERVER_TICKS.get(rl)); + + if (ticks % 20 == 0) + { + CopyOnWriteArrayList dirtyChunks = WorldDemonWillHandler.dirtyChunks.get(rl); + if ((dirtyChunks != null) && (dirtyChunks.size() > 0)) + { + for (PosXY pos : dirtyChunks) + event.world.markChunkDirty(new BlockPos(pos.x * 16, 5, pos.y * 16), null); + + dirtyChunks.clear(); + } + } + + SERVER_TICKS.put(rl, ticks + 1); + } + + } + + @SubscribeEvent + public void chunkSave(ChunkDataEvent.Save event) + { + if (!(event.getWorld() instanceof World)) + { + return; + } + ResourceLocation rl = WorldDemonWillHandler.getDimensionResourceLocation((World) event.getWorld()); +// int dim = event.getWorld().provider.getDimension(); + + ChunkPos loc = event.getChunk().getPos(); + + CompoundNBT nbt = new CompoundNBT(); + event.getData().put("BloodMagic", nbt); + + WillChunk ac = WorldDemonWillHandler.getWillChunk(rl, loc.x, loc.z); + if (ac != null) + { + nbt.putShort("base", ac.getBase()); + ac.getCurrentWill().writeToNBT(nbt, "current"); +// if (event.getChunk() instanceof Chunk && !((Chunk) event.getChunk()).setLoaded(loaded);) + if (!event.getWorld().getChunkProvider().isChunkLoaded(event.getChunk().getPos())) + WorldDemonWillHandler.removeWillChunk(rl, loc.x, loc.z); + } + } + + @SubscribeEvent + public void chunkLoad(ChunkDataEvent.Load event) + { + if (!(event.getWorld() instanceof World)) + { + return; + } + ResourceLocation rl = WorldDemonWillHandler.getDimensionResourceLocation((World) event.getWorld()); +// int dim = event.getWorld().provider.getDimension(); + if (event.getData().getCompound("BloodMagic").contains("base")) + { + CompoundNBT nbt = event.getData().getCompound("BloodMagic"); + short base = nbt.getShort("base"); + DemonWillHolder current = new DemonWillHolder(); + current.readFromNBT(nbt, "current"); + WorldDemonWillHandler.addWillChunk(rl, event.getChunk(), base, current); + } else + { + WorldDemonWillHandler.generateWill(event.getChunk(), (World) event.getWorld()); + } + } }