diff --git a/gradle.properties b/gradle.properties index 9506555..ee2ad8e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,4 +6,4 @@ org.gradle.daemon=false mod.id = modernlifepatch mod.group = com.r3944realms.modernlifepatch mod.author = r3944Realms -mod.version = 1.18.2-1.5.0-beta \ No newline at end of file +mod.version = 1.18.2-1.5.1-beta \ No newline at end of file diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 94c0d26..77e5e6d 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -27,44 +27,44 @@ d5b9c1362a5b10137f0a8b20b4b5774cc2912429 assets/modernlifepatch/blockstates/two_ b9ecfdaadc1a9dd536d7124b65d6054d2d6a2ff5 assets/modernlifepatch/blockstates/white_concrete_barrier.json a65db9338552468602ea4ed3707f569d88e98ac4 assets/modernlifepatch/blockstates/yellow_concrete_barrier.json 2972f1d246d42a194df6ef0e4aa97637bd81d012 assets/modernlifepatch/blockstates/zero_block.json -2f8aae98f4738e0f104ece5ed9e14d6d0dc2bd1f assets/modernlifepatch/lang/en_us.json -69cd8638171301da76611d20ca22007792cb5786 assets/modernlifepatch/lang/zh_cn.json +f03bebdffac97a52a25b16735d27b1f4ce620e7e assets/modernlifepatch/lang/en_us.json +e312ccca0b8e9ef5f4d3df3c0d55ecb7f23e0aef assets/modernlifepatch/lang/zh_cn.json 2f9098dc8325d5df5c620c407b6b10ee665e2bc3 assets/modernlifepatch/models/block/black_concrete_barrier.json 7fe678ee95c63aebb23a377ba9936871238006bf assets/modernlifepatch/models/block/blue_concrete_barrier.json 4e6d4ce5154a735fa898431cdf16d6dbd48d795f assets/modernlifepatch/models/block/brown_concrete_barrier.json 7a0ff06de77ed8acb5d19c771f71bccc035cfd91 assets/modernlifepatch/models/block/cyan_concrete_barrier.json -333b8a9079a64268ae6ed173752442d9c7f56ef1 assets/modernlifepatch/models/block/eight_block.json -a514643f7a36ba579e12bfbb2a3e35f92335b252 assets/modernlifepatch/models/block/five_block.json -09455f6fba4fb562f4b498c3b2ab48a4d0805c03 assets/modernlifepatch/models/block/four_block.json +01b2657496044ed794206c279ba5143ac4b3e59d assets/modernlifepatch/models/block/eight_block.json +51becd1dfd3479a5420810434f0c05ad40343b05 assets/modernlifepatch/models/block/five_block.json +87ffbb48bb533039d36f6975b6162398aeb27138 assets/modernlifepatch/models/block/four_block.json d9dd48f5c165668c30ca2e7c385e3a360c82ac5e assets/modernlifepatch/models/block/gray_concrete_barrier.json 21cdf6bbe65055c572bb16604e6775757ec3b52b assets/modernlifepatch/models/block/green_concrete_barrier.json e409887bf6618b759c36232f3b82e35279ffa81a assets/modernlifepatch/models/block/light_blue_concrete_barrier.json c4fc2d2ef34f3c344b13c2ea6019c5067074cc5a assets/modernlifepatch/models/block/light_gray_concrete_barrier.json 7c8675df5f2bf5e75c710800b90f482bf3106497 assets/modernlifepatch/models/block/lime_concrete_barrier.json 58d3fee169c338be985552324b008768986f6dfb assets/modernlifepatch/models/block/magenta_concrete_barrier.json -dd080450b0fc0355426207d80c86eab1c4d5f67e assets/modernlifepatch/models/block/nine_block.json -6f915a3f8a3bd997e4a1fe284dd426626d15d656 assets/modernlifepatch/models/block/null_block.json -80b0b4895dcdb4a3879f35226a1b2ce77b841e56 assets/modernlifepatch/models/block/one_block.json +c19a132aa4d3628c9406988e4537147c060de7fb assets/modernlifepatch/models/block/nine_block.json +39aaf990b6c471880cbb3280fb0945bad5f9940f assets/modernlifepatch/models/block/null_block.json +47b677200890ff70e53c900e350717103c1259ea assets/modernlifepatch/models/block/one_block.json 13d8a1554bba976044a85fd9a09c16cf3de788fa assets/modernlifepatch/models/block/orange_concrete_barrier.json 89c827f9155942e0ffc085ba506f835816f98110 assets/modernlifepatch/models/block/pink_concrete_barrier.json c8aac0bfecb588c5c5a984597b0a47e95f40903a assets/modernlifepatch/models/block/purple_concrete_barrier.json 88c4a55c6cc5b20069f5caa5a90d475aee97ef5f assets/modernlifepatch/models/block/quartz_block_barrier.json 17d406d701961246f8c892aad69b0cd836a424c4 assets/modernlifepatch/models/block/red_concrete_barrier.json -b65ba24a2e435d2dcd893010e7d39311f880aa4d assets/modernlifepatch/models/block/seven_block.json -77cdec6767b72a69ad5755da585346c828079395 assets/modernlifepatch/models/block/six_block.json +1ea15d6e316c8ec431f08e02f91f445d7c5eaeba assets/modernlifepatch/models/block/seven_block.json +20f3648c45d5891e9fe9e0d8c5991f053ede507b assets/modernlifepatch/models/block/six_block.json a7d8260dc68880f3110590226a1fb83818587586 assets/modernlifepatch/models/block/smooth_quartz_barrier.json -1e58a73d3909e30e718db936ef93ced5f175c342 assets/modernlifepatch/models/block/three_block.json -dcac21e9dfb5108a3d84c27c4617c9c395b7517d assets/modernlifepatch/models/block/two_block.json +8d23e5c93b149ddd7c21cc307ac76583ee867155 assets/modernlifepatch/models/block/three_block.json +299bceae34425e8e865c35e1561d8967a7cace3e assets/modernlifepatch/models/block/two_block.json 06b847a878809b0a11992974018c231d64ade8b2 assets/modernlifepatch/models/block/white_concrete_barrier.json 5c63761872ee04c10163d1517054b323bce0879b assets/modernlifepatch/models/block/yellow_concrete_barrier.json -78c10eefde3c624e415d7d68c979a3152fba6497 assets/modernlifepatch/models/block/zero_block.json +5fa98043ccd3415cd03e586456dad7a528fc4c74 assets/modernlifepatch/models/block/zero_block.json 3f05e49c9a4dc41050e540e392cae6f8d661b550 assets/modernlifepatch/models/item/black_concrete_barrier.json 257475b9a67cd737e0b9d703758dbfaeda199df8 assets/modernlifepatch/models/item/blue_concrete_barrier.json e4ad59c26f4e6195e1c3a08b9315ca023d50ee66 assets/modernlifepatch/models/item/brown_concrete_barrier.json 486e77c42febdff075c3af512aa3d7668f4e1605 assets/modernlifepatch/models/item/cyan_concrete_barrier.json -a080fd31d9afa277688a5293b079a7e4c84dffea assets/modernlifepatch/models/item/eight_block.json -b51a6b07411df0f68ba4e71b0fedcbb26d219af4 assets/modernlifepatch/models/item/five_block.json -ace9d957b1290185deaeb92a439030ae4cf89d75 assets/modernlifepatch/models/item/four_block.json +896daf77109e8ab17397b657c7d0eefcd3ff8a4a assets/modernlifepatch/models/item/eight_block.json +1e6cd99a0c2744f2287cc7ab992d8e253d813e89 assets/modernlifepatch/models/item/five_block.json +8db3a8eb9b2a307cbee2943d55e6383936ce7fcb assets/modernlifepatch/models/item/four_block.json ef511c3322c14ec0435fa1f80e8c4a3e7b9c70a9 assets/modernlifepatch/models/item/gray_concrete_barrier.json 6ac27fc3feae8f773efe63e5841729c9e3afd353 assets/modernlifepatch/models/item/green_concrete_barrier.json ac9cec2e51193a3ebaa165fe91c9bb3f9f3fcc32 assets/modernlifepatch/models/item/large_mirror.json @@ -74,23 +74,23 @@ b6d5b4adcd1080d10b1f61d8a005b189e9ac7916 assets/modernlifepatch/models/item/lime b893eba1f576bd15b45738e5260c9c4e145f1ca9 assets/modernlifepatch/models/item/magenta_concrete_barrier.json de63e31ba044ddc8d09dd10945a560d414e185c4 assets/modernlifepatch/models/item/massive_mirror.json 80cb85eae418087ea09e8b0d34289b3faf7f0faf assets/modernlifepatch/models/item/mirror.json -9f2a018d44c412f3d2e1dc1f076f1f7e119afddc assets/modernlifepatch/models/item/nine_block.json -bfd93a3d39c417a6ba203c06e9f007d4d3d62755 assets/modernlifepatch/models/item/null_block.json -c0220b60f875b208ca9be034f5436a01c72ba68b assets/modernlifepatch/models/item/one_block.json +82c68c60c6298acd6f921273688430f04b221eee assets/modernlifepatch/models/item/nine_block.json +b09d30c3f6537b42312d1cef618a867b5cd5fcd7 assets/modernlifepatch/models/item/null_block.json +0a90421d1a0b2a7ec420314906228faf3dd80b83 assets/modernlifepatch/models/item/one_block.json 820ca45ce0583fecd57532e96d5e63c588de7857 assets/modernlifepatch/models/item/orange_concrete_barrier.json c01d9ce9cad70c212304f05e598c5106f6ebf032 assets/modernlifepatch/models/item/pink_concrete_barrier.json d48d83cd3164a34cd11b659d1b4f68c9621d859d assets/modernlifepatch/models/item/purple_concrete_barrier.json 4b20a7fb96ba97bcd8d55df4c299f03be3c8905a assets/modernlifepatch/models/item/quartz_block_barrier.json a7b15c8732d9932731417784e20a7d8bf1cf0cb5 assets/modernlifepatch/models/item/red_concrete_barrier.json -cf0270242758457c525f9e94738b566db626e364 assets/modernlifepatch/models/item/seven_block.json -a24f01550201a9de5aa2fd9dfb40cf549175ac81 assets/modernlifepatch/models/item/six_block.json +22d963654ce437c2684c1b70a46fd895421287d6 assets/modernlifepatch/models/item/seven_block.json +278f14b1f3225eb0dca6cd28343daecb02199d8f assets/modernlifepatch/models/item/six_block.json 596c0a1f96a7ce89cfbdd16e7f45d64129fa152c assets/modernlifepatch/models/item/smooth_quartz_barrier.json ddaaed0180f28afb8dfa1c4270e9872360aca2a7 assets/modernlifepatch/models/item/tall_mirror.json -b9f44e3e4f757b504394e0d56b231127a26a9c74 assets/modernlifepatch/models/item/three_block.json -8a87c68a60901a815b9447ac91a350713bbb1ae0 assets/modernlifepatch/models/item/two_block.json +aab252031fbdc186b94f49db4fc36350a31cadf3 assets/modernlifepatch/models/item/three_block.json +2af0c9fbbf39519c9f41ad5bb4ecfc1c00982de4 assets/modernlifepatch/models/item/two_block.json b32a5f2cc4838d261cb0b2f4429e3bb534bf7bc9 assets/modernlifepatch/models/item/white_concrete_barrier.json f6baef0eba7e5d6332945cc9d952843b07415297 assets/modernlifepatch/models/item/yellow_concrete_barrier.json -c3b4a6df8a7eab34205e67cb5c7978a8d24fa1e1 assets/modernlifepatch/models/item/zero_block.json +2c81d08ab208f11d8af04dec1fa83fb2dc8de823 assets/modernlifepatch/models/item/zero_block.json 5776b0035345ad6dffe20dd4fe89c2ba4ec4f445 data/minecraft/advancements/recipes/decorations/black_concrete_barrier_from_black_concrete_stonecutting.json 0fe9ac0e040844bfe8c7f8acf789e9e62d1b504b data/minecraft/advancements/recipes/decorations/blue_concrete_barrier_from_blue_concrete_stonecutting.json b3b168bf51019cd6bd6875b86fd74bcc5f5c2525 data/minecraft/advancements/recipes/decorations/brown_concrete_barrier_from_brown_concrete_stonecutting.json @@ -199,7 +199,7 @@ d47984a56d0e2e269c1653049710f7c111d21e46 data/minecraft/tags/blocks/mineable/pic e3b1f573605d846515a967f0dc47f6cc194054ea data/modernlifepatch/advancements/recipes/decorations/large_mirror.json 2e19bc218d3414988ba9744dde0065b56d8568f1 data/modernlifepatch/advancements/recipes/decorations/massive_mirror.json 5ca06b9db5622369088059c82f7fbd9d6ebdb4e0 data/modernlifepatch/advancements/recipes/decorations/mirror.json -d873f2983c80e6870880f070fb18b033be57fbea data/modernlifepatch/advancements/recipes/decorations/null_block.json +fc829f2210f09b9f82d8b81d75b2580b3c488b0b data/modernlifepatch/advancements/recipes/decorations/null_block.json f530958baac72ec117593beb583cfb489caaf795 data/modernlifepatch/advancements/recipes/decorations/tall_mirror.json bf4d8877efd5a353a8c5648b1591b8b2dfefbbf1 data/modernlifepatch/loot_tables/blocks/black_concrete_barrier.json eb288f8befe58a79b99e6434a9a74582d7ff82e9 data/modernlifepatch/loot_tables/blocks/blue_concrete_barrier.json @@ -237,7 +237,7 @@ eb207ede0cd5b1d4af813e3786e948b6b3e6807e data/modernlifepatch/loot_tables/blocks 991b44d89265fa18c6eae9d488fe266f992938f2 data/modernlifepatch/recipes/large_mirror.json ab176773d07c8e9d6a798aa814cdc3b47ddc0594 data/modernlifepatch/recipes/massive_mirror.json 981f4ada5cbf1c4a387846415a916088ab305059 data/modernlifepatch/recipes/mirror.json -f9620cd772cf4ddbeddec1d4b4c686a2e7fbd0c6 data/modernlifepatch/recipes/null_block.json +a456ccc4dec979138e22e97041e1a2bec362429c data/modernlifepatch/recipes/null_block.json 520f615353aca735689ae25ba5b9d2a0728f97da data/modernlifepatch/recipes/tall_mirror.json 1becf0e6fd8a314f27873a4de1920598eb7d478a data/modernlifepatch/tags/items/bathroom.json f1f91d804e6d1aa4180d305eafaf354637df142c data/modernlifepatch/tags/items/bedchamber.json diff --git a/src/generated/resources/assets/modernlifepatch/lang/en_us.json b/src/generated/resources/assets/modernlifepatch/lang/en_us.json index 38f9ac7..7801353 100644 --- a/src/generated/resources/assets/modernlifepatch/lang/en_us.json +++ b/src/generated/resources/assets/modernlifepatch/lang/en_us.json @@ -106,6 +106,8 @@ "modernlifepatch.lang.motorboat.hover_text.2": "Remaining fuel: %f%%", "modernlifepatch.lang.motorboat.hover_text.3": "Refuel by using a gas can on the deployed boat", "modernlifepatch.lang.need_rs_power.hover_text.0": "Requires redstone power to operate", + "modernlifepatch.lang.number_block.hover_text.1": "The number on the block defaults to red and can be recolored using dyes.", + "modernlifepatch.lang.number_block.hover_text.2": "Can be converted into other numbers via a Stonecutter.", "modernlifepatch.lang.paved_road.hover_text.0": "Slightly increases movement speed of vehicles", "modernlifepatch.lang.photocopier.hover_text.1": "Interact with a canvas or photograph to make copies", "modernlifepatch.lang.photocopier.hover_text.2": " * Requires paper", diff --git a/src/generated/resources/assets/modernlifepatch/lang/zh_cn.json b/src/generated/resources/assets/modernlifepatch/lang/zh_cn.json index f5f412e..f3f75aa 100644 --- a/src/generated/resources/assets/modernlifepatch/lang/zh_cn.json +++ b/src/generated/resources/assets/modernlifepatch/lang/zh_cn.json @@ -106,6 +106,8 @@ "modernlifepatch.lang.motorboat.hover_text.2": "\u71C3\u6599\u5269\u4F59\u91CF: %f%%", "modernlifepatch.lang.motorboat.hover_text.3": "\u5BF9\u8239\u4F7F\u7528\u6C7D\u6CB9\u7F50\u6765\u52A0\u6CB9", "modernlifepatch.lang.need_rs_power.hover_text.0": "\u9700\u8981\u7EA2\u77F3\u5145\u80FD", + "modernlifepatch.lang.number_block.hover_text.1": "\u6570\u5B57\u65B9\u5757\u6570\u5B57\u989C\u8272\u9ED8\u8BA4\u4E3A\u7EA2\u8272\uFF0C\u53EF\u4EE5\u901A\u8FC7\u4F7F\u7528\u67D3\u6599\u6765\u6539\u53D8\u5176\u989C\u8272\u3002", + "modernlifepatch.lang.number_block.hover_text.2": "\u6570\u5B57\u65B9\u5757\u53EF\u4EE5\u901A\u8FC7\u5207\u77F3\u673A\u6362\u6210\u5176\u5B83\u6570\u5B57\u3002", "modernlifepatch.lang.paved_road.hover_text.0": "\u8F7D\u5177\u5728\u8BE5\u8DEF\u4E0A\u884C\u9A76\uFF0C\u79FB\u901F\u4F1A\u6709\u6240\u63D0\u5347", "modernlifepatch.lang.photocopier.hover_text.1": "\u53EF\u4EE5\u7528\u4E8E\u7167\u7247\u6216\u753B\u4F5C\u7684\u590D\u5236", "modernlifepatch.lang.photocopier.hover_text.2": " * \u9700\u8981\u7EB8", diff --git a/src/generated/resources/assets/modernlifepatch/models/block/eight_block.json b/src/generated/resources/assets/modernlifepatch/models/block/eight_block.json index e99fb4e..45ec95d 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/eight_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/eight_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/eight_block" + "number": "modernlifepatch:block/number/eight_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/five_block.json b/src/generated/resources/assets/modernlifepatch/models/block/five_block.json index ce1cda7..5a59145 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/five_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/five_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/five_block" + "number": "modernlifepatch:block/number/five_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/four_block.json b/src/generated/resources/assets/modernlifepatch/models/block/four_block.json index 701dd80..68db350 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/four_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/four_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/four_block" + "number": "modernlifepatch:block/number/four_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/nine_block.json b/src/generated/resources/assets/modernlifepatch/models/block/nine_block.json index e2a68eb..b4ad3a8 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/nine_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/nine_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/nine_block" + "number": "modernlifepatch:block/number/nine_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/null_block.json b/src/generated/resources/assets/modernlifepatch/models/block/null_block.json index 63afa64..121c3bd 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/null_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/null_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/null_block" + "number": "modernlifepatch:block/number/null_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/one_block.json b/src/generated/resources/assets/modernlifepatch/models/block/one_block.json index 4028376..aaf3fbf 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/one_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/one_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/one_block" + "number": "modernlifepatch:block/number/one_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/seven_block.json b/src/generated/resources/assets/modernlifepatch/models/block/seven_block.json index b1764ab..17f8cf4 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/seven_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/seven_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/seven_block" + "number": "modernlifepatch:block/number/seven_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/six_block.json b/src/generated/resources/assets/modernlifepatch/models/block/six_block.json index 0089e1d..440abf9 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/six_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/six_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/six_block" + "number": "modernlifepatch:block/number/six_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/three_block.json b/src/generated/resources/assets/modernlifepatch/models/block/three_block.json index 92c888c..0586a33 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/three_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/three_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/three_block" + "number": "modernlifepatch:block/number/three_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/two_block.json b/src/generated/resources/assets/modernlifepatch/models/block/two_block.json index 4129add..41e65d6 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/two_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/two_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/two_block" + "number": "modernlifepatch:block/number/two_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/block/zero_block.json b/src/generated/resources/assets/modernlifepatch/models/block/zero_block.json index 4c3f212..b299f19 100644 --- a/src/generated/resources/assets/modernlifepatch/models/block/zero_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/block/zero_block.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cube_all", + "parent": "modernlifepatch:block/number_block", "textures": { - "all": "modernlifepatch:block/zero_block" + "number": "modernlifepatch:block/number/zero_block_layer" } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/eight_block.json b/src/generated/resources/assets/modernlifepatch/models/item/eight_block.json index 938b507..69a9844 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/eight_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/eight_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/eight_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/eight_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/five_block.json b/src/generated/resources/assets/modernlifepatch/models/item/five_block.json index 2680e7d..d8e76bd 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/five_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/five_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/five_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/five_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/four_block.json b/src/generated/resources/assets/modernlifepatch/models/item/four_block.json index 6f5b243..1e31e64 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/four_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/four_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/four_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/four_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/nine_block.json b/src/generated/resources/assets/modernlifepatch/models/item/nine_block.json index 7806bd5..da3ad95 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/nine_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/nine_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/nine_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/nine_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/null_block.json b/src/generated/resources/assets/modernlifepatch/models/item/null_block.json index b87ecfc..fec2ab4 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/null_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/null_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/null_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/null_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/one_block.json b/src/generated/resources/assets/modernlifepatch/models/item/one_block.json index 155127e..cfa02c4 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/one_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/one_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/one_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/one_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/seven_block.json b/src/generated/resources/assets/modernlifepatch/models/item/seven_block.json index 190280a..13d8edf 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/seven_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/seven_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/seven_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/seven_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/six_block.json b/src/generated/resources/assets/modernlifepatch/models/item/six_block.json index 2ebe6bb..33ae1ac 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/six_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/six_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/six_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/six_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/three_block.json b/src/generated/resources/assets/modernlifepatch/models/item/three_block.json index 1e1c457..d543535 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/three_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/three_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/three_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/three_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/two_block.json b/src/generated/resources/assets/modernlifepatch/models/item/two_block.json index 2067f53..043e147 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/two_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/two_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/two_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/two_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/assets/modernlifepatch/models/item/zero_block.json b/src/generated/resources/assets/modernlifepatch/models/item/zero_block.json index a38cf70..952a449 100644 --- a/src/generated/resources/assets/modernlifepatch/models/item/zero_block.json +++ b/src/generated/resources/assets/modernlifepatch/models/item/zero_block.json @@ -1,3 +1,6 @@ { - "parent": "modernlifepatch:block/zero_block" + "parent": "modernlifepatch:item/number_block_item", + "textures": { + "number": "modernlifepatch:block/number/zero_block_layer" + } } \ No newline at end of file diff --git a/src/generated/resources/data/modernlifepatch/advancements/recipes/decorations/null_block.json b/src/generated/resources/data/modernlifepatch/advancements/recipes/decorations/null_block.json index 33d03e7..8fe9924 100644 --- a/src/generated/resources/data/modernlifepatch/advancements/recipes/decorations/null_block.json +++ b/src/generated/resources/data/modernlifepatch/advancements/recipes/decorations/null_block.json @@ -6,13 +6,13 @@ ] }, "criteria": { - "has_red_dye": { + "has_quartz": { "trigger": "minecraft:inventory_changed", "conditions": { "items": [ { "items": [ - "minecraft:red_dye" + "minecraft:quartz" ] } ] @@ -27,7 +27,7 @@ }, "requirements": [ [ - "has_red_dye", + "has_quartz", "has_the_recipe" ] ] diff --git a/src/generated/resources/data/modernlifepatch/recipes/null_block.json b/src/generated/resources/data/modernlifepatch/recipes/null_block.json index 2d548da..99948ab 100644 --- a/src/generated/resources/data/modernlifepatch/recipes/null_block.json +++ b/src/generated/resources/data/modernlifepatch/recipes/null_block.json @@ -1,40 +1,17 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "#$#", - "$@$", - "#$#" + "###", + "#@#", + "###" ], "key": { "#": { - "item": "minecraft:white_dye" + "item": "minecraft:quartz" }, - "$": { - "item": "minecraft:red_dye" - }, - "@": [ - { - "item": "minecraft:stone" - }, - { - "item": "minecraft:granite" - }, - { - "item": "minecraft:diorite" - }, - { - "item": "minecraft:andesite" - }, - { - "item": "minecraft:deepslate" - }, - { - "item": "minecraft:calcite" - }, - { - "item": "minecraft:tuff" - } - ] + "@": { + "item": "minecraft:red_concrete_powder" + } }, "result": { "item": "modernlifepatch:null_block", diff --git a/src/main/java/com/r3944realms/modernlifepatch/ClientEventHandler.java b/src/main/java/com/r3944realms/modernlifepatch/ClientEventHandler.java index f185d81..f38e2cb 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/ClientEventHandler.java +++ b/src/main/java/com/r3944realms/modernlifepatch/ClientEventHandler.java @@ -3,24 +3,34 @@ package com.r3944realms.modernlifepatch; import com.dairymoose.modernlife.core.CustomBlocks; import com.r3944realms.modernlifepatch.client.event.CreativeScreenEvents; import com.r3944realms.modernlifepatch.client.render.BlockOutlineRenderer; +import com.r3944realms.modernlifepatch.client.render.color.blockColor.NumberBlockColorHandler; +import com.r3944realms.modernlifepatch.client.render.color.itemColor.NumberBlockItemColorHandler; import com.r3944realms.modernlifepatch.client.render.outline.RampOutlineRenderer; import com.r3944realms.modernlifepatch.client.renderer.blockentity.MirrorBlockEntityRenderer; import com.r3944realms.modernlifepatch.content.blocks.ModBlocks; import com.r3944realms.modernlifepatch.content.blocks.entities.ModBlockEntityType; +import com.r3944realms.modernlifepatch.content.items.ModItems; import com.r3944realms.modernlifepatch.data.SpecialHitBoxBlockType; +import net.minecraft.client.Minecraft; +import net.minecraft.client.color.block.BlockColors; +import net.minecraft.client.color.item.ItemColors; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.EntityRenderersEvent; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; public abstract class ClientEventHandler { -// @net.minecraftforge.fml.common.Mod.EventBusSubscriber(value = Dist.CLIENT, bus = net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.FORGE, modid = ModernLifePatch.MOD_ID) + @net.minecraftforge.fml.common.Mod.EventBusSubscriber(value = Dist.CLIENT, bus = net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.FORGE, modid = ModernLifePatch.MOD_ID) public static class Game extends ClientEventHandler { + @SubscribeEvent + public static void onChunkWatch(ChunkEvent.Load event) { + } } @net.minecraftforge.fml.common.Mod.EventBusSubscriber(value = Dist.CLIENT, bus = net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD, modid = ModernLifePatch.MOD_ID) public static class Mod extends ClientEventHandler { @@ -39,12 +49,53 @@ public abstract class ClientEventHandler { ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_CRIMSON_CHAIR.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_WARPED_CHAIR.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_POWER_RECEIVER.get(), RenderType.translucent()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.NULL_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.ZERO_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.ONE_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.TWO_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.THREE_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.FOUR_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.FIVE_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.SIX_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.SEVEN_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.EIGHT_BLOCK.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(ModBlocks.NINE_BLOCK.get(), RenderType.cutout()); }); - if (ModernLifePatch.isModernLifeLoaded) { + if (ModernLifePatch.isModernLifeLoaded) { MinecraftForge.EVENT_BUS.register(new CreativeScreenEvents()); - BlockOutlineRenderer.registerOutlineRender(SpecialHitBoxBlockType.RAMP, new RampOutlineRenderer()); + event.enqueueWork(() -> { + BlockOutlineRenderer.registerOutlineRender(SpecialHitBoxBlockType.RAMP, new RampOutlineRenderer()); + BlockColors blockColors = Minecraft.getInstance().getBlockColors(); + blockColors.register(new NumberBlockColorHandler(), + ModBlocks.NULL_BLOCK.get(), + ModBlocks.ONE_BLOCK.get(), + ModBlocks.TWO_BLOCK.get(), + ModBlocks.THREE_BLOCK.get(), + ModBlocks.FOUR_BLOCK.get(), + ModBlocks.FIVE_BLOCK.get(), + ModBlocks.SIX_BLOCK.get(), + ModBlocks.SEVEN_BLOCK.get(), + ModBlocks.EIGHT_BLOCK.get(), + ModBlocks.NINE_BLOCK.get(), + ModBlocks.ZERO_BLOCK.get() + ); + ItemColors itemColors = Minecraft.getInstance().getItemColors(); + itemColors.register(new NumberBlockItemColorHandler(), + ModItems.NULL_BLOCK_ITEM.get(), + ModItems.ZERO_BLOCK_ITEM.get(), + ModItems.ONE_BLOCK_ITEM.get(), + ModItems.TWO_BLOCK_ITEM.get(), + ModItems.THREE_BLOCK_ITEM.get(), + ModItems.FOUR_BLOCK_ITEM.get(), + ModItems.FIVE_BLOCK_ITEM.get(), + ModItems.SIX_BLOCK_ITEM.get(), + ModItems.SEVEN_BLOCK_ITEM.get(), + ModItems.EIGHT_BLOCK_ITEM.get(), + ModItems.NINE_BLOCK_ITEM.get() + ); + }); MinecraftForge.EVENT_BUS.addListener(BlockOutlineRenderer::onRenderBlockHighlight); - } + } } @SubscribeEvent diff --git a/src/main/java/com/r3944realms/modernlifepatch/ModernLifePatch.java b/src/main/java/com/r3944realms/modernlifepatch/ModernLifePatch.java index a9ee845..fe84d4c 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/ModernLifePatch.java +++ b/src/main/java/com/r3944realms/modernlifepatch/ModernLifePatch.java @@ -4,6 +4,7 @@ import com.r3944realms.modernlifepatch.config.MLPConfig; import com.r3944realms.modernlifepatch.content.blocks.ModBlocks; import com.r3944realms.modernlifepatch.content.blocks.entities.ModBlockEntityType; import com.r3944realms.modernlifepatch.content.items.ModItems; +import com.r3944realms.modernlifepatch.network.Channel; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.ModLoadingContext; @@ -28,6 +29,7 @@ public class ModernLifePatch { ModBlocks.register(modEventBus); ModBlockEntityType.register(modEventBus); logger.info("ModernLifePatch loaded"); + Channel.register(); if(FMLEnvironment.dist.isDedicatedServer()) ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, MLPConfig.spec); } diff --git a/src/main/java/com/r3944realms/modernlifepatch/client/render/color/ColorSharedData.java b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/ColorSharedData.java new file mode 100644 index 0000000..0a43843 --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/ColorSharedData.java @@ -0,0 +1,31 @@ +package com.r3944realms.modernlifepatch.client.render.color; + +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.Maps; +import net.minecraft.world.item.DyeColor; + +import java.util.Map; +import java.util.Objects; + +public final class ColorSharedData { + public static Map COLORS; + private static void init() { + DyeColor[] dyeColors = DyeColor.values(); + BiMap objectObjectHashMap = HashBiMap.create(dyeColors.length); + for (DyeColor dyeColor : dyeColors) { + objectObjectHashMap.put(dyeColor.getTextColor(), dyeColor); + } + COLORS = Maps.unmodifiableBiMap(objectObjectHashMap); + } + static { + init(); + } + public static Map getColorBiMap() { + return COLORS; + } + + public static int getColor(DyeColor dyeColor) { + return Objects.requireNonNullElse(dyeColor, DyeColor.RED).getTextColor(); + } +} diff --git a/src/main/java/com/r3944realms/modernlifepatch/client/render/color/blockColor/BlockColor.java b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/blockColor/BlockColor.java new file mode 100644 index 0000000..116c90c --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/blockColor/BlockColor.java @@ -0,0 +1,11 @@ +package com.r3944realms.modernlifepatch.client.render.color.blockColor; + +import net.minecraft.world.item.DyeColor; + +import java.util.Objects; + +public interface BlockColor extends net.minecraft.client.color.block.BlockColor { + default int getColor(DyeColor dyeColor) { + return Objects.requireNonNullElse(dyeColor, DyeColor.RED).getTextColor(); + } +} \ No newline at end of file diff --git a/src/main/java/com/r3944realms/modernlifepatch/client/render/color/blockColor/NumberBlockColorHandler.java b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/blockColor/NumberBlockColorHandler.java new file mode 100644 index 0000000..f765b11 --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/blockColor/NumberBlockColorHandler.java @@ -0,0 +1,30 @@ +package com.r3944realms.modernlifepatch.client.render.color.blockColor; + +import com.r3944realms.modernlifepatch.content.blocks.entities.type.custom.NumberBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class NumberBlockColorHandler implements BlockColor { + + @Override + public int getColor(@NotNull BlockState state, @Nullable BlockAndTintGetter level, @Nullable BlockPos pos, int tintIndex) { + if (tintIndex == 0) { + if(level != null && pos != null) { + BlockEntity blockEntity = level.getBlockEntity(pos); + if (blockEntity instanceof NumberBlockEntity numberBlock) { + return getColor(numberBlock.getBlockColor()); + } + } + } + return getColor(DyeColor.RED); + } + + + + +} diff --git a/src/main/java/com/r3944realms/modernlifepatch/client/render/color/itemColor/ItemColor.java b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/itemColor/ItemColor.java new file mode 100644 index 0000000..152563b --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/itemColor/ItemColor.java @@ -0,0 +1,11 @@ +package com.r3944realms.modernlifepatch.client.render.color.itemColor; + +import net.minecraft.world.item.DyeColor; + +import java.util.Objects; + +public interface ItemColor extends net.minecraft.client.color.item.ItemColor { + default int getColor(DyeColor dyeColor) { + return Objects.requireNonNullElse(dyeColor, DyeColor.RED).getTextColor(); + } +} diff --git a/src/main/java/com/r3944realms/modernlifepatch/client/render/color/itemColor/NumberBlockItemColorHandler.java b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/itemColor/NumberBlockItemColorHandler.java new file mode 100644 index 0000000..1ea92ae --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/client/render/color/itemColor/NumberBlockItemColorHandler.java @@ -0,0 +1,24 @@ +package com.r3944realms.modernlifepatch.client.render.color.itemColor; + +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.NotNull; + +import java.util.Optional; +import java.util.concurrent.atomic.AtomicReference; + +public class NumberBlockItemColorHandler implements ItemColor{ + @Override + public int getColor(@NotNull ItemStack pStack, int pTintIndex) { + if (pTintIndex == 0) { + AtomicReference color = new AtomicReference<>(); + CompoundTag tag = pStack.getTag();Optional.ofNullable(tag) + .map(i -> i.contains("BlockEntityTag") ? i.getCompound("BlockEntityTag") : null) + .map(i -> i.contains("b_color") ? i.getString("b_color") : null) + .map(i -> DyeColor.byName(i, DyeColor.RED)).ifPresent(color::set); + return color.get() == null ? getColor(DyeColor.RED) : getColor(color.get()); + } + return getColor(DyeColor.RED); + } +} diff --git a/src/main/java/com/r3944realms/modernlifepatch/content/blocks/ModBlocks.java b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/ModBlocks.java index 1e63eba..2612b2b 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/content/blocks/ModBlocks.java +++ b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/ModBlocks.java @@ -6,6 +6,7 @@ import com.r3944realms.modernlifepatch.content.blocks.type.NumberBlock; import com.r3944realms.modernlifepatch.content.blocks.type.mirror.MirrorBlock; import com.r3944realms.modernlifepatch.content.blocks.type.mirror.MirrorPart; import com.r3944realms.modernlifepatch.content.items.ModItems; +import com.r3944realms.modernlifepatch.content.items.type.NumberBlockItem; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; @@ -92,6 +93,9 @@ public class ModBlocks { public static RegistryObject registerBlockItem(String name , RegistryObject block){ return ModItems.ITEMS.register(name,() -> new BlockItem(block.get(),new Item.Properties().tab(CreativeModeTab.TAB_DECORATIONS))); } + public static RegistryObject registerNumberBlockItem(String name , RegistryObject block){ + return ModItems.ITEMS.register(name,() -> new NumberBlockItem(block.get(),new Item.Properties().tab(CreativeModeTab.TAB_DECORATIONS))); + } public static void register(IEventBus bus) { BLOCKS.register(bus); } diff --git a/src/main/java/com/r3944realms/modernlifepatch/content/blocks/entities/ModBlockEntityType.java b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/entities/ModBlockEntityType.java index 932f492..94f6108 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/content/blocks/entities/ModBlockEntityType.java +++ b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/entities/ModBlockEntityType.java @@ -2,6 +2,7 @@ package com.r3944realms.modernlifepatch.content.blocks.entities; import com.r3944realms.modernlifepatch.ModernLifePatch; import com.r3944realms.modernlifepatch.content.blocks.ModBlocks; +import com.r3944realms.modernlifepatch.content.blocks.entities.type.custom.NumberBlockEntity; import com.r3944realms.modernlifepatch.content.blocks.entities.type.mirror.MirrorBlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraftforge.eventbus.api.IEventBus; @@ -17,6 +18,9 @@ public class ModBlockEntityType { @SuppressWarnings("DataFlowIssue") public static final RegistryObject> MIRROR = BLOCK_ENTITY_TYPE.register("mirror", () -> new BlockEntityType<>(MirrorBlockEntity::new, Set.of(ModBlocks.MIRROR.get()), null)); + @SuppressWarnings("DataFlowIssue") + public static final RegistryObject> NUMBER_BLOCK + = BLOCK_ENTITY_TYPE.register("number_block", () -> new BlockEntityType<>(NumberBlockEntity::new, Set.of(ModBlocks.NULL_BLOCK.get(), ModBlocks.ONE_BLOCK.get(), ModBlocks.TWO_BLOCK.get(), ModBlocks.THREE_BLOCK.get(), ModBlocks.FOUR_BLOCK.get(), ModBlocks.FIVE_BLOCK.get(), ModBlocks.SIX_BLOCK.get(), ModBlocks.SEVEN_BLOCK.get(), ModBlocks.EIGHT_BLOCK.get(), ModBlocks.NINE_BLOCK.get(), ModBlocks.ZERO_BLOCK.get()), null)); public static void register(IEventBus bus) { BLOCK_ENTITY_TYPE.register(bus); } diff --git a/src/main/java/com/r3944realms/modernlifepatch/content/blocks/entities/type/custom/NumberBlockEntity.java b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/entities/type/custom/NumberBlockEntity.java new file mode 100644 index 0000000..121565b --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/entities/type/custom/NumberBlockEntity.java @@ -0,0 +1,71 @@ +package com.r3944realms.modernlifepatch.content.blocks.entities.type.custom; + +import com.r3944realms.modernlifepatch.content.blocks.entities.ModBlockEntityType; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.Connection; +import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; + +import java.util.Objects; + + +public class NumberBlockEntity extends BlockEntity { + public DyeColor blockColor; + public NumberBlockEntity(BlockPos pPos, BlockState pBlockState) { + super(ModBlockEntityType.NUMBER_BLOCK.get(), pPos, pBlockState); + } + public void setBlockColor(DyeColor pColor) { + this.blockColor = pColor; + setChanged(); // 标记数据需要保存 + if (level != null && !level.isClientSide()) { + level.sendBlockUpdated(worldPosition, getBlockState(), getBlockState(), Block.UPDATE_ALL); + } + } + public DyeColor getBlockColor() { + return Objects.requireNonNullElse(this.blockColor, DyeColor.RED); + } + public int getBlockColorInt() { + return getBlockColor().getTextColor(); + } + + + // NBT 序列化 + @Override + public void load(@NotNull CompoundTag tag) { + super.load(tag); + if (tag.contains("b_color")) { + blockColor = DyeColor.byName(tag.getString("b_color"), DyeColor.RED); + } + } + + @Override + public void saveAdditional(@NotNull CompoundTag tag) { + super.saveAdditional(tag); + tag.putString("b_color", getBlockColor().getName()); + } + + + @Override + public ClientboundBlockEntityDataPacket getUpdatePacket() { + return ClientboundBlockEntityDataPacket.create(this); + } + + @Override + public @NotNull CompoundTag getUpdateTag() { + CompoundTag tag = super.getUpdateTag(); + saveAdditional(tag); + return tag; + } + @Override + public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket pkt) { + if (level != null && level.isClientSide) { + load(Objects.requireNonNull(pkt.getTag())); // 加载接收到的 NBT 数据 + level.sendBlockUpdated(worldPosition, getBlockState(), getBlockState(), Block.UPDATE_ALL); // 触发客户端重绘 + } + } +} diff --git a/src/main/java/com/r3944realms/modernlifepatch/content/blocks/type/NumberBlock.java b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/type/NumberBlock.java index a518e53..51df27e 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/content/blocks/type/NumberBlock.java +++ b/src/main/java/com/r3944realms/modernlifepatch/content/blocks/type/NumberBlock.java @@ -1,12 +1,32 @@ package com.r3944realms.modernlifepatch.content.blocks.type; +import com.r3944realms.modernlifepatch.content.blocks.entities.type.custom.NumberBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.DyeItem; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.enchantment.EnchantmentHelper; +import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; -public class NumberBlock extends HorizontalDirectionalBlock { +public class NumberBlock extends HorizontalDirectionalBlock implements EntityBlock { public NumberBlock(Properties pProperties) { super(pProperties); } @@ -20,4 +40,43 @@ public class NumberBlock extends HorizontalDirectionalBlock { pBuilder.add(FACING); } + @Nullable + @Override + public BlockEntity newBlockEntity(@NotNull BlockPos pPos, @NotNull BlockState pState) { + return new NumberBlockEntity(pPos, pState); + } + @Override + public @NotNull InteractionResult use(@NotNull BlockState state, Level level, @NotNull BlockPos pos, @NotNull Player player, + @NotNull InteractionHand hand, @NotNull BlockHitResult hit) { + if (!level.isClientSide && hand == InteractionHand.MAIN_HAND) { + ItemStack stack = player.getItemInHand(hand); + if (stack.getItem() instanceof DyeItem dyeItem) { + BlockEntity blockEntity = level.getBlockEntity(pos); + if (blockEntity instanceof NumberBlockEntity numberBlock) { + DyeColor dyeColor = dyeItem.getDyeColor(); + numberBlock.setBlockColor(dyeColor); + return InteractionResult.SUCCESS; + } + } + } + return InteractionResult.PASS; + } + @Override + public void setPlacedBy(@NotNull Level level, @NotNull BlockPos pos, @NotNull BlockState state, @Nullable LivingEntity placer, @NotNull ItemStack stack) { + super.setPlacedBy(level, pos, state, placer, stack); + if (level.isClientSide) return; // 仅服务端执行 + // 读取物品的 BlockEntityTag + CompoundTag tag = stack.getTagElement("BlockEntityTag"); + if (tag != null) { + BlockEntity blockEntity = level.getBlockEntity(pos); + if (blockEntity instanceof NumberBlockEntity myBE) { + // 将 BlockEntityTag 的数据加载到方块实体 + myBE.load(tag); + myBE.setChanged(); // 标记数据变更 + } + } + } + + + } diff --git a/src/main/java/com/r3944realms/modernlifepatch/content/items/ModItems.java b/src/main/java/com/r3944realms/modernlifepatch/content/items/ModItems.java index 54b7f4b..8c43bb0 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/content/items/ModItems.java +++ b/src/main/java/com/r3944realms/modernlifepatch/content/items/ModItems.java @@ -37,17 +37,17 @@ public class ModItems { public static final RegistryObject SMOOTH_QUARTZ_BARRIER = ModBlocks.registerBlockItem("smooth_quartz_barrier", ModBlocks.SMOOTH_QUARTZ_BARRIER); //NUMBER - public static final RegistryObject NULL_BLOCK_ITEM = ModBlocks.registerBlockItem("null_block", ModBlocks.NULL_BLOCK); - public static final RegistryObject ONE_BLOCK_ITEM = ModBlocks.registerBlockItem("one_block", ModBlocks.ONE_BLOCK); - public static final RegistryObject TWO_BLOCK_ITEM = ModBlocks.registerBlockItem("two_block", ModBlocks.TWO_BLOCK); - public static final RegistryObject THREE_BLOCK_ITEM = ModBlocks.registerBlockItem("three_block", ModBlocks.THREE_BLOCK); - public static final RegistryObject FOUR_BLOCK_ITEM = ModBlocks.registerBlockItem("four_block", ModBlocks.FOUR_BLOCK); - public static final RegistryObject FIVE_BLOCK_ITEM = ModBlocks.registerBlockItem("five_block", ModBlocks.FIVE_BLOCK); - public static final RegistryObject SIX_BLOCK_ITEM = ModBlocks.registerBlockItem("six_block", ModBlocks.SIX_BLOCK); - public static final RegistryObject SEVEN_BLOCK_ITEM = ModBlocks.registerBlockItem("seven_block", ModBlocks.SEVEN_BLOCK); - public static final RegistryObject EIGHT_BLOCK_ITEM = ModBlocks.registerBlockItem("eight_block", ModBlocks.EIGHT_BLOCK); - public static final RegistryObject NINE_BLOCK_ITEM = ModBlocks.registerBlockItem("nine_block", ModBlocks.NINE_BLOCK); - public static final RegistryObject ZERO_BLOCK_ITEM = ModBlocks.registerBlockItem("zero_block", ModBlocks.ZERO_BLOCK); + public static final RegistryObject NULL_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("null_block", ModBlocks.NULL_BLOCK); + public static final RegistryObject ONE_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("one_block", ModBlocks.ONE_BLOCK); + public static final RegistryObject TWO_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("two_block", ModBlocks.TWO_BLOCK); + public static final RegistryObject THREE_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("three_block", ModBlocks.THREE_BLOCK); + public static final RegistryObject FOUR_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("four_block", ModBlocks.FOUR_BLOCK); + public static final RegistryObject FIVE_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("five_block", ModBlocks.FIVE_BLOCK); + public static final RegistryObject SIX_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("six_block", ModBlocks.SIX_BLOCK); + public static final RegistryObject SEVEN_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("seven_block", ModBlocks.SEVEN_BLOCK); + public static final RegistryObject EIGHT_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("eight_block", ModBlocks.EIGHT_BLOCK); + public static final RegistryObject NINE_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("nine_block", ModBlocks.NINE_BLOCK); + public static final RegistryObject ZERO_BLOCK_ITEM = ModBlocks.registerNumberBlockItem("zero_block", ModBlocks.ZERO_BLOCK); public static void register(IEventBus bus) { ITEMS.register(bus); } diff --git a/src/main/java/com/r3944realms/modernlifepatch/content/items/type/NumberBlockItem.java b/src/main/java/com/r3944realms/modernlifepatch/content/items/type/NumberBlockItem.java new file mode 100644 index 0000000..d8044cf --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/content/items/type/NumberBlockItem.java @@ -0,0 +1,26 @@ +package com.r3944realms.modernlifepatch.content.items.type; + +import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class NumberBlockItem extends BlockItem { + public NumberBlockItem(Block pBlock, Properties pProperties) { + super(pBlock, pProperties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List pTooltip, @NotNull TooltipFlag pFlag) { + pTooltip.add(new TranslatableComponent(ModLangKeyValue.NUMBER_BLOCK_ITEM_HOVER_ONE.getKey())); + pTooltip.add(new TranslatableComponent(ModLangKeyValue.NUMBER_BLOCK_ITEM_HOVER_TWO.getKey())); + } +} diff --git a/src/main/java/com/r3944realms/modernlifepatch/datagen/lang/ModLangKeyValue.java b/src/main/java/com/r3944realms/modernlifepatch/datagen/lang/ModLangKeyValue.java index e815c2d..56d880d 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/datagen/lang/ModLangKeyValue.java +++ b/src/main/java/com/r3944realms/modernlifepatch/datagen/lang/ModLangKeyValue.java @@ -186,7 +186,9 @@ public enum ModLangKeyValue { NINE_BLOCK_ITEM(getItemKey(ModItems.NINE_BLOCK_ITEM.get()), "Nine", "九"), NINE_BLOCK(getBlockKey(ModBlocks.NINE_BLOCK.get()), copyEnglish(NINE_BLOCK_ITEM), copySimpleChinese(NINE_BLOCK_ITEM)), ZERO_BLOCK_ITEM(getItemKey(ModItems.ZERO_BLOCK_ITEM.get()), "Zero", "零"), - ZERO_BLOCK(getBlockKey(ModBlocks.ZERO_BLOCK.get()), copyEnglish(ZERO_BLOCK_ITEM), copySimpleChinese(ZERO_BLOCK_ITEM)) + ZERO_BLOCK(getBlockKey(ModBlocks.ZERO_BLOCK.get()), copyEnglish(ZERO_BLOCK_ITEM), copySimpleChinese(ZERO_BLOCK_ITEM)), + NUMBER_BLOCK_ITEM_HOVER_ONE(getHoverTextKey("number_block", "1"), "The number on the block defaults to red and can be recolored using dyes.", "数字方块数字颜色默认为红色,可以通过使用染料来改变其颜色。"), + NUMBER_BLOCK_ITEM_HOVER_TWO(getHoverTextKey("number_block", "2"), "Can be converted into other numbers via a Stonecutter.", "数字方块可以通过切石机换成其它数字。"), ; private final String key; diff --git a/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModBlockStateProvider.java b/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModBlockStateProvider.java index 8cadc14..e9f8b82 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModBlockStateProvider.java +++ b/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModBlockStateProvider.java @@ -5,7 +5,9 @@ import com.r3944realms.modernlifepatch.content.blocks.ModBlocks; import net.minecraft.data.DataGenerator; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; -import net.minecraftforge.client.model.generators.*; +import net.minecraftforge.client.model.generators.BlockModelBuilder; +import net.minecraftforge.client.model.generators.BlockStateProvider; +import net.minecraftforge.client.model.generators.ModelFile; import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.registries.ForgeRegistries; @@ -49,9 +51,10 @@ public class ModBlockStateProvider extends BlockStateProvider { registerNumberStates(ModBlocks.ZERO_BLOCK.get(), "zero"); } public void registerNumberStates(Block block, String number) { - BlockModelBuilder numberBlock = models().cubeAll(number + "_block", new ResourceLocation(ModernLifePatch.MOD_ID, "block/" + number + "_block")); + BlockModelBuilder numberBlock = models() + .withExistingParent(number + "_block", new ResourceLocation(ModernLifePatch.MOD_ID, "block/number_block")) + .texture("number", new ResourceLocation(ModernLifePatch.MOD_ID, "block/number/"+ number + "_block_layer")); horizontalBlock(block, numberBlock); - simpleBlockItem(block, numberBlock); } public void registerBarrierStates(Block block, ResourceLocation location) { ModelFile.ExistingModelFile existingFile = models().getExistingFile(location); diff --git a/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModItemModelProvider.java b/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModItemModelProvider.java index e9014e0..799e7af 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModItemModelProvider.java +++ b/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModItemModelProvider.java @@ -4,7 +4,9 @@ import com.r3944realms.modernlifepatch.ModernLifePatch; import com.r3944realms.modernlifepatch.content.items.ModItems; import net.minecraft.data.DataGenerator; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; import net.minecraftforge.client.model.generators.ItemModelProvider; import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.registries.ForgeRegistries; @@ -13,6 +15,7 @@ import java.util.Objects; public class ModItemModelProvider extends ItemModelProvider { public static final String GENERATED = "item/generated"; + public static final ResourceLocation NUMBER_BLOCK_ITEM = new ResourceLocation(ModernLifePatch.MOD_ID, "item/number_block_item"); public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) { super(generator, ModernLifePatch.MOD_ID, existingFileHelper); } @@ -23,12 +26,26 @@ public class ModItemModelProvider extends ItemModelProvider { itemGeneratedModel(ModItems.TALL_MIRROR_ITEM.get(), new ResourceLocation(ModernLifePatch.MOD_ID, "item/tall_mirror_item")); itemGeneratedModel(ModItems.LARGE_MIRROR_ITEM.get(), new ResourceLocation(ModernLifePatch.MOD_ID, "item/large_mirror_item")); itemGeneratedModel(ModItems.MASSIVE_MIRROR_ITEM.get(), new ResourceLocation(ModernLifePatch.MOD_ID, "item/massive_mirror_item")); - + numberBlockGeneratedModel(ModItems.NULL_BLOCK_ITEM.get(), "null"); + numberBlockGeneratedModel(ModItems.ZERO_BLOCK_ITEM.get(), "zero"); + numberBlockGeneratedModel(ModItems.ONE_BLOCK_ITEM.get(), "one"); + numberBlockGeneratedModel(ModItems.TWO_BLOCK_ITEM.get(), "two"); + numberBlockGeneratedModel(ModItems.THREE_BLOCK_ITEM.get(), "three"); + numberBlockGeneratedModel(ModItems.FOUR_BLOCK_ITEM.get(), "four"); + numberBlockGeneratedModel(ModItems.FIVE_BLOCK_ITEM.get(), "five"); + numberBlockGeneratedModel(ModItems.SIX_BLOCK_ITEM.get(), "six"); + numberBlockGeneratedModel(ModItems.SEVEN_BLOCK_ITEM.get(), "seven"); + numberBlockGeneratedModel(ModItems.EIGHT_BLOCK_ITEM.get(), "eight"); + numberBlockGeneratedModel(ModItems.NINE_BLOCK_ITEM.get(), "nine"); } public void itemGeneratedModel(Item item, ResourceLocation texture) { withExistingParent(itemName(item), GENERATED).texture("layer0", texture); } + public void numberBlockGeneratedModel(BlockItem bite, String number) { + withExistingParent(itemName(bite), NUMBER_BLOCK_ITEM) + .texture("number", new ResourceLocation(ModernLifePatch.MOD_ID, "block/number/"+ number + "_block_layer")); + } private String itemName(Item item) { return Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(item)).getPath(); diff --git a/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModRecipeProvider.java b/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModRecipeProvider.java index 4239575..cf3a6c9 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModRecipeProvider.java +++ b/src/main/java/com/r3944realms/modernlifepatch/datagen/provider/ModRecipeProvider.java @@ -84,13 +84,12 @@ public class ModRecipeProvider extends RecipeProvider { stonecutterResultFromBase(pFinishedRecipeConsumer, ModItems.RED_CONCRETE_BARRIER_ITEM.get(), Items.RED_CONCRETE, 2); stonecutterResultFromBase(pFinishedRecipeConsumer, ModItems.BLACK_CONCRETE_BARRIER_ITEM.get(), Items.BLACK_CONCRETE, 2); ShapedRecipeBuilder.shaped(ModItems.NULL_BLOCK_ITEM.get(), 2) - .define('#', Items.WHITE_DYE) - .define('$', Items.RED_DYE) - .define('@', Ingredient.of(Items.STONE, Items.GRANITE, Items.DIORITE, Items.ANDESITE, Items.DEEPSLATE, Items.CALCITE, Items.TUFF)) - .pattern("#$#") - .pattern("$@$") - .pattern("#$#") - .unlockedBy("has_red_dye",has(Items.RED_DYE)) + .define('#', Items.QUARTZ) + .define('@', Items.RED_CONCRETE_POWDER) + .pattern("###") + .pattern("#@#") + .pattern("###") + .unlockedBy("has_quartz",has(Items.QUARTZ)) .save(pFinishedRecipeConsumer); ShapelessRecipeBuilder.shapeless(ModItems.NULL_BLOCK_ITEM.get()) diff --git a/src/main/java/com/r3944realms/modernlifepatch/mixin/block/kitchen/MixinRefrigerator.java b/src/main/java/com/r3944realms/modernlifepatch/mixin/block/kitchen/MixinRefrigerator.java index f9fbf97..8e4bc2e 100644 --- a/src/main/java/com/r3944realms/modernlifepatch/mixin/block/kitchen/MixinRefrigerator.java +++ b/src/main/java/com/r3944realms/modernlifepatch/mixin/block/kitchen/MixinRefrigerator.java @@ -2,7 +2,6 @@ package com.r3944realms.modernlifepatch.mixin.block.kitchen; import com.dairymoose.modernlife.blocks.RefrigeratorBlock; import com.dairymoose.modernlife.tileentities.RefrigeratorBlockEntity; -import com.dairymoose.modernlife.tileentities.SeedSpreaderBlockEntity; import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; diff --git a/src/main/java/com/r3944realms/modernlifepatch/modInterface/CreativeItem.java b/src/main/java/com/r3944realms/modernlifepatch/modInterface/CreativeItem.java deleted file mode 100644 index 95020a1..0000000 --- a/src/main/java/com/r3944realms/modernlifepatch/modInterface/CreativeItem.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.r3944realms.modernlifepatch.modInterface; - -import net.minecraft.world.item.ItemStack; - -import java.util.function.Consumer; - -public interface CreativeItem { - void fill(Consumer output); -} diff --git a/src/main/java/com/r3944realms/modernlifepatch/network/Channel.java b/src/main/java/com/r3944realms/modernlifepatch/network/Channel.java new file mode 100644 index 0000000..52e3556 --- /dev/null +++ b/src/main/java/com/r3944realms/modernlifepatch/network/Channel.java @@ -0,0 +1,29 @@ +package com.r3944realms.modernlifepatch.network; + +import com.r3944realms.modernlifepatch.ModernLifePatch; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import net.minecraftforge.network.NetworkRegistry; +import net.minecraftforge.network.PacketDistributor; +import net.minecraftforge.network.simple.SimpleChannel; + +public class Channel { + private static final String PROTOCOL_VERSION = "1"; + private static int ID = -1; + public static final SimpleChannel CHANNEL = NetworkRegistry.newSimpleChannel( + new ResourceLocation(ModernLifePatch.MOD_ID, "main"), + () -> PROTOCOL_VERSION, + PROTOCOL_VERSION::equals, + PROTOCOL_VERSION::equals + ); + public static void register() { + + } + public static void sendAllPlayer(MSG message){ + CHANNEL.send(PacketDistributor.ALL.noArg(), message); + } + + public static void sendToPlayer(MSG message, ServerPlayer player){ + CHANNEL.send(PacketDistributor.PLAYER.with(() -> player), message); + } +} diff --git a/src/main/resources/assets/modernlifepatch/models/block/number_block.json b/src/main/resources/assets/modernlifepatch/models/block/number_block.json new file mode 100644 index 0000000..ba97f65 --- /dev/null +++ b/src/main/resources/assets/modernlifepatch/models/block/number_block.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "number": "block/2", + "particle": "modernlifepatch:block/number/number_block_background", + "background": "modernlifepatch:block/number/number_block_background" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#background"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "up": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "down": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/modernlifepatch/models/item/number_block_item.json b/src/main/resources/assets/modernlifepatch/models/item/number_block_item.json new file mode 100644 index 0000000..2305bfa --- /dev/null +++ b/src/main/resources/assets/modernlifepatch/models/item/number_block_item.json @@ -0,0 +1,65 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "number": "item/0", + "background": "modernlifepatch:block/number/number_block_background" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#background"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#background"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "east": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "south": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "west": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "up": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0}, + "down": {"uv": [0, 0, 16, 16], "texture": "#number", "tintindex": 0} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [55, 46, 0], + "translation": [0, 0, -1.25], + "scale": [0.25, 0.25, 0.25] + }, + "thirdperson_lefthand": { + "rotation": [55, 45, 0], + "translation": [0, 0, -1.25], + "scale": [0.25, 0.25, 0.25] + }, + "firstperson_righthand": { + "rotation": [0, 27, 0], + "translation": [0, 2.5, 0], + "scale": [0.25, 0.25, 0.25] + }, + "firstperson_lefthand": { + "rotation": [0, -65, 0], + "translation": [0.75, 2.5, 0], + "scale": [0.25, 0.25, 0.25] + }, + "ground": { + "rotation": [8, 0, 0], + "translation": [0.5, 1.5, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [20, -33, 0], + "scale": [0.6, 0.6, 0.6] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/modernlifepatch/textures/block/eight_block.png b/src/main/resources/assets/modernlifepatch/textures/block/eight_block.png deleted file mode 100644 index 317e7df..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/eight_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/five_block.png b/src/main/resources/assets/modernlifepatch/textures/block/five_block.png deleted file mode 100644 index dde4e36..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/five_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/four_block.png b/src/main/resources/assets/modernlifepatch/textures/block/four_block.png deleted file mode 100644 index 3224fe1..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/four_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/nine_block.png b/src/main/resources/assets/modernlifepatch/textures/block/nine_block.png deleted file mode 100644 index 46c8296..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/nine_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/null_block.png b/src/main/resources/assets/modernlifepatch/textures/block/null_block.png deleted file mode 100644 index e789b22..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/null_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/eight_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/eight_block_layer.png new file mode 100644 index 0000000..e39961a Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/eight_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/five_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/five_block_layer.png new file mode 100644 index 0000000..f323e2f Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/five_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/four_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/four_block_layer.png new file mode 100644 index 0000000..38101d9 Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/four_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/nine_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/nine_block_layer.png new file mode 100644 index 0000000..c015a58 Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/nine_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/null_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/null_block_layer.png new file mode 100644 index 0000000..8a92b3f Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/null_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/number_block_background.png b/src/main/resources/assets/modernlifepatch/textures/block/number/number_block_background.png new file mode 100644 index 0000000..94410e2 Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/number_block_background.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/one_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/one_block_layer.png new file mode 100644 index 0000000..649a230 Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/one_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/seven_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/seven_block_layer.png new file mode 100644 index 0000000..f1462ad Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/seven_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/six_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/six_block_layer.png new file mode 100644 index 0000000..eea5eba Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/six_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/three_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/three_block_layer.png new file mode 100644 index 0000000..12f7048 Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/three_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/two_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/two_block_layer.png new file mode 100644 index 0000000..f5dd399 Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/two_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/number/zero_block_layer.png b/src/main/resources/assets/modernlifepatch/textures/block/number/zero_block_layer.png new file mode 100644 index 0000000..7c7a90e Binary files /dev/null and b/src/main/resources/assets/modernlifepatch/textures/block/number/zero_block_layer.png differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/one_block.png b/src/main/resources/assets/modernlifepatch/textures/block/one_block.png deleted file mode 100644 index ec545db..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/one_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/seven_block.png b/src/main/resources/assets/modernlifepatch/textures/block/seven_block.png deleted file mode 100644 index d78f183..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/seven_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/six_block.png b/src/main/resources/assets/modernlifepatch/textures/block/six_block.png deleted file mode 100644 index 0281ad2..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/six_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/three_block.png b/src/main/resources/assets/modernlifepatch/textures/block/three_block.png deleted file mode 100644 index 60444f5..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/three_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/two_block.png b/src/main/resources/assets/modernlifepatch/textures/block/two_block.png deleted file mode 100644 index c412fe8..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/two_block.png and /dev/null differ diff --git a/src/main/resources/assets/modernlifepatch/textures/block/zero_block.png b/src/main/resources/assets/modernlifepatch/textures/block/zero_block.png deleted file mode 100644 index 5015c42..0000000 Binary files a/src/main/resources/assets/modernlifepatch/textures/block/zero_block.png and /dev/null differ diff --git a/src/main/resources/resourcepacks/modernlifepatch/modernlife(Changed).zip b/src/main/resources/resourcepacks/modernlifepatch/modernlife(Changed).zip new file mode 100644 index 0000000..b4990d3 Binary files /dev/null and b/src/main/resources/resourcepacks/modernlifepatch/modernlife(Changed).zip differ