diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 36805ccbf..f1fe00ed8 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -324,7 +324,7 @@ c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_lim 7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json c47cfc7aae111eb9136f9cd3b6240669f920550d assets\create\lang\en_ud.json -ad62841621bbd81a70950c611aa747341953cde9 assets\create\lang\en_us.json +9691b16416906b5f42f30420210d9f3937defed0 assets\create\lang\en_us.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json @@ -1282,6 +1282,8 @@ b2782692d27ffb105e3167174cebe1ebdd4a9867 data\create\advancements\recipes\create df6f220e693f5256bb3df8d6c7769bc931820ae5 data\create\advancements\recipes\create.base\copper_block.json 22e0798a182df482aa6e7b3da5312ea2e21b9e7d data\create\advancements\recipes\create.base\copper_shingles.json 82280c50b78dd7e8c179cb8e8f0c074b26ec9586 data\create\advancements\recipes\create.base\zinc_block.json +909345eb2f5541a2be592a52800319a8765ca345 data\create\advancements\recipes\create.palettes\acacia_window.json +73f99cd857b056da5e19ff8304a4f5eeacc4f8cd data\create\advancements\recipes\create.palettes\acacia_window_pane.json 06479f24d7b2655ee590b5314861a3c9c422ebbe data\create\advancements\recipes\create.palettes\andesite_bricks_from_andesite_stonecutting.json 916ff114deb04257ea18cd68226bfab9fc291d8e data\create\advancements\recipes\create.palettes\andesite_bricks_slab.json 8137bcfe84651a6b8ca323298ca66fedc5486390 data\create\advancements\recipes\create.palettes\andesite_bricks_slab_from_andesite_bricks_stonecutting.json @@ -1298,12 +1300,16 @@ bd79e63c29d68fbf87ded63ac1eedba3d7287996 data\create\advancements\recipes\create 0ed4c084f05b2bd4c134293ad3554d6e31a1d568 data\create\advancements\recipes\create.palettes\andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json a453d05704cadb3279318192aac87e623738cdaa data\create\advancements\recipes\create.palettes\andesite_pillar.json d6f31097aef040e12eb288ab755d459f55269a70 data\create\advancements\recipes\create.palettes\andesite_pillar_from_andesite_stonecutting.json +f10a4369147cc5e36d3ab1b0008d29fd36ffc8f6 data\create\advancements\recipes\create.palettes\birch_window.json +bfea45da3f8df1c63f6c7ff1b63ad7e08c1d44b0 data\create\advancements\recipes\create.palettes\birch_window_pane.json 83d09fdf47ca2b5a70643f9005cbdcdf5ab586b6 data\create\advancements\recipes\create.palettes\chiseled_dark_scoria_from_dark_scoria_stonecutting.json c31a4d1eacc892a0248315270a12c0b49f5edc63 data\create\advancements\recipes\create.palettes\chiseled_dolomite_from_dolomite_stonecutting.json 74348dc4a1d8a41c67d12ea046772737e9e6d206 data\create\advancements\recipes\create.palettes\chiseled_gabbro_from_gabbro_stonecutting.json 4474c65e52362492fccc901b55773648b2714819 data\create\advancements\recipes\create.palettes\chiseled_limestone_from_limestone_stonecutting.json b873bd961cd865866a6f5035bee583a400073a3c data\create\advancements\recipes\create.palettes\chiseled_scoria_from_scoria_stonecutting.json 0ace6bef40eab8e365959e529a16cd04d15adfe6 data\create\advancements\recipes\create.palettes\chiseled_weathered_limestone_from_weathered_limestone_stonecutting.json +25991d5667252d551e02c4fbbfa27ebf4353d28d data\create\advancements\recipes\create.palettes\dark_oak_window.json +4819383b1a7885b4401fdc25955d2c51f75b6236 data\create\advancements\recipes\create.palettes\dark_oak_window_pane.json ebd6413d530325eef6fcf42a0ee0ac840c1f7366 data\create\advancements\recipes\create.palettes\dark_scoria_bricks_from_dark_scoria_stonecutting.json 030ce9b61b8af158cf54e7a9ab673ccb7251483f data\create\advancements\recipes\create.palettes\dark_scoria_bricks_slab.json ac44d03859cfd4c00ddcbd1dafbb9acc51d849d7 data\create\advancements\recipes\create.palettes\dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json @@ -1415,6 +1421,8 @@ e76e9b9bba421e846c06bb48c19815bc50c889e2 data\create\advancements\recipes\create d51bee4b276805ecf1a93a37ec6d610e75c0117e data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json 767733a2cc9fd2e96302c4e3813da86856e7c418 data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_wall.json 17e02efc06d935c094bde5bb73a5127bc98e4758 data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json +05331b5f1701453ecdfd0b3e6429b22ec209ba67 data\create\advancements\recipes\create.palettes\framed_glass_from_glass_colorless_stonecutting.json +605476eaf4e964936c031732cfef534edfdd749a data\create\advancements\recipes\create.palettes\framed_glass_pane.json b835dd583d670e2d7f6af4dd74e44f5817b03b21 data\create\advancements\recipes\create.palettes\gabbro_bricks_from_gabbro_stonecutting.json 2bfac04754aaf07423b330134984d887ae43f00a data\create\advancements\recipes\create.palettes\gabbro_bricks_slab.json f05bb35d52866abc7dae9c7f3f5fc85257760564 data\create\advancements\recipes\create.palettes\gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json @@ -1447,6 +1455,10 @@ c39e86c111a2c76ef9cb7046d2b87262524b06b9 data\create\advancements\recipes\create d6b622a2cf302d0c39e0d38d24b0a17e1461d13b data\create\advancements\recipes\create.palettes\granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json 03c3a88e1a320afe9866a1c09ef34b46763c8ec1 data\create\advancements\recipes\create.palettes\granite_pillar.json 97cc61b1b510849ebc0bf51cf2b8107a5c43fc17 data\create\advancements\recipes\create.palettes\granite_pillar_from_granite_stonecutting.json +cbb40e82dba460ee126966a52f0164e740ac1f11 data\create\advancements\recipes\create.palettes\horizontal_framed_glass_from_glass_colorless_stonecutting.json +29e2e2aeca3800c8ba432be30d54d046a3991217 data\create\advancements\recipes\create.palettes\horizontal_framed_glass_pane.json +4efc9a8c871cf18c8517c82f5a05d4dfec045778 data\create\advancements\recipes\create.palettes\jungle_window.json +995b9cb9c370cd319da3390d8a3a46028bbe7840 data\create\advancements\recipes\create.palettes\jungle_window_pane.json 6b07d0abcfd0710e16a6b7a62fff984a332cbf90 data\create\advancements\recipes\create.palettes\layered_andesite_from_andesite_stonecutting.json 1cf78657f901bea4a27e4e7cf885310f50fa8d00 data\create\advancements\recipes\create.palettes\layered_dark_scoria_from_dark_scoria_stonecutting.json 5ceb87c9142f85f980d5854dab05bf3f97d2f1d9 data\create\advancements\recipes\create.palettes\layered_diorite_from_diorite_stonecutting.json @@ -1481,6 +1493,10 @@ a65d2d91acfb335d22fbafffda91e84827414263 data\create\advancements\recipes\create 7fe51c57ee061b33b25647da030df867c4963a3f data\create\advancements\recipes\create.palettes\mossy_limestone_from_limestone_stonecutting.json 01a3b7a445f9fad73d04f25b5f8c2c1d3ceabe8c data\create\advancements\recipes\create.palettes\mossy_scoria_from_scoria_stonecutting.json 549c1413c986e6abab295a0cd3784b8cf5b21137 data\create\advancements\recipes\create.palettes\mossy_weathered_limestone_from_weathered_limestone_stonecutting.json +6d73c9fb9b80bdb6fcbed9fc22d5d96f2eab9324 data\create\advancements\recipes\create.palettes\oak_window.json +3da6acdecb6de1a0f93cd99766dad34b29abea3d data\create\advancements\recipes\create.palettes\oak_window_pane.json +e8989bcb3be35e7e80fbea52139c5770cca7d63a data\create\advancements\recipes\create.palettes\ornate_iron_window.json +fb6e99d0d4c07a6ffea26e66707b1954f474c4dd data\create\advancements\recipes\create.palettes\ornate_iron_window_pane.json 8a2734dfe0c55b77bb2fb6eeb8baf8c7f77e793f data\create\advancements\recipes\create.palettes\overgrown_andesite_from_andesite_stonecutting.json ba1ddc8234275e46677c5d8ccd9a52d48d20c166 data\create\advancements\recipes\create.palettes\overgrown_dark_scoria_from_dark_scoria_stonecutting.json baee20fee4acbf477e35658c7d6d43a03c8594c3 data\create\advancements\recipes\create.palettes\overgrown_diorite_from_diorite_stonecutting.json @@ -1617,6 +1633,12 @@ a43d45efa0fb0d3eaace93c18d80a14d4dcddf38 data\create\advancements\recipes\create e340721aa78f260c2666214aa149241a37de216e data\create\advancements\recipes\create.palettes\scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json 53cc5b006a19158e04094308accb66a7c35d2b26 data\create\advancements\recipes\create.palettes\scoria_pillar.json 53712a9ae59976dece952bea7ecaf73b679448f0 data\create\advancements\recipes\create.palettes\scoria_pillar_from_scoria_stonecutting.json +459538728b06d4c72d7e65d8f7c98a75a48f3a52 data\create\advancements\recipes\create.palettes\spruce_window.json +6aaf96cdaa845b63ab67ba4b968ea4d811e2fef5 data\create\advancements\recipes\create.palettes\spruce_window_pane.json +ab0cacba05f8def9cc91b993d464c297babf6fc3 data\create\advancements\recipes\create.palettes\tiled_glass_from_glass_colorless_stonecutting.json +d40c7ce6b79630ace624d17b92667286998d93bc data\create\advancements\recipes\create.palettes\tiled_glass_pane.json +24fafe59013a3e0439a73ea4e0cef114fc9a8e4b data\create\advancements\recipes\create.palettes\vertical_framed_glass_from_glass_colorless_stonecutting.json +cd5ee73117872ee98434be1d24b4f271f7e94a48 data\create\advancements\recipes\create.palettes\vertical_framed_glass_pane.json ef0d351d13f7e9c633581b537c59bddc1fa4c3a4 data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_from_weathered_limestone_stonecutting.json 1c931e15af3e5b5f78a0a62b8c159fdf9f0d7f3e data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_slab.json bba639941526cc23570e328e0b5e2a5545667219 data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json @@ -1646,8 +1668,8 @@ b457a54be7202999be24bb6bcce534f310489412 data\create\advancements\stress_gauge.j 50935316d27336ef0858d5a7c5ccc563d288a494 data\create\advancements\water_wheel.json 4513d0c4dd40c948028a3fc8e6f3b4d0356c0a90 data\create\advancements\wrench.json 33c1224f4f6a7bb0a3439eb0f8b8af9341b62574 data\create\advancements\zapper.json -aa22b35bb0564055114dcec6dca8a2d603de2481 data\create\loot_tables\blocks\acacia_window.json -6bd966ac4678affb255d64fe0aea7fc0f2448757 data\create\loot_tables\blocks\acacia_window_pane.json +054392b614e410c6d1b37c546b4bfd36f50aec4a data\create\loot_tables\blocks\acacia_window.json +64b95066bf96a3f0de95919d526243ba4f5a3ade data\create\loot_tables\blocks\acacia_window_pane.json 191b117d0a25940248ed54d419ea0bb0afb482d0 data\create\loot_tables\blocks\adjustable_crate.json 3e1314b2ccb1eade4f8ff7caa429ce4b327f0d6b data\create\loot_tables\blocks\adjustable_pulley.json 417da41ebd0520ae22ddc3541eb490daf2af95dd data\create\loot_tables\blocks\adjustable_pulse_repeater.json @@ -1667,8 +1689,8 @@ cb36b039a511aca643fe674a63de8d6ad8478256 data\create\loot_tables\blocks\andesite c7f81e30c31837a287d6d6040cdb02c7dec11441 data\create\loot_tables\blocks\belt.json 1104e323abb2a8c25769c47dc5d1154965113cc9 data\create\loot_tables\blocks\belt_observer.json f2acadb49cac3aa6347cae606536cbbde89f0a5f data\create\loot_tables\blocks\belt_tunnel.json -1818b0b62c1e2ad8b030638a59fd7132a4b7bd0a data\create\loot_tables\blocks\birch_window.json -151728f0001f3e890bf05535075224c25caa775c data\create\loot_tables\blocks\birch_window_pane.json +67a8e2513c3cb09e6fe80279fda94f79d5018c37 data\create\loot_tables\blocks\birch_window.json +bf1d5843f93533f84bc4adec5b77da2114fa2025 data\create\loot_tables\blocks\birch_window_pane.json 70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data\create\loot_tables\blocks\brass_block.json 8a14258ad5d79d9e4dc5a318905644b446196420 data\create\loot_tables\blocks\brass_casing.json 0be542fef3bc0e1a0d556883568a1400a8b97df1 data\create\loot_tables\blocks\cart_assembler.json @@ -1690,8 +1712,8 @@ d8f2f8921b9200b1d9476a77ee1be32c25308ac3 data\create\loot_tables\blocks\creative c28fa42746a4d5ca2f824001b67e58673810169e data\create\loot_tables\blocks\crushing_wheel.json 205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\crushing_wheel_controller.json d370ee874b5b6b98e9a8c368218fe61f644d956d data\create\loot_tables\blocks\cuckoo_clock.json -077c2f6f957afcc1925a96f80b6261fca484263a data\create\loot_tables\blocks\dark_oak_window.json -5abd6030828decc9f84963786dce88d194cdbcdb data\create\loot_tables\blocks\dark_oak_window_pane.json +fd309e1d39dcbcb25c3361edecd8c9afa0f847d0 data\create\loot_tables\blocks\dark_oak_window.json +58e6307ba0efa65a0715662a391fe7dc6fba0c68 data\create\loot_tables\blocks\dark_oak_window_pane.json 7a40002e4c05f6456b52558b9ee9607cfc868a69 data\create\loot_tables\blocks\dark_scoria.json 502160551afd210c68582a1dfd41a2df720f53a1 data\create\loot_tables\blocks\dark_scoria_bricks.json 5bce6b714e1131ccc11a670f57fa627cbb0f4409 data\create\loot_tables\blocks\dark_scoria_bricks_slab.json @@ -1763,8 +1785,8 @@ e4d0fe35d3441a5815bd4e1357329b284e63ecd8 data\create\loot_tables\blocks\fancy_we 1be3aae5c0aa8b3c3750db79699e9350adb12231 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_stairs.json 6bb505bad78cbb01a5cb5a069435bf4ed0e62adf data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_wall.json f37526c092c645045c22674dea6c7b1ec503c9c3 data\create\loot_tables\blocks\flywheel.json -8fbd865f350c615031ec3f56eb98b51ce3008de3 data\create\loot_tables\blocks\framed_glass.json -44c8bc7271fa367ff052bef242e1ae26fb435175 data\create\loot_tables\blocks\framed_glass_pane.json +ce0bb978b11935bc2d1218445f8ab18099af6b8a data\create\loot_tables\blocks\framed_glass.json +89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data\create\loot_tables\blocks\framed_glass_pane.json ed895ef7dcb97ad9b00d80a4fa9c331229dd532e data\create\loot_tables\blocks\funnel.json 4063880eda871fe63a4eb549a19daecabce849e5 data\create\loot_tables\blocks\furnace_engine.json 1070cba1c0f46cf7ebe31089f35333f5eadda6e4 data\create\loot_tables\blocks\gabbro.json @@ -1789,10 +1811,10 @@ feca8a1f62e0e13fcb2252d5f782d74938b84431 data\create\loot_tables\blocks\granite_ 1d225a68b09d6f389aa7ed48aa05979bdaa482a9 data\create\loot_tables\blocks\granite_cobblestone_wall.json 87a4ac3db5ec80613b940abccc72fc4b37cee0ba data\create\loot_tables\blocks\granite_pillar.json 9bdc47ea3ffc52f037f12f40f387e6b72a352c4e data\create\loot_tables\blocks\hand_crank.json -3b64c7ad421415a876c0131f204e3fc598cc1730 data\create\loot_tables\blocks\horizontal_framed_glass.json -a2477ce42e29e7fa4f006ca3bf11fa889f300489 data\create\loot_tables\blocks\horizontal_framed_glass_pane.json -881183719cca3324bfdf0faabb18b70415c3f9d2 data\create\loot_tables\blocks\jungle_window.json -07d090ed661fe862fa625cc1063113959a2a291a data\create\loot_tables\blocks\jungle_window_pane.json +22012e7759f1dbccbb06bcaf0311a54190270825 data\create\loot_tables\blocks\horizontal_framed_glass.json +5d3f585539942f13bbc458a0a002849c1f034fc1 data\create\loot_tables\blocks\horizontal_framed_glass_pane.json +cf2bfae903e7f8510962e672b6266c0e74176aae data\create\loot_tables\blocks\jungle_window.json +1a3a19517f95fc632286d3cc693bfee4a59dfa0a data\create\loot_tables\blocks\jungle_window_pane.json 4d948f80fb7a8b6b99897544681f43fe3d2058f0 data\create\loot_tables\blocks\large_cogwheel.json 49cab25e7aa6431d4c1e180cdceb76b6f6f73fe5 data\create\loot_tables\blocks\layered_andesite.json 7610175c7f064bcb3ba95d20d37dfae5f9ca7bac data\create\loot_tables\blocks\layered_dark_scoria.json @@ -1839,12 +1861,12 @@ bd4ff2a38643d53cdc63e1af08af90e9adadcc0f data\create\loot_tables\blocks\mossy_gr 7107b08ed07b23964df537ae689b48af29b80a2f data\create\loot_tables\blocks\mossy_scoria.json fdff3d59c214ecbcc2ddcaef778ea661df128b56 data\create\loot_tables\blocks\mossy_weathered_limestone.json fedbee3e023d469c9f3aba9d11d5be6cdae77083 data\create\loot_tables\blocks\mysterious_cuckoo_clock.json -13d606c73195633ccd6ee08b761513ead56e27b5 data\create\loot_tables\blocks\natural_scoria.json +ecd7afac9eb0989075fced6626e1061d5487c2f4 data\create\loot_tables\blocks\natural_scoria.json 6237eb3999181f1db09ca01b08e7785b70722d3b data\create\loot_tables\blocks\nozzle.json -a432e3e50f96cbef3efcffb7e7ed89bb2dc318de data\create\loot_tables\blocks\oak_window.json -95c624e05873f46ac74fe840f902986386546722 data\create\loot_tables\blocks\oak_window_pane.json -1b8d1eef28233bd517eed40f23fc0c57b72bf2cd data\create\loot_tables\blocks\ornate_iron_window.json -a641ce4277d97dee2f6c19421e43f68b9d15d180 data\create\loot_tables\blocks\ornate_iron_window_pane.json +0b2b142cfb3ebe9d4506e498a8e31f48d00db58d data\create\loot_tables\blocks\oak_window.json +90cc4d5857f47c48e2b82f394de9567023c5c8ce data\create\loot_tables\blocks\oak_window_pane.json +267e9e24fac93e3496a80fcb6ed8e9d1c329d2d2 data\create\loot_tables\blocks\ornate_iron_window.json +1fe77a16f4c86993b5fb30f1f48362787fd7cd0b data\create\loot_tables\blocks\ornate_iron_window_pane.json 8d91485a5f353c6fb84e16bd0d9d4a55aaeb31ab data\create\loot_tables\blocks\overgrown_andesite.json 2110e98310c61952b98100f01ea348dce062d945 data\create\loot_tables\blocks\overgrown_dark_scoria.json 552fa22bf8265abde5d7426681b18ef89a8f1159 data\create\loot_tables\blocks\overgrown_diorite.json @@ -1942,18 +1964,18 @@ f70c5b7e7da7abffc82e3d1828499799883bbe85 data\create\loot_tables\blocks\secondar e4f6dccb8bce21b5214c1d8cfb440fc0ba4159d7 data\create\loot_tables\blocks\sequenced_gearshift.json b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data\create\loot_tables\blocks\shaft.json 70b6e82e9198d3910877e62c2eab86d46ca27089 data\create\loot_tables\blocks\speedometer.json -de7b316679373e65101819aaa869a943a5d50c5e data\create\loot_tables\blocks\spruce_window.json -d43db633e13e073a7e255495ed9fec0cb0e4917d data\create\loot_tables\blocks\spruce_window_pane.json +a23a1e332c9ba84474e3c0588e8a0857afe346e0 data\create\loot_tables\blocks\spruce_window.json +3ee2350936ea82fef716bc58e4cd088a384616f0 data\create\loot_tables\blocks\spruce_window_pane.json 8d2970acd61b96844a4308d87e858b1612d5862e data\create\loot_tables\blocks\sticky_mechanical_piston.json ec2889e712702644092197a4b41a682fb953817d data\create\loot_tables\blocks\stockpile_switch.json 3479775008a256bc35f98b31655975f7d5c836b2 data\create\loot_tables\blocks\stressometer.json 05e843ca6eb5e299bf41de123977a1045c120ad4 data\create\loot_tables\blocks\tiled_glass.json -2082f3fb39185cb65555ab93178081a2f53f6046 data\create\loot_tables\blocks\tiled_glass_pane.json +e999969f05d2625e61757aa82092d232b99f6e0a data\create\loot_tables\blocks\tiled_glass_pane.json b201436ae6d2ad5a7d47dca0ee8c7016b4c28fa5 data\create\loot_tables\blocks\transposer.json 7b66ad2c48449bafd0cdbd086ac41218cb73a814 data\create\loot_tables\blocks\turntable.json 5a47c1535c866184b4ffca65763f5676f319e0aa data\create\loot_tables\blocks\vertical_extractor.json -eb3086010565ff1e83e30aa3712f82819bcc0e99 data\create\loot_tables\blocks\vertical_framed_glass.json -15019b1b2b77e6be8a0f4ccd20f35ebb4a82a090 data\create\loot_tables\blocks\vertical_framed_glass_pane.json +028e293b5cd694017962f67dc80dba719f904e28 data\create\loot_tables\blocks\vertical_framed_glass.json +d0156602dd5f4a274c293df67e19374820c72890 data\create\loot_tables\blocks\vertical_framed_glass_pane.json ed895ef7dcb97ad9b00d80a4fa9c331229dd532e data\create\loot_tables\blocks\vertical_funnel.json dac789cf53b00eed34308848b5e267b7ccec090c data\create\loot_tables\blocks\vertical_linked_extractor.json 7af5a13c9e10903b11732fbc01ae3299328216f0 data\create\loot_tables\blocks\vertical_linked_transposer.json @@ -1971,6 +1993,8 @@ e8f3af61d9a2fd1ff5b32c9bb474ed005e6d70c4 data\create\loot_tables\blocks\weathere 54358a64639957cc66ffa5296ff45723f7adf00e data\create\loot_tables\blocks\weathered_limestone_pillar.json 94661e726b3d19271550359ae898a5590939512e data\create\loot_tables\blocks\zinc_block.json 37248ca92d474e440b91c27e3c8e78e568328100 data\create\loot_tables\blocks\zinc_ore.json +b65bac8bc2fbfd476040c1aab1c0588b8bd59ebe data\create\recipes\acacia_window.json +35b4da9c14da60584c32e959efc2223f64bb3ec2 data\create\recipes\acacia_window_pane.json 96bb0bceb7798c96d5cf9b9c24b8ef822080cb1e data\create\recipes\andesite_bricks_from_andesite_stonecutting.json 01867b07039615dc69bad1b9fd217a1d86e69062 data\create\recipes\andesite_bricks_slab.json 376ada0e08cc797c705c22ec35fe54baa5f24efe data\create\recipes\andesite_bricks_slab_from_andesite_bricks_stonecutting.json @@ -1987,6 +2011,8 @@ bb88bb3c7656adb5159910c6c03a0b0d908ff10d data\create\recipes\andesite_cobbleston 51fa768e66043a7f5629b19b0bc7a4e95281037f data\create\recipes\andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json a961cdd11e807bc4658bbdba6c278801b5981234 data\create\recipes\andesite_pillar.json dcdad7a04838ef202b42f84a15243e3d2472b14e data\create\recipes\andesite_pillar_from_andesite_stonecutting.json +2b291b77860254b7ba8500cf2199a04ca1fca7b5 data\create\recipes\birch_window.json +288d80210f7efb4664e2e9c9d9111049863e5f60 data\create\recipes\birch_window_pane.json d5c30af1052332ff3ef6d837ca2bf51c51e14c8d data\create\recipes\brass_block.json 8851b4a339f22bed4da120c3e34d1f32120d0d66 data\create\recipes\chiseled_dark_scoria_from_dark_scoria_stonecutting.json 66937d62734328f4bff6254e6755b3490d4dfa16 data\create\recipes\chiseled_dolomite_from_dolomite_stonecutting.json @@ -1996,6 +2022,8 @@ da9a919b476954c1de34826aa7706bf6056a8f12 data\create\recipes\chiseled_scoria_fro 09faa4ddcf9f3907dcdb3ab3e8b68c1deb2486e5 data\create\recipes\chiseled_weathered_limestone_from_weathered_limestone_stonecutting.json 386c52f0aad6e2239f31dc85f7e745b47230846b data\create\recipes\copper_block.json f863c101808434316da5261b0274f09d80065ea5 data\create\recipes\copper_shingles.json +f2c317e03ac4d42fb631e1625607061e10c480fe data\create\recipes\dark_oak_window.json +d9dbae6e237eb38e53a619a0f1b339fca7c59b4d data\create\recipes\dark_oak_window_pane.json 55596a590962e3ddd40949917661f0bd94408274 data\create\recipes\dark_scoria_bricks_from_dark_scoria_stonecutting.json 2489fc29c47d3c9cb63f5f2f09dc79ea1ca1728e data\create\recipes\dark_scoria_bricks_slab.json 86f4d54ebcc5bc8786c72167395d8efee833744c data\create\recipes\dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json @@ -2107,6 +2135,8 @@ bd355332d17adcb0460b1d43146ca288efb78395 data\create\recipes\fancy_weathered_lim d2ab9ce73636773165564506580f2ec13bd1fc50 data\create\recipes\fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json 36947f27d2b2e57b00440fd5acd06a7554e5a387 data\create\recipes\fancy_weathered_limestone_bricks_wall.json 1d0e41ca98e48073c72adf4077610c96e592f9a5 data\create\recipes\fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json +5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data\create\recipes\framed_glass_from_glass_colorless_stonecutting.json +d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data\create\recipes\framed_glass_pane.json a0dae50faaa1b7142bb4309675e3084c68daa547 data\create\recipes\gabbro_bricks_from_gabbro_stonecutting.json a19f047fa8507e994eb026795c86bc10ff5c373b data\create\recipes\gabbro_bricks_slab.json 84d83643f7987864eca0e2ca7cda4330ad9f1f86 data\create\recipes\gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json @@ -2139,6 +2169,10 @@ fa02e54eaa63121998593403736ecbe86ae03518 data\create\recipes\granite_cobblestone c84f7bfa2d901684dbc7c0afa133a9c87e6e9975 data\create\recipes\granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json 41ba9d3b7b1b0eb99a61d69774ccc0490804e5d1 data\create\recipes\granite_pillar.json d0c541bbefb9f3f861ae5751645493c8e1687b5c data\create\recipes\granite_pillar_from_granite_stonecutting.json +05908d48b6ac0c117da0b4b9ae4ae5e933ed900e data\create\recipes\horizontal_framed_glass_from_glass_colorless_stonecutting.json +4e8d49934f9899f788d45d4347bfc085b2836699 data\create\recipes\horizontal_framed_glass_pane.json +c3ccd16b7fe9878cc734d699b4c8b219ad556f46 data\create\recipes\jungle_window.json +76dab06d0bda78c4247f76d6a849e1aa083fceb1 data\create\recipes\jungle_window_pane.json fc00b0e336c45698df1f94ad470f9941e19b0e24 data\create\recipes\layered_andesite_from_andesite_stonecutting.json 7d66cee5fc4b1f4a94d05ada6ec731bb3a788d0e data\create\recipes\layered_dark_scoria_from_dark_scoria_stonecutting.json 938b2805fbed7a68afe26e4cf9b20ac5d3c3a91f data\create\recipes\layered_diorite_from_diorite_stonecutting.json @@ -2173,6 +2207,10 @@ f343c547a57df1e26d29d1cbb3ffe1ef2cd14817 data\create\recipes\mossy_dolomite_from f4ed015bde948b6330cd00f0ae2d05263d4eaa59 data\create\recipes\mossy_limestone_from_limestone_stonecutting.json 1e5efd72a84b858513cf7665334ddc17debbf6a2 data\create\recipes\mossy_scoria_from_scoria_stonecutting.json 2545b5e7501404df697e3856620a51b63ec8cbfc data\create\recipes\mossy_weathered_limestone_from_weathered_limestone_stonecutting.json +4865d07d0e07e22d41b961f0673041e087df7d5f data\create\recipes\oak_window.json +f06c8d1565a1f4d4914436b21e32d147de868d46 data\create\recipes\oak_window_pane.json +850e67f6f890de9cb8e4c6865aa4ecb8a316c240 data\create\recipes\ornate_iron_window.json +4ef1a7279f8deff6e2fd5fe027ec903694656bf9 data\create\recipes\ornate_iron_window_pane.json d1cd83af24f6086fdc5e2a50bf43fe4e566afa37 data\create\recipes\overgrown_andesite_from_andesite_stonecutting.json 84691017310f584b19cdc492f0317e116c672390 data\create\recipes\overgrown_dark_scoria_from_dark_scoria_stonecutting.json a5dde9dbbf0e64cc2079ecfc2bef714b001bf53d data\create\recipes\overgrown_diorite_from_diorite_stonecutting.json @@ -2309,6 +2347,12 @@ f7b7ff190929ae525297fecb3c116f32fc05fd88 data\create\recipes\scoria_cobblestone_ a9096822db9d12b6014d6d34e52de5821305c03f data\create\recipes\scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json a513468ce4d55fe3b3919bd76ba2bd5b6fac4d4e data\create\recipes\scoria_pillar.json 2e0ecbd3619f080d0fc6fe48307c5a5bcc2e91b4 data\create\recipes\scoria_pillar_from_scoria_stonecutting.json +7a4e163767827fc8cef3646204c2f2bf0f8aac99 data\create\recipes\spruce_window.json +96d515ff0172dafa04d650ab69d68ed508e99e6f data\create\recipes\spruce_window_pane.json +1f689453146c7dd2d315e8b5fb5e7cdc0aaf0fa2 data\create\recipes\tiled_glass_from_glass_colorless_stonecutting.json +39bd4bcaad003edbe035c91ffde61c51ee1edb87 data\create\recipes\tiled_glass_pane.json +7c6778a30bb670762c3a410cb19d1effc55a7063 data\create\recipes\vertical_framed_glass_from_glass_colorless_stonecutting.json +dc6093427210bd7034a0e2184f6a1630c7b33b3e data\create\recipes\vertical_framed_glass_pane.json f75f25d3259dd51c29bee6ada2a4540a7a2bbeab data\create\recipes\weathered_limestone_bricks_from_weathered_limestone_stonecutting.json f58ef5eb552fc7dcd89f30aa4231286ecef5e00a data\create\recipes\weathered_limestone_bricks_slab.json ca9b163b3aaa526d6c3b070c2a7e50a56a38c6f4 data\create\recipes\weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json @@ -2327,11 +2371,15 @@ d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data\create\recipes\weathered_limestone 11667414f73bc2d00bda7c5c1a7d2934bf6e9165 data\create\recipes\weathered_limestone_pillar_from_weathered_limestone_stonecutting.json 266f08e604d229a9d2b46f7272c0b06ec270bf3d data\create\recipes\zinc_block.json d2dc4ff179ef7b2aa9276455c196e15d44aa95a8 data\create\tags\items\crushed_ores.json +16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data\forge\tags\blocks\glass\colorless.json +81ced867d24ec814942909965dd4576eff1db685 data\forge\tags\blocks\glass_panes.json 4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data\forge\tags\blocks\ores\copper.json d5ea262a0f5fb210612d22521818e26cf08e591a data\forge\tags\blocks\ores\zinc.json ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\blocks\storage_blocks\brass.json f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\blocks\storage_blocks\copper.json 7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\blocks\storage_blocks\zinc.json +16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data\forge\tags\items\glass\colorless.json +81ced867d24ec814942909965dd4576eff1db685 data\forge\tags\items\glass_panes.json 2dfd21017cb51d4bdc18d977a7d16f103cc3a985 data\forge\tags\items\ingots\brass.json 8e0ca32df10a50544f54fbe3dbfe485971b23315 data\forge\tags\items\ingots\copper.json 2f9ac80569a5cc168061742f9e3c36277d4d056e data\forge\tags\items\ingots\zinc.json diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index d38a586f8..e5f92068e 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -382,55 +382,6 @@ "_": "->------------------------] We aren't in Registrate yet [------------------------<-", - "item.create.wand_of_symmetry": "Staff of Symmetry", - "item.create.handheld_blockzapper": "Handheld Blockzapper", - "item.create.handheld_worldshaper": "Handheld Worldshaper", - "item.create.tree_fertilizer": "Tree Fertilizer", - "item.create.empty_schematic": "Empty Schematic", - "item.create.andesite_alloy": "Andesite Alloy", - "item.create.chromatic_compound": "Chromatic Compound", - "item.create.shadow_steel": "Shadow Steel", - "item.create.schematic_and_quill": "Schematic and Quill", - "item.create.schematic": "Schematic", - "item.create.belt_connector": "Mechanical Belt", - "item.create.goggles": "Engineer's Goggles", - "item.create.filter": "Filter", - "item.create.attribute_filter": "Attribute Filter", - "item.create.rose_quartz": "Rose Quartz", - "item.create.polished_rose_quartz": "Polished Rose Quartz", - "item.create.refined_radiance": "Refined Radiance", - "item.create.iron_sheet": "Iron Sheets", - "item.create.gold_sheet": "Gold Sheets", - "item.create.lapis_plate": "Lapis Plating", - "item.create.obsidian_dust": "Powdered Obsidian", - "item.create.propeller": "Propeller", - "item.create.whisk": "Whisk", - "item.create.brass_hand": "Hand", - "item.create.crafter_slot_cover": "Crafter Slot Cover", - "item.create.flour": "Wheat Flour", - "item.create.dough": "Dough", - "item.create.wrench": "Wrench", - "item.create.deforester": "Deforester", - "item.create.crushed_iron": "Crushed Iron Ore", - "item.create.crushed_gold": "Crushed Gold Ore", - "item.create.sand_paper": "Sand Paper", - "item.create.red_sand_paper": "Red Sand Paper", - "item.create.super_glue": "Super Glue", - "item.create.minecart_contraption": "Minecart with Contraption", - "item.create.brass_ingot": "Brass Ingot", - "item.create.brass_sheet": "Brass Sheets", - "item.create.brass_nugget": "Brass Nugget", - "item.create.crushed_brass": "Crushed Brass", - "item.create.zinc_ingot": "Zinc Bar", - "item.create.zinc_nugget": "Zinc Nugget", - "item.create.crushed_zinc": "Crushed Zinc", - "item.create.copper_sheet": "Copper Sheets", - "item.create.copper_ingot": "Copper Ingot", - "item.create.copper_nugget": "Copper Nugget", - "item.create.crushed_copper": "Crushed Copper", - "item.create.electron_tube": "Electron Tube", - "item.create.integrated_circuit": "Integrated Circuit", - "entity.create.contraption": "Moving Contraption", "entity.create.stationary_contraption": "Stationary Contraption", "entity.create.super_glue": "Superglue", diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/acacia_window.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/acacia_window.json new file mode 100644 index 000000000..e1121e299 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/acacia_window.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:acacia_window" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:acacia_planks" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:acacia_window" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/acacia_window_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/acacia_window_pane.json new file mode 100644 index 000000000..a7a499c74 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/acacia_window_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:acacia_window_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:acacia_window" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:acacia_window_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/birch_window.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/birch_window.json new file mode 100644 index 000000000..273ca7803 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/birch_window.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:birch_window" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:birch_planks" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:birch_window" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/birch_window_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/birch_window_pane.json new file mode 100644 index 000000000..0fcbff993 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/birch_window_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:birch_window_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:birch_window" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:birch_window_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_oak_window.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_oak_window.json new file mode 100644 index 000000000..e7982eb0d --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_oak_window.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:dark_oak_window" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:dark_oak_planks" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:dark_oak_window" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_oak_window_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_oak_window_pane.json new file mode 100644 index 000000000..9ecf08b12 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_oak_window_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:dark_oak_window_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:dark_oak_window" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:dark_oak_window_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/framed_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/framed_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..4d5b5c93f --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/framed_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:framed_glass_from_glass_colorless_stonecutting" + ] + }, + "criteria": { + "has_glass_colorless": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "tag": "forge:glass/colorless" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:framed_glass_from_glass_colorless_stonecutting" + } + } + }, + "requirements": [ + [ + "has_glass_colorless", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/framed_glass_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/framed_glass_pane.json new file mode 100644 index 000000000..bcfd8b2b0 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/framed_glass_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:framed_glass_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:framed_glass" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:framed_glass_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/horizontal_framed_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/horizontal_framed_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..024aac120 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/horizontal_framed_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:horizontal_framed_glass_from_glass_colorless_stonecutting" + ] + }, + "criteria": { + "has_glass_colorless": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "tag": "forge:glass/colorless" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:horizontal_framed_glass_from_glass_colorless_stonecutting" + } + } + }, + "requirements": [ + [ + "has_glass_colorless", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/horizontal_framed_glass_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/horizontal_framed_glass_pane.json new file mode 100644 index 000000000..7d7fed9b5 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/horizontal_framed_glass_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:horizontal_framed_glass_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:horizontal_framed_glass" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:horizontal_framed_glass_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/jungle_window.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/jungle_window.json new file mode 100644 index 000000000..f86a3d6e9 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/jungle_window.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:jungle_window" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:jungle_planks" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:jungle_window" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/jungle_window_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/jungle_window_pane.json new file mode 100644 index 000000000..3d2bd6806 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/jungle_window_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:jungle_window_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:jungle_window" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:jungle_window_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/oak_window.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/oak_window.json new file mode 100644 index 000000000..6c6ddc614 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/oak_window.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:oak_window" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:oak_planks" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:oak_window" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/oak_window_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/oak_window_pane.json new file mode 100644 index 000000000..115b87f54 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/oak_window_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:oak_window_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:oak_window" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:oak_window_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/ornate_iron_window.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/ornate_iron_window.json new file mode 100644 index 000000000..f402ceb96 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/ornate_iron_window.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:ornate_iron_window" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:andesite_alloy" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:ornate_iron_window" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/ornate_iron_window_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/ornate_iron_window_pane.json new file mode 100644 index 000000000..b3f942d5c --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/ornate_iron_window_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:ornate_iron_window_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:ornate_iron_window" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:ornate_iron_window_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/spruce_window.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/spruce_window.json new file mode 100644 index 000000000..cc0c3ea14 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/spruce_window.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:spruce_window" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:spruce_planks" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:spruce_window" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/spruce_window_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/spruce_window_pane.json new file mode 100644 index 000000000..746a3aa58 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/spruce_window_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:spruce_window_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:spruce_window" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:spruce_window_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/tiled_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/tiled_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..20e84262a --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/tiled_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:tiled_glass_from_glass_colorless_stonecutting" + ] + }, + "criteria": { + "has_glass_colorless": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "tag": "forge:glass/colorless" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:tiled_glass_from_glass_colorless_stonecutting" + } + } + }, + "requirements": [ + [ + "has_glass_colorless", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/tiled_glass_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/tiled_glass_pane.json new file mode 100644 index 000000000..1b0c6f749 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/tiled_glass_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:tiled_glass_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:tiled_glass" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:tiled_glass_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/vertical_framed_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/vertical_framed_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..7350eea2d --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/vertical_framed_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:vertical_framed_glass_from_glass_colorless_stonecutting" + ] + }, + "criteria": { + "has_glass_colorless": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "tag": "forge:glass/colorless" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:vertical_framed_glass_from_glass_colorless_stonecutting" + } + } + }, + "requirements": [ + [ + "has_glass_colorless", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/vertical_framed_glass_pane.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/vertical_framed_glass_pane.json new file mode 100644 index 000000000..93cdeb3b1 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/vertical_framed_glass_pane.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:vertical_framed_glass_pane" + ] + }, + "criteria": { + "has_ingredient": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:vertical_framed_glass" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:vertical_framed_glass_pane" + } + } + }, + "requirements": [ + [ + "has_ingredient", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/loot_tables/blocks/acacia_window.json b/src/generated/resources/data/create/loot_tables/blocks/acacia_window.json index 257cc74a0..a1bc9dc59 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/acacia_window.json +++ b/src/generated/resources/data/create/loot_tables/blocks/acacia_window.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/acacia_window_pane.json b/src/generated/resources/data/create/loot_tables/blocks/acacia_window_pane.json index 89f298740..a2232bd79 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/acacia_window_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/acacia_window_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/birch_window.json b/src/generated/resources/data/create/loot_tables/blocks/birch_window.json index 409adf1ab..340ccf4a8 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/birch_window.json +++ b/src/generated/resources/data/create/loot_tables/blocks/birch_window.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/birch_window_pane.json b/src/generated/resources/data/create/loot_tables/blocks/birch_window_pane.json index 9dbd18a6d..2433c6582 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/birch_window_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/birch_window_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window.json b/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window.json index 7560101b0..539cab0e4 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window.json +++ b/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window_pane.json b/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window_pane.json index fe92eda45..8e00155c4 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/dark_oak_window_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/framed_glass.json b/src/generated/resources/data/create/loot_tables/blocks/framed_glass.json index 306c85040..b6fe4b2ce 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/framed_glass.json +++ b/src/generated/resources/data/create/loot_tables/blocks/framed_glass.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/framed_glass_pane.json b/src/generated/resources/data/create/loot_tables/blocks/framed_glass_pane.json index 47f9bddf0..6f9a53469 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/framed_glass_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/framed_glass_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass.json b/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass.json index bb9aab6b0..8043511ee 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass.json +++ b/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass_pane.json b/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass_pane.json index 0dbf51b90..99d31d4b7 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/horizontal_framed_glass_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/jungle_window.json b/src/generated/resources/data/create/loot_tables/blocks/jungle_window.json index df07acbdc..be9c376c4 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/jungle_window.json +++ b/src/generated/resources/data/create/loot_tables/blocks/jungle_window.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/jungle_window_pane.json b/src/generated/resources/data/create/loot_tables/blocks/jungle_window_pane.json index 476f1123c..b83e2afe7 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/jungle_window_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/jungle_window_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/natural_scoria.json b/src/generated/resources/data/create/loot_tables/blocks/natural_scoria.json index 5b82a3193..dc853d0da 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/natural_scoria.json +++ b/src/generated/resources/data/create/loot_tables/blocks/natural_scoria.json @@ -5,13 +5,37 @@ "rolls": 1, "entries": [ { - "type": "minecraft:item", - "name": "create:natural_scoria" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "create:natural_scoria" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "name": "create:scoria" + } + ] } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/oak_window.json b/src/generated/resources/data/create/loot_tables/blocks/oak_window.json index 0cccb8d65..2bb2bf90e 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/oak_window.json +++ b/src/generated/resources/data/create/loot_tables/blocks/oak_window.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/oak_window_pane.json b/src/generated/resources/data/create/loot_tables/blocks/oak_window_pane.json index 65adfaaf7..1c37b0ce0 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/oak_window_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/oak_window_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window.json b/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window.json index 73965c22f..c5e0968e9 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window.json +++ b/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window_pane.json b/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window_pane.json index a9c3df5ce..570ec0ed3 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/ornate_iron_window_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/spruce_window.json b/src/generated/resources/data/create/loot_tables/blocks/spruce_window.json index b6cc58aee..923b177ed 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/spruce_window.json +++ b/src/generated/resources/data/create/loot_tables/blocks/spruce_window.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/spruce_window_pane.json b/src/generated/resources/data/create/loot_tables/blocks/spruce_window_pane.json index 53a8f1ec9..37bf58da8 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/spruce_window_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/spruce_window_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/tiled_glass_pane.json b/src/generated/resources/data/create/loot_tables/blocks/tiled_glass_pane.json index 84d975f28..29dc59308 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/tiled_glass_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/tiled_glass_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass.json b/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass.json index 8b51d23b0..ee02fe589 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass.json +++ b/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass_pane.json b/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass_pane.json index 8ed0c71a8..05208f24c 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass_pane.json +++ b/src/generated/resources/data/create/loot_tables/blocks/vertical_framed_glass_pane.json @@ -11,7 +11,17 @@ ], "conditions": [ { - "condition": "minecraft:survives_explosion" + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } } ] } diff --git a/src/generated/resources/data/create/recipes/acacia_window.json b/src/generated/resources/data/create/recipes/acacia_window.json new file mode 100644 index 000000000..c94925f3a --- /dev/null +++ b/src/generated/resources/data/create/recipes/acacia_window.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#X#" + ], + "key": { + "#": { + "item": "minecraft:acacia_planks" + }, + "X": { + "tag": "forge:glass/colorless" + } + }, + "result": { + "item": "create:acacia_window", + "count": 2 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/acacia_window_pane.json b/src/generated/resources/data/create/recipes/acacia_window_pane.json new file mode 100644 index 000000000..0205ad159 --- /dev/null +++ b/src/generated/resources/data/create/recipes/acacia_window_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:acacia_window" + } + }, + "result": { + "item": "create:acacia_window_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/birch_window.json b/src/generated/resources/data/create/recipes/birch_window.json new file mode 100644 index 000000000..644da9932 --- /dev/null +++ b/src/generated/resources/data/create/recipes/birch_window.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#X#" + ], + "key": { + "#": { + "item": "minecraft:birch_planks" + }, + "X": { + "tag": "forge:glass/colorless" + } + }, + "result": { + "item": "create:birch_window", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/zinc_block.json b/src/generated/resources/data/create/recipes/birch_window_pane.json similarity index 59% rename from src/main/resources/data/create/recipes/crafting_shaped/materials/zinc_block.json rename to src/generated/resources/data/create/recipes/birch_window_pane.json index b7ed61522..802d6b6ed 100644 --- a/src/main/resources/data/create/recipes/crafting_shaped/materials/zinc_block.json +++ b/src/generated/resources/data/create/recipes/birch_window_pane.json @@ -1,16 +1,16 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "###", "###", "###" ], "key": { "#": { - "tag": "forge:ingots/zinc" + "item": "create:birch_window" } }, "result": { - "item": "create:zinc_block" + "item": "create:birch_window_pane", + "count": 16 } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/dark_oak_window.json b/src/generated/resources/data/create/recipes/dark_oak_window.json new file mode 100644 index 000000000..987881bde --- /dev/null +++ b/src/generated/resources/data/create/recipes/dark_oak_window.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#X#" + ], + "key": { + "#": { + "item": "minecraft:dark_oak_planks" + }, + "X": { + "tag": "forge:glass/colorless" + } + }, + "result": { + "item": "create:dark_oak_window", + "count": 2 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/dark_oak_window_pane.json b/src/generated/resources/data/create/recipes/dark_oak_window_pane.json new file mode 100644 index 000000000..9ccd4c353 --- /dev/null +++ b/src/generated/resources/data/create/recipes/dark_oak_window_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:dark_oak_window" + } + }, + "result": { + "item": "create:dark_oak_window_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..d913b76e2 --- /dev/null +++ b/src/generated/resources/data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "forge:glass/colorless" + }, + "result": "create:framed_glass", + "count": 1 +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/framed_glass_pane.json b/src/generated/resources/data/create/recipes/framed_glass_pane.json new file mode 100644 index 000000000..e56c02fdb --- /dev/null +++ b/src/generated/resources/data/create/recipes/framed_glass_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:framed_glass" + } + }, + "result": { + "item": "create:framed_glass_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/horizontal_framed_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/recipes/horizontal_framed_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..bbcff0d23 --- /dev/null +++ b/src/generated/resources/data/create/recipes/horizontal_framed_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "forge:glass/colorless" + }, + "result": "create:horizontal_framed_glass", + "count": 1 +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/horizontal_framed_glass_pane.json b/src/generated/resources/data/create/recipes/horizontal_framed_glass_pane.json new file mode 100644 index 000000000..4cee46dec --- /dev/null +++ b/src/generated/resources/data/create/recipes/horizontal_framed_glass_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:horizontal_framed_glass" + } + }, + "result": { + "item": "create:horizontal_framed_glass_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/jungle_window.json b/src/generated/resources/data/create/recipes/jungle_window.json new file mode 100644 index 000000000..5aec87bd8 --- /dev/null +++ b/src/generated/resources/data/create/recipes/jungle_window.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#X#" + ], + "key": { + "#": { + "item": "minecraft:jungle_planks" + }, + "X": { + "tag": "forge:glass/colorless" + } + }, + "result": { + "item": "create:jungle_window", + "count": 2 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/jungle_window_pane.json b/src/generated/resources/data/create/recipes/jungle_window_pane.json new file mode 100644 index 000000000..8fbe2e0b0 --- /dev/null +++ b/src/generated/resources/data/create/recipes/jungle_window_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:jungle_window" + } + }, + "result": { + "item": "create:jungle_window_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/oak_window.json b/src/generated/resources/data/create/recipes/oak_window.json new file mode 100644 index 000000000..6d8774948 --- /dev/null +++ b/src/generated/resources/data/create/recipes/oak_window.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#X#" + ], + "key": { + "#": { + "item": "minecraft:oak_planks" + }, + "X": { + "tag": "forge:glass/colorless" + } + }, + "result": { + "item": "create:oak_window", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_block.json b/src/generated/resources/data/create/recipes/oak_window_pane.json similarity index 60% rename from src/main/resources/data/create/recipes/crafting_shaped/materials/brass_block.json rename to src/generated/resources/data/create/recipes/oak_window_pane.json index 2a8c26fd0..c443283ce 100644 --- a/src/main/resources/data/create/recipes/crafting_shaped/materials/brass_block.json +++ b/src/generated/resources/data/create/recipes/oak_window_pane.json @@ -1,16 +1,16 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "###", "###", "###" ], "key": { "#": { - "tag": "forge:ingots/brass" + "item": "create:oak_window" } }, "result": { - "item": "create:brass_block" + "item": "create:oak_window_pane", + "count": 16 } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/ornate_iron_window.json b/src/generated/resources/data/create/recipes/ornate_iron_window.json new file mode 100644 index 000000000..1d1e23401 --- /dev/null +++ b/src/generated/resources/data/create/recipes/ornate_iron_window.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#X#" + ], + "key": { + "#": { + "item": "create:andesite_alloy" + }, + "X": { + "tag": "forge:glass/colorless" + } + }, + "result": { + "item": "create:ornate_iron_window", + "count": 2 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/ornate_iron_window_pane.json b/src/generated/resources/data/create/recipes/ornate_iron_window_pane.json new file mode 100644 index 000000000..1b4d11244 --- /dev/null +++ b/src/generated/resources/data/create/recipes/ornate_iron_window_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:ornate_iron_window" + } + }, + "result": { + "item": "create:ornate_iron_window_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/spruce_window.json b/src/generated/resources/data/create/recipes/spruce_window.json new file mode 100644 index 000000000..617d75de8 --- /dev/null +++ b/src/generated/resources/data/create/recipes/spruce_window.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#X#" + ], + "key": { + "#": { + "item": "minecraft:spruce_planks" + }, + "X": { + "tag": "forge:glass/colorless" + } + }, + "result": { + "item": "create:spruce_window", + "count": 2 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/spruce_window_pane.json b/src/generated/resources/data/create/recipes/spruce_window_pane.json new file mode 100644 index 000000000..db4eb0dc8 --- /dev/null +++ b/src/generated/resources/data/create/recipes/spruce_window_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:spruce_window" + } + }, + "result": { + "item": "create:spruce_window_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/tiled_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/recipes/tiled_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..e9bf1a15d --- /dev/null +++ b/src/generated/resources/data/create/recipes/tiled_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "forge:glass/colorless" + }, + "result": "create:tiled_glass", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/create/recipes/crafting_shaped/materials/copper_block.json b/src/generated/resources/data/create/recipes/tiled_glass_pane.json similarity index 59% rename from src/main/resources/data/create/recipes/crafting_shaped/materials/copper_block.json rename to src/generated/resources/data/create/recipes/tiled_glass_pane.json index 1ef586c30..58e60703b 100644 --- a/src/main/resources/data/create/recipes/crafting_shaped/materials/copper_block.json +++ b/src/generated/resources/data/create/recipes/tiled_glass_pane.json @@ -1,16 +1,16 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "###", "###", "###" ], "key": { "#": { - "tag": "forge:ingots/copper" + "item": "create:tiled_glass" } }, "result": { - "item": "create:copper_block" + "item": "create:tiled_glass_pane", + "count": 16 } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/vertical_framed_glass_from_glass_colorless_stonecutting.json b/src/generated/resources/data/create/recipes/vertical_framed_glass_from_glass_colorless_stonecutting.json new file mode 100644 index 000000000..a71a45ce0 --- /dev/null +++ b/src/generated/resources/data/create/recipes/vertical_framed_glass_from_glass_colorless_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "forge:glass/colorless" + }, + "result": "create:vertical_framed_glass", + "count": 1 +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/vertical_framed_glass_pane.json b/src/generated/resources/data/create/recipes/vertical_framed_glass_pane.json new file mode 100644 index 000000000..aec08fee4 --- /dev/null +++ b/src/generated/resources/data/create/recipes/vertical_framed_glass_pane.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "create:vertical_framed_glass" + } + }, + "result": { + "item": "create:vertical_framed_glass_pane", + "count": 16 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/blocks/glass/colorless.json b/src/generated/resources/data/forge/tags/blocks/glass/colorless.json new file mode 100644 index 000000000..ccebd5fdf --- /dev/null +++ b/src/generated/resources/data/forge/tags/blocks/glass/colorless.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "create:tiled_glass", + "create:framed_glass", + "create:horizontal_framed_glass", + "create:vertical_framed_glass" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/blocks/glass_panes.json b/src/generated/resources/data/forge/tags/blocks/glass_panes.json new file mode 100644 index 000000000..5a6ace209 --- /dev/null +++ b/src/generated/resources/data/forge/tags/blocks/glass_panes.json @@ -0,0 +1,16 @@ +{ + "replace": false, + "values": [ + "create:tiled_glass_pane", + "create:framed_glass_pane", + "create:horizontal_framed_glass_pane", + "create:vertical_framed_glass_pane", + "create:oak_window_pane", + "create:spruce_window_pane", + "create:birch_window_pane", + "create:jungle_window_pane", + "create:acacia_window_pane", + "create:dark_oak_window_pane", + "create:ornate_iron_window_pane" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/glass/colorless.json b/src/generated/resources/data/forge/tags/items/glass/colorless.json new file mode 100644 index 000000000..ccebd5fdf --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/glass/colorless.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "create:tiled_glass", + "create:framed_glass", + "create:horizontal_framed_glass", + "create:vertical_framed_glass" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/glass_panes.json b/src/generated/resources/data/forge/tags/items/glass_panes.json new file mode 100644 index 000000000..5a6ace209 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/glass_panes.json @@ -0,0 +1,16 @@ +{ + "replace": false, + "values": [ + "create:tiled_glass_pane", + "create:framed_glass_pane", + "create:horizontal_framed_glass_pane", + "create:vertical_framed_glass_pane", + "create:oak_window_pane", + "create:spruce_window_pane", + "create:birch_window_pane", + "create:jungle_window_pane", + "create:acacia_window_pane", + "create:dark_oak_window_pane", + "create:ornate_iron_window_pane" + ] +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 6864f79c5..44345194f 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -815,7 +815,6 @@ public class AllBlocks { .initialProperties(() -> Blocks.IRON_BLOCK) .item() .transform(oxidizedItemModel()) - .recipe((ctx, prov) -> prov.square(DataIngredient.tag(forgeItemTag("plates/copper")), ctx, true)) .transform(oxidizedBlockstate()) .register(); diff --git a/src/main/java/com/simibubi/create/AllTags.java b/src/main/java/com/simibubi/create/AllTags.java index 2b48921e0..e85354df0 100644 --- a/src/main/java/com/simibubi/create/AllTags.java +++ b/src/main/java/com/simibubi/create/AllTags.java @@ -24,7 +24,7 @@ public class AllTags { .item() .tag(forgeItemTag(tagName)); } - + public static Tag forgeBlockTag(String name) { return forgeTag(BlockTags.getCollection(), name); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java new file mode 100644 index 000000000..99eb1b205 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java @@ -0,0 +1,102 @@ +package com.simibubi.create.content.curiosities.zapper; + +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.foundation.networking.AllPackets; +import com.simibubi.create.foundation.networking.NbtPacket; +import com.simibubi.create.foundation.utility.BlockHelper; + +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.nbt.NBTUtil; +import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.state.properties.StairsShape; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.math.RayTraceContext; +import net.minecraft.util.math.RayTraceContext.BlockMode; +import net.minecraft.util.math.RayTraceContext.FluidMode; +import net.minecraft.util.math.Vec3d; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; + +@EventBusSubscriber(value = Dist.CLIENT) +public class ZapperInteractionHandler { + + @SubscribeEvent + public static void leftClickingTheZapperSelectsANewBlock(PlayerInteractEvent.LeftClickEmpty event) { + ItemStack heldItem = event.getPlayer() + .getHeldItemMainhand(); + if (heldItem.getItem() instanceof ZapperItem && trySelect(heldItem, event.getPlayer())) + AllPackets.channel.sendToServer(new NbtPacket(heldItem, Hand.MAIN_HAND)); + } + + @SubscribeEvent + public static void leftClickingBlocksWithTheZapperSelectsTheBlock(PlayerInteractEvent.LeftClickBlock event) { + ItemStack heldItem = event.getPlayer() + .getHeldItemMainhand(); + if (heldItem.getItem() instanceof ZapperItem && trySelect(heldItem, event.getPlayer())) { + event.setCancellationResult(ActionResultType.FAIL); + event.setCanceled(true); + AllPackets.channel.sendToServer(new NbtPacket(heldItem, Hand.MAIN_HAND)); + } + } + + public static boolean trySelect(ItemStack stack, PlayerEntity player) { + if (player.isSneaking()) + return false; + + Vec3d start = player.getPositionVec() + .add(0, player.getEyeHeight(), 0); + Vec3d range = player.getLookVec() + .scale(getRange(stack)); + BlockRayTraceResult raytrace = player.world + .rayTraceBlocks(new RayTraceContext(start, start.add(range), BlockMode.OUTLINE, FluidMode.NONE, player)); + BlockPos pos = raytrace.getPos(); + if (pos == null) + return false; + + player.world.sendBlockBreakProgress(player.getEntityId(), pos, -1); + BlockState newState = player.world.getBlockState(pos); + + if (BlockHelper.getRequiredItem(newState) + .isEmpty()) + return false; + if (player.world.getTileEntity(pos) != null) + return false; + if (newState.has(BlockStateProperties.DOUBLE_BLOCK_HALF)) + return false; + if (newState.has(BlockStateProperties.ATTACHED)) + return false; + if (newState.has(BlockStateProperties.HANGING)) + return false; + if (newState.has(BlockStateProperties.BED_PART)) + return false; + if (newState.has(BlockStateProperties.STAIRS_SHAPE)) + newState = newState.with(BlockStateProperties.STAIRS_SHAPE, StairsShape.STRAIGHT); + if (newState.has(BlockStateProperties.PERSISTENT)) + newState = newState.with(BlockStateProperties.PERSISTENT, true); + + CompoundNBT tag = stack.getOrCreateTag(); + if (tag.contains("BlockUsed") && NBTUtil.readBlockState(stack.getTag() + .getCompound("BlockUsed")) == newState) + return false; + + tag.put("BlockUsed", NBTUtil.writeBlockState(newState)); + player.world.playSound(player, player.getPosition(), AllSoundEvents.BLOCKZAPPER_CONFIRM.get(), + SoundCategory.BLOCKS, 0.5f, 0.8f); + return true; + } + + public static int getRange(ItemStack stack) { + if (stack.getItem() instanceof ZapperItem) + return ((ZapperItem) stack.getItem()).getZappingRange(stack); + return 0; + } +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java index 925e8ad1b..18328c84f 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java @@ -5,7 +5,6 @@ import java.util.List; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.networking.AllPackets; -import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.block.BlockState; @@ -21,8 +20,6 @@ import net.minecraft.item.Rarity; import net.minecraft.item.UseAction; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.NBTUtil; -import net.minecraft.state.properties.BlockStateProperties; -import net.minecraft.state.properties.StairsShape; import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResultType; import net.minecraft.util.Hand; @@ -217,6 +214,11 @@ public abstract class ZapperItem extends Item { .setCooldown(item.getItem(), dual ? delay * 2 / 3 : delay); } + @Override + public boolean onEntitySwing(ItemStack stack, LivingEntity entity) { + return true; + } + @Override public boolean canPlayerBreakBlockWhileHolding(BlockState state, World worldIn, BlockPos pos, PlayerEntity player) { return false; @@ -227,56 +229,4 @@ public abstract class ZapperItem extends Item { return UseAction.NONE; } - @Override - public boolean onEntitySwing(ItemStack stack, LivingEntity entity) { - if (!(entity instanceof PlayerEntity)) - return false; - if (entity.isSneaking()) - return true; - if (entity.world.isRemote) - return true; - - Vec3d start = entity.getPositionVec() - .add(0, entity.getEyeHeight(), 0); - Vec3d range = entity.getLookVec() - .scale(getZappingRange(stack)); - BlockRayTraceResult raytrace = entity.world - .rayTraceBlocks(new RayTraceContext(start, start.add(range), BlockMode.OUTLINE, FluidMode.NONE, entity)); - BlockPos pos = raytrace.getPos(); - if (pos == null) - return true; - - entity.world.sendBlockBreakProgress(entity.getEntityId(), pos, -1); - BlockState newState = entity.world.getBlockState(pos); - - if (BlockHelper.getRequiredItem(newState) - .isEmpty()) - return true; - if (entity.world.getTileEntity(pos) != null) - return true; - if (newState.has(BlockStateProperties.DOUBLE_BLOCK_HALF)) - return true; - if (newState.has(BlockStateProperties.ATTACHED)) - return true; - if (newState.has(BlockStateProperties.HANGING)) - return true; - if (newState.has(BlockStateProperties.BED_PART)) - return true; - if (newState.has(BlockStateProperties.STAIRS_SHAPE)) - newState = newState.with(BlockStateProperties.STAIRS_SHAPE, StairsShape.STRAIGHT); - if (newState.has(BlockStateProperties.PERSISTENT)) - newState = newState.with(BlockStateProperties.PERSISTENT, true); - - CompoundNBT tag = stack.getOrCreateTag(); - if (tag.contains("BlockUsed") && NBTUtil.readBlockState(stack.getTag() - .getCompound("BlockUsed")) == newState) - return true; - - tag.put("BlockUsed", NBTUtil.writeBlockState(newState)); - entity.world.playSound(null, entity.getPosition(), AllSoundEvents.BLOCKZAPPER_CONFIRM.get(), - SoundCategory.BLOCKS, 0.5f, 0.8f); - - return true; - } - } diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/blockzapper/BlockzapperItem.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/blockzapper/BlockzapperItem.java index e1d965454..b92764ace 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/blockzapper/BlockzapperItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/blockzapper/BlockzapperItem.java @@ -8,6 +8,7 @@ import java.util.Set; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.content.curiosities.zapper.PlacementPatterns; +import com.simibubi.create.content.curiosities.zapper.ZapperInteractionHandler; import com.simibubi.create.content.curiosities.zapper.ZapperItem; import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.gui.ScreenOpener; @@ -189,7 +190,7 @@ public class BlockzapperItem extends ZapperItem { Vec3d start = player.getPositionVec() .add(0, player.getEyeHeight(), 0); Vec3d range = player.getLookVec() - .scale(getRange(stack)); + .scale(ZapperInteractionHandler.getRange(stack)); BlockRayTraceResult raytrace = player.world .rayTraceBlocks(new RayTraceContext(start, start.add(range), BlockMode.COLLIDER, FluidMode.NONE, player)); BlockPos pos = raytrace.getPos() @@ -315,10 +316,6 @@ public class BlockzapperItem extends ZapperItem { @Override protected int getZappingRange(ItemStack stack) { - return getRange(stack); - } - - public static int getRange(ItemStack stack) { ComponentTier tier = getTier(Components.Scope, stack); if (tier == ComponentTier.None) return 15; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/inventories/AdjustableCrateScreen.java b/src/main/java/com/simibubi/create/content/logistics/block/inventories/AdjustableCrateScreen.java index 1c415d279..6868123e3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/inventories/AdjustableCrateScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/inventories/AdjustableCrateScreen.java @@ -33,8 +33,8 @@ public class AdjustableCrateScreen extends AbstractSimiContainerScreen extraAreas; private final ItemStack renderedItem = new ItemStack(AllBlocks.ADJUSTABLE_CRATE.get()); - private final String title = Lang.translate("gui.flexcrate.title"); - private final String storageSpace = Lang.translate("gui.flexcrate.storageSpace"); + private final String title = Lang.translate("gui.adjustable_crate.title"); + private final String storageSpace = Lang.translate("gui.adjustable_crate.storageSpace"); public AdjustableCrateScreen(AdjustableCrateContainer container, PlayerInventory inv, ITextComponent title) { super(container, inv, title); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java index 52f8e8383..da70e21b9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchScreen.java @@ -24,13 +24,13 @@ public class StockpileSwitchScreen extends AbstractSimiScreen { private ScrollInput onAbove; private Label onAboveLabel; - private final String title = Lang.translate("gui.stockswitch.title"); - private final String startAbove = Lang.translate("gui.stockswitch.startAbove"); - private final String startAt = Lang.translate("gui.stockswitch.startAt"); - private final String stopBelow = Lang.translate("gui.stockswitch.stopBelow"); - private final String stopAt = Lang.translate("gui.stockswitch.stopAt"); - private final String lowerLimit = Lang.translate("gui.stockswitch.lowerLimit"); - private final String upperLimit = Lang.translate("gui.stockswitch.upperLimit"); + private final String title = Lang.translate("gui.stockpile_switch.title"); + private final String startAbove = Lang.translate("gui.stockpile_switch.startAbove"); + private final String startAt = Lang.translate("gui.stockpile_switch.startAt"); + private final String stopBelow = Lang.translate("gui.stockpile_switch.stopBelow"); + private final String stopAt = Lang.translate("gui.stockpile_switch.stopAt"); + private final String lowerLimit = Lang.translate("gui.stockpile_switch.lowerLimit"); + private final String upperLimit = Lang.translate("gui.stockpile_switch.upperLimit"); private final ItemStack renderedItem = new ItemStack(AllBlocks.STOCKPILE_SWITCH.get()); private int lastModification; diff --git a/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java b/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java index ead27af6c..ee5565f2f 100644 --- a/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java +++ b/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java @@ -7,6 +7,7 @@ import static com.simibubi.create.foundation.data.WindowGen.framedGlassPane; import static com.simibubi.create.foundation.data.WindowGen.woodenWindowBlock; import static com.simibubi.create.foundation.data.WindowGen.woodenWindowPane; +import com.simibubi.create.AllItems; import com.simibubi.create.AllSpriteShifts; import com.simibubi.create.Create; import com.simibubi.create.content.AllSections; @@ -17,6 +18,8 @@ import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.data.WindowGen; import com.tterrag.registrate.providers.DataGenContext; import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables; +import com.tterrag.registrate.util.DataIngredient; import com.tterrag.registrate.util.entry.BlockEntry; import com.tterrag.registrate.util.nullness.NonNullBiConsumer; @@ -27,20 +30,25 @@ import net.minecraft.block.SandBlock; import net.minecraft.block.WoodType; import net.minecraft.client.renderer.RenderType; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.Tags; public class AllPaletteBlocks { private static final CreateRegistrate REGISTRATE = Create.registrate() - .itemGroup(() -> Create.palettesCreativeTab) - .startSection(AllSections.PALETTES); + .itemGroup(() -> Create.palettesCreativeTab) + .startSection(AllSections.PALETTES); // Windows and Glass public static final BlockEntry TILED_GLASS = REGISTRATE.block("tiled_glass", GlassBlock::new) .initialProperties(() -> Blocks.GLASS) .addLayer(() -> RenderType::getCutoutMipped) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(Tags.Items.GLASS_COLORLESS), c::get)) .blockstate(palettesCubeAll()) - .simpleItem() + .tag(Tags.Blocks.GLASS_COLORLESS) + .item() + .tag(Tags.Items.GLASS_COLORLESS) + .build() .register(); public static final BlockEntry FRAMED_GLASS = @@ -51,33 +59,34 @@ public class AllPaletteBlocks { framedGlass("vertical_framed_glass", new HorizontalCTBehaviour(AllSpriteShifts.VERTICAL_FRAMED_GLASS)); public static final BlockEntry TILED_GLASS_PANE = - WindowGen.standardGlassPane("tiled_glass", Create.asResource("block/palettes/tiled_glass"), + WindowGen.standardGlassPane("tiled_glass", TILED_GLASS, Create.asResource("block/palettes/tiled_glass"), new ResourceLocation("block/glass_pane_top"), () -> RenderType::getCutoutMipped); public static final BlockEntry FRAMED_GLASS_PANE = - framedGlassPane("framed_glass", AllSpriteShifts.FRAMED_GLASS), - HORIZONTAL_FRAMED_GLASS_PANE = framedGlassPane("horizontal_framed_glass", AllSpriteShifts.HORIZONTAL_FRAMED_GLASS), - VERTICAL_FRAMED_GLASS_PANE = framedGlassPane("vertical_framed_glass", AllSpriteShifts.VERTICAL_FRAMED_GLASS); + framedGlassPane("framed_glass", FRAMED_GLASS, AllSpriteShifts.FRAMED_GLASS), + HORIZONTAL_FRAMED_GLASS_PANE = framedGlassPane("horizontal_framed_glass", HORIZONTAL_FRAMED_GLASS, + AllSpriteShifts.HORIZONTAL_FRAMED_GLASS), + VERTICAL_FRAMED_GLASS_PANE = + framedGlassPane("vertical_framed_glass", VERTICAL_FRAMED_GLASS, AllSpriteShifts.VERTICAL_FRAMED_GLASS); - public static final BlockEntry - OAK_WINDOW = woodenWindowBlock(WoodType.OAK), - SPRUCE_WINDOW = woodenWindowBlock(WoodType.SPRUCE), - BIRCH_WINDOW = woodenWindowBlock(WoodType.BIRCH, () -> RenderType::getTranslucent), - JUNGLE_WINDOW = woodenWindowBlock(WoodType.JUNGLE), - ACACIA_WINDOW = woodenWindowBlock(WoodType.ACACIA), - DARK_OAK_WINDOW = woodenWindowBlock(WoodType.DARK_OAK), - ORNATE_IRON_WINDOW = - customWindowBlock("ornate_iron_window", AllSpriteShifts.ORNATE_IRON_WINDOW, () -> RenderType::getCutoutMipped); + public static final BlockEntry OAK_WINDOW = woodenWindowBlock(WoodType.OAK, Blocks.OAK_PLANKS), + SPRUCE_WINDOW = woodenWindowBlock(WoodType.SPRUCE, Blocks.SPRUCE_PLANKS), + BIRCH_WINDOW = woodenWindowBlock(WoodType.BIRCH, Blocks.BIRCH_PLANKS, () -> RenderType::getTranslucent), + JUNGLE_WINDOW = woodenWindowBlock(WoodType.JUNGLE, Blocks.JUNGLE_PLANKS), + ACACIA_WINDOW = woodenWindowBlock(WoodType.ACACIA, Blocks.ACACIA_PLANKS), + DARK_OAK_WINDOW = woodenWindowBlock(WoodType.DARK_OAK, Blocks.DARK_OAK_PLANKS), + ORNATE_IRON_WINDOW = customWindowBlock("ornate_iron_window", AllItems.ANDESITE_ALLOY, + AllSpriteShifts.ORNATE_IRON_WINDOW, () -> RenderType::getCutoutMipped); - public static final BlockEntry - OAK_WINDOW_PANE = woodenWindowPane(WoodType.OAK), - SPRUCE_WINDOW_PANE = woodenWindowPane(WoodType.SPRUCE), - BIRCH_WINDOW_PANE = woodenWindowPane(WoodType.BIRCH, () -> RenderType::getTranslucent), - JUNGLE_WINDOW_PANE = woodenWindowPane(WoodType.JUNGLE), - ACACIA_WINDOW_PANE = woodenWindowPane(WoodType.ACACIA), - DARK_OAK_WINDOW_PANE = woodenWindowPane(WoodType.DARK_OAK), - ORNATE_IRON_WINDOW_PANE = - customWindowPane("ornate_iron_window", AllSpriteShifts.ORNATE_IRON_WINDOW, () -> RenderType::getCutoutMipped); + public static final BlockEntry OAK_WINDOW_PANE = + woodenWindowPane(WoodType.OAK, OAK_WINDOW), + SPRUCE_WINDOW_PANE = woodenWindowPane(WoodType.SPRUCE, SPRUCE_WINDOW), + BIRCH_WINDOW_PANE = woodenWindowPane(WoodType.BIRCH, BIRCH_WINDOW, () -> RenderType::getTranslucent), + JUNGLE_WINDOW_PANE = woodenWindowPane(WoodType.JUNGLE, JUNGLE_WINDOW), + ACACIA_WINDOW_PANE = woodenWindowPane(WoodType.ACACIA, ACACIA_WINDOW), + DARK_OAK_WINDOW_PANE = woodenWindowPane(WoodType.DARK_OAK, DARK_OAK_WINDOW), + ORNATE_IRON_WINDOW_PANE = customWindowPane("ornate_iron_window", ORNATE_IRON_WINDOW, + AllSpriteShifts.ORNATE_IRON_WINDOW, () -> RenderType::getCutoutMipped); // Vanilla stone variant patterns @@ -87,8 +96,8 @@ public class AllPaletteBlocks { public static final PalettesVariantEntry DIORITE_VARIANTS = new PalettesVariantEntry(PaletteStoneVariants.DIORITE, PaletteBlockPatterns.vanillaRange, () -> Blocks.DIORITE); - public static final PalettesVariantEntry ANDESITE_VARIANTS = - new PalettesVariantEntry(PaletteStoneVariants.ANDESITE, PaletteBlockPatterns.vanillaRange, () -> Blocks.ANDESITE); + public static final PalettesVariantEntry ANDESITE_VARIANTS = new PalettesVariantEntry(PaletteStoneVariants.ANDESITE, + PaletteBlockPatterns.vanillaRange, () -> Blocks.ANDESITE); // Create stone variants @@ -109,8 +118,8 @@ public class AllPaletteBlocks { REGISTRATE.baseBlock("weathered_limestone", Block::new, () -> Blocks.SANDSTONE) .register(); - public static final PalettesVariantEntry WEATHERED_LIMESTONE_VARIANTS = - new PalettesVariantEntry(PaletteStoneVariants.WEATHERED_LIMESTONE, PaletteBlockPatterns.standardRange, WEATHERED_LIMESTONE); + public static final PalettesVariantEntry WEATHERED_LIMESTONE_VARIANTS = new PalettesVariantEntry( + PaletteStoneVariants.WEATHERED_LIMESTONE, PaletteBlockPatterns.standardRange, WEATHERED_LIMESTONE); public static final BlockEntry DOLOMITE = REGISTRATE.baseBlock("dolomite", Block::new, () -> Blocks.QUARTZ_BLOCK) @@ -125,16 +134,17 @@ public class AllPaletteBlocks { public static final PalettesVariantEntry GABBRO_VARIANTS = new PalettesVariantEntry(PaletteStoneVariants.GABBRO, PaletteBlockPatterns.standardRange, GABBRO); + public static final BlockEntry SCORIA = REGISTRATE.baseBlock("scoria", Block::new, () -> Blocks.ANDESITE) + .register(); + public static final BlockEntry NATURAL_SCORIA = REGISTRATE.block("natural_scoria", Block::new) .initialProperties(() -> Blocks.ANDESITE) .onRegister(CreateRegistrate.blockVertexColors(new ScoriaVertexColor())) + .loot((p, g) -> p.registerLootTable(g, RegistrateBlockLootTables.droppingWithSilkTouch(g, SCORIA.get()))) .blockstate(palettesCubeAll()) .simpleItem() .register(); - public static final BlockEntry SCORIA = REGISTRATE.baseBlock("scoria", Block::new, () -> Blocks.ANDESITE) - .register(); - public static final PalettesVariantEntry SCORIA_VARIANTS = new PalettesVariantEntry(PaletteStoneVariants.SCORIA, PaletteBlockPatterns.standardRange, SCORIA); diff --git a/src/main/java/com/simibubi/create/foundation/data/WindowGen.java b/src/main/java/com/simibubi/create/foundation/data/WindowGen.java index c7fb69e24..5409a8f36 100644 --- a/src/main/java/com/simibubi/create/foundation/data/WindowGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/WindowGen.java @@ -17,6 +17,7 @@ import com.simibubi.create.foundation.block.connected.GlassPaneCTBehaviour; import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour; import com.tterrag.registrate.providers.DataGenContext; import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.util.DataIngredient; import com.tterrag.registrate.util.entry.BlockEntry; import com.tterrag.registrate.util.nullness.NonNullBiConsumer; import com.tterrag.registrate.util.nullness.NonNullConsumer; @@ -27,41 +28,53 @@ import net.minecraft.block.Block.Properties; import net.minecraft.block.Blocks; import net.minecraft.block.WoodType; import net.minecraft.client.renderer.RenderType; +import net.minecraft.data.ShapedRecipeBuilder; +import net.minecraft.util.IItemProvider; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.generators.ModelFile; +import net.minecraftforge.common.Tags; public class WindowGen { private static final CreateRegistrate REGISTRATE = Create.registrate(); - public static BlockEntry woodenWindowBlock(WoodType woodType) { - return woodenWindowBlock(woodType, () -> RenderType::getCutoutMipped); + public static BlockEntry woodenWindowBlock(WoodType woodType, Block planksBlock) { + return woodenWindowBlock(woodType, planksBlock, () -> RenderType::getCutoutMipped); } - public static BlockEntry customWindowBlock(String name, CTSpriteShiftEntry ct, - Supplier> renderType) { + public static BlockEntry customWindowBlock(String name, Supplier ingredient, + CTSpriteShiftEntry ct, Supplier> renderType) { NonNullFunction end_texture = n -> Create.asResource(palettesDir() + name + "_end"); NonNullFunction side_texture = n -> Create.asResource(palettesDir() + n); - return windowBlock(name, ct, renderType, end_texture, side_texture); + return windowBlock(name, ingredient, ct, renderType, end_texture, side_texture); } - public static BlockEntry woodenWindowBlock(WoodType woodType, + public static BlockEntry woodenWindowBlock(WoodType woodType, Block planksBlock, Supplier> renderType) { String woodName = woodType.getName(); String name = woodName + "_window"; NonNullFunction end_texture = $ -> new ResourceLocation("block/" + woodName + "_planks"); NonNullFunction side_texture = n -> Create.asResource(palettesDir() + n); - return windowBlock(name, AllSpriteShifts.getWoodenWindow(woodType), renderType, end_texture, side_texture); + return windowBlock(name, () -> planksBlock, AllSpriteShifts.getWoodenWindow(woodType), renderType, end_texture, + side_texture); } - public static BlockEntry windowBlock(String name, CTSpriteShiftEntry ct, - Supplier> renderType, NonNullFunction endTexture, - NonNullFunction sideTexture) { + public static BlockEntry windowBlock(String name, Supplier ingredient, + CTSpriteShiftEntry ct, Supplier> renderType, + NonNullFunction endTexture, NonNullFunction sideTexture) { return REGISTRATE.block(name, WindowBlock::new) .onRegister(connectedTextures(new HorizontalCTBehaviour(ct))) .addLayer(renderType) + .recipe((c, p) -> ShapedRecipeBuilder.shapedRecipe(c.get(), 2) + .patternLine(" # ") + .patternLine("#X#") + .key('#', ingredient.get()) + .key('X', DataIngredient.tag(Tags.Items.GLASS_COLORLESS)) + .addCriterion("has_ingredient", p.hasItem(ingredient.get())) + .build(p::accept)) .initialProperties(() -> Blocks.GLASS) + .loot((t, g) -> t.registerSilkTouch(g)) .blockstate((c, p) -> p.simpleBlock(c.get(), p.models() .cubeColumn(c.getName(), sideTexture.apply(c.getName()), endTexture.apply(c.getName())))) .simpleItem() @@ -73,55 +86,62 @@ public class WindowGen { .onRegister(connectedTextures(behaviour)) .addLayer(() -> RenderType::getTranslucent) .initialProperties(() -> Blocks.GLASS) + .loot((t, g) -> t.registerSilkTouch(g)) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(Tags.Items.GLASS_COLORLESS), c::get)) .blockstate((c, p) -> BlockStateGen.cubeAll(c, p, "palettes/", "framed_glass")) + .tag(Tags.Blocks.GLASS_COLORLESS) .item() + .tag(Tags.Items.GLASS_COLORLESS) .model((c, p) -> p.cubeColumn(c.getName(), p.modLoc(palettesDir() + c.getName()), p.modLoc("block/palettes/framed_glass"))) .build() .register(); } - public static BlockEntry framedGlassPane(String name, CTSpriteShiftEntry ctshift) { + public static BlockEntry framedGlassPane(String name, Supplier parent, + CTSpriteShiftEntry ctshift) { ResourceLocation sideTexture = Create.asResource(palettesDir() + "framed_glass"); ResourceLocation itemSideTexture = Create.asResource(palettesDir() + name); ResourceLocation topTexture = Create.asResource(palettesDir() + "framed_glass_pane_top"); Supplier> renderType = () -> RenderType::getTranslucent; - return connectedGlassPane(name, ctshift, sideTexture, itemSideTexture, topTexture, renderType); + return connectedGlassPane(name, parent, ctshift, sideTexture, itemSideTexture, topTexture, renderType); } - public static BlockEntry customWindowPane(String name, CTSpriteShiftEntry ctshift, - Supplier> renderType) { + public static BlockEntry customWindowPane(String name, Supplier parent, + CTSpriteShiftEntry ctshift, Supplier> renderType) { ResourceLocation topTexture = Create.asResource(palettesDir() + name + "_pane_top"); ResourceLocation sideTexture = Create.asResource(palettesDir() + name); - return connectedGlassPane(name, ctshift, sideTexture, sideTexture, topTexture, renderType); - } - - public static BlockEntry woodenWindowPane(WoodType woodType) { - return woodenWindowPane(woodType, () -> RenderType::getCutoutMipped); + return connectedGlassPane(name, parent, ctshift, sideTexture, sideTexture, topTexture, renderType); } public static BlockEntry woodenWindowPane(WoodType woodType, - Supplier> renderType) { + Supplier parent) { + return woodenWindowPane(woodType, parent, () -> RenderType::getCutoutMipped); + } + + public static BlockEntry woodenWindowPane(WoodType woodType, + Supplier parent, Supplier> renderType) { String woodName = woodType.getName(); String name = woodName + "_window"; ResourceLocation topTexture = new ResourceLocation("block/" + woodName + "_planks"); ResourceLocation sideTexture = Create.asResource(palettesDir() + name); - return connectedGlassPane(name, AllSpriteShifts.getWoodenWindow(woodType), sideTexture, sideTexture, topTexture, - renderType); + return connectedGlassPane(name, parent, AllSpriteShifts.getWoodenWindow(woodType), sideTexture, sideTexture, + topTexture, renderType); } - public static BlockEntry standardGlassPane(String name, ResourceLocation sideTexture, - ResourceLocation topTexture, Supplier> renderType) { + public static BlockEntry standardGlassPane(String name, Supplier parent, + ResourceLocation sideTexture, ResourceLocation topTexture, Supplier> renderType) { NonNullBiConsumer, RegistrateBlockstateProvider> stateProvider = (c, p) -> p.paneBlock(c.get(), sideTexture, topTexture); - return glassPane(name, sideTexture, topTexture, GlassPaneBlock::new, renderType, $ -> { + return glassPane(name, parent, sideTexture, topTexture, GlassPaneBlock::new, renderType, $ -> { }, stateProvider); } - private static BlockEntry connectedGlassPane(String name, CTSpriteShiftEntry ctshift, - ResourceLocation sideTexture, ResourceLocation itemSideTexture, ResourceLocation topTexture, - Supplier> renderType) { - NonNullConsumer connectedTextures = connectedTextures(new GlassPaneCTBehaviour(ctshift)); + private static BlockEntry connectedGlassPane(String name, Supplier parent, + CTSpriteShiftEntry ctshift, ResourceLocation sideTexture, ResourceLocation itemSideTexture, + ResourceLocation topTexture, Supplier> renderType) { + NonNullConsumer connectedTextures = + connectedTextures(new GlassPaneCTBehaviour(ctshift)); String CGPparents = "block/connected_glass_pane/"; String prefix = name + "_pane_"; @@ -136,8 +156,8 @@ public class WindowGen { (c, p) -> p.paneBlock(c.get(), post.apply(p), side.apply(p), sideAlt.apply(p), noSide.apply(p), noSideAlt.apply(p)); - return glassPane(name, itemSideTexture, topTexture, ConnectedGlassPaneBlock::new, renderType, connectedTextures, - stateProvider); + return glassPane(name, parent, itemSideTexture, topTexture, ConnectedGlassPaneBlock::new, renderType, + connectedTextures, stateProvider); } private static Function getPaneModelProvider(String CGPparents, @@ -148,9 +168,9 @@ public class WindowGen { .texture("edge", topTexture); } - private static BlockEntry glassPane(String name, ResourceLocation sideTexture, - ResourceLocation topTexture, NonNullFunction factory, Supplier> renderType, - NonNullConsumer connectedTextures, + private static BlockEntry glassPane(String name, Supplier parent, + ResourceLocation sideTexture, ResourceLocation topTexture, NonNullFunction factory, + Supplier> renderType, NonNullConsumer connectedTextures, NonNullBiConsumer, RegistrateBlockstateProvider> stateProvider) { name += "_pane"; @@ -159,7 +179,16 @@ public class WindowGen { .addLayer(renderType) .initialProperties(() -> Blocks.GLASS_PANE) .blockstate(stateProvider) + .recipe((c, p) -> ShapedRecipeBuilder.shapedRecipe(c.get(), 16) + .patternLine("###") + .patternLine("###") + .key('#', parent.get()) + .addCriterion("has_ingredient", p.hasItem(parent.get())) + .build(p::accept)) + .tag(Tags.Blocks.GLASS_PANES) + .loot((t, g) -> t.registerSilkTouch(g)) .item() + .tag(Tags.Items.GLASS_PANES) .model((c, p) -> p.withExistingParent(c.getName(), new ResourceLocation(Create.ID, "item/pane")) .texture("pane", sideTexture) .texture("edge", topTexture)) diff --git a/src/main/resources/assets/create/lang/default/temporary.json b/src/main/resources/assets/create/lang/default/temporary.json index a640b5c05..b6b058be3 100644 --- a/src/main/resources/assets/create/lang/default/temporary.json +++ b/src/main/resources/assets/create/lang/default/temporary.json @@ -1,58 +1,5 @@ { - - "item.create.wand_of_symmetry": "Staff of Symmetry", - "item.create.handheld_blockzapper": "Handheld Blockzapper", - "item.create.handheld_worldshaper": "Handheld Worldshaper", - "item.create.tree_fertilizer": "Tree Fertilizer", - "item.create.empty_schematic": "Empty Schematic", - "item.create.andesite_alloy": "Andesite Alloy", - "item.create.chromatic_compound": "Chromatic Compound", - "item.create.shadow_steel": "Shadow Steel", - "item.create.schematic_and_quill": "Schematic and Quill", - "item.create.schematic": "Schematic", - "item.create.belt_connector": "Mechanical Belt", - "item.create.goggles": "Engineer's Goggles", - "item.create.filter": "Filter", - "item.create.attribute_filter": "Attribute Filter", - "item.create.rose_quartz": "Rose Quartz", - "item.create.polished_rose_quartz": "Polished Rose Quartz", - "item.create.refined_radiance": "Refined Radiance", - "item.create.iron_sheet": "Iron Sheets", - "item.create.gold_sheet": "Gold Sheets", - "item.create.lapis_plate": "Lapis Plating", - "item.create.obsidian_dust": "Powdered Obsidian", - "item.create.propeller": "Propeller", - "item.create.whisk": "Whisk", - "item.create.brass_hand": "Hand", - "item.create.crafter_slot_cover": "Crafter Slot Cover", - "item.create.flour": "Wheat Flour", - "item.create.dough": "Dough", - "item.create.wrench": "Wrench", - "item.create.deforester": "Deforester", - "item.create.crushed_iron": "Crushed Iron Ore", - "item.create.crushed_gold": "Crushed Gold Ore", - "item.create.sand_paper": "Sand Paper", - "item.create.red_sand_paper": "Red Sand Paper", - "item.create.super_glue": "Super Glue", - "item.create.minecart_contraption": "Minecart with Contraption", - - "item.create.brass_ingot": "Brass Ingot", - "item.create.brass_sheet": "Brass Sheets", - "item.create.brass_nugget": "Brass Nugget", - "item.create.crushed_brass": "Crushed Brass", - "item.create.zinc_ingot": "Zinc Bar", - "item.create.zinc_nugget": "Zinc Nugget", - "item.create.crushed_zinc": "Crushed Zinc", - "item.create.copper_sheet": "Copper Sheets", - "item.create.copper_ingot": "Copper Ingot", - "item.create.copper_nugget": "Copper Nugget", - "item.create.crushed_copper": "Crushed Copper", - - "item.create.electron_tube": "Electron Tube", - "item.create.integrated_circuit": "Integrated Circuit", - "entity.create.contraption": "Moving Contraption", "entity.create.stationary_contraption": "Stationary Contraption", "entity.create.super_glue": "Superglue" - } \ No newline at end of file