Merge pull request #1684 from PepperCode1/mc1.16/cobblestone-drops

Cobblestone Drops and Smelting
This commit is contained in:
simibubi 2021-05-31 16:29:10 +02:00 committed by GitHub
commit 1532d9e4f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 752 additions and 196 deletions

View file

@ -1713,6 +1713,7 @@ c9c4060ed207226b69fada2d61e01a97d7077eae data/create/advancements/nixie_tube.jso
4b621e5bb48fbb120853ec02c05c915d86bd6dd8 data/create/advancements/pipe_spill.json 4b621e5bb48fbb120853ec02c05c915d86bd6dd8 data/create/advancements/pipe_spill.json
72025d8bf73ab8096c29f12d0c8d9a346f09cd64 data/create/advancements/polished_rose_quartz.json 72025d8bf73ab8096c29f12d0c8d9a346f09cd64 data/create/advancements/polished_rose_quartz.json
62d29ec01eff5d21968636a0479361ecdc11ae30 data/create/advancements/press.json 62d29ec01eff5d21968636a0479361ecdc11ae30 data/create/advancements/press.json
f80479b50e248ee8d6d1abb7d08866cf711ac2b2 data/create/advancements/recipes/building_blocks/andesite.json
5012e9d559439d0d62d0b34c2e39de048e8c7699 data/create/advancements/recipes/building_blocks/blasting/aluminum_ingot_compat_silents_mechanisms.json 5012e9d559439d0d62d0b34c2e39de048e8c7699 data/create/advancements/recipes/building_blocks/blasting/aluminum_ingot_compat_silents_mechanisms.json
2e253226c408dffb9dfb828b846f70ebd1cfb16e data/create/advancements/recipes/building_blocks/blasting/ingot_aluminum_compat_immersiveengineering.json 2e253226c408dffb9dfb828b846f70ebd1cfb16e data/create/advancements/recipes/building_blocks/blasting/ingot_aluminum_compat_immersiveengineering.json
3f022f89aeb5034f2292ca71daa9f311e8af40ff data/create/advancements/recipes/building_blocks/blasting/ingot_lead_compat_immersiveengineering.json 3f022f89aeb5034f2292ca71daa9f311e8af40ff data/create/advancements/recipes/building_blocks/blasting/ingot_lead_compat_immersiveengineering.json
@ -1739,6 +1740,8 @@ a61045a27757950d96fee77768bfd96f935f98b2 data/create/advancements/recipes/buildi
a75f1162ac89cd50a1ca8e525dd059fb359a6550 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_silents_mechanisms.json a75f1162ac89cd50a1ca8e525dd059fb359a6550 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_silents_mechanisms.json
230c3da350aa45524712d5dd28b84aa59b2883e9 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_thermal.json 230c3da350aa45524712d5dd28b84aa59b2883e9 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_thermal.json
38410d4b3bbbf33c1c8913735abd1b3d71fb3829 data/create/advancements/recipes/building_blocks/blasting/uranium_ingot_compat_silents_mechanisms.json 38410d4b3bbbf33c1c8913735abd1b3d71fb3829 data/create/advancements/recipes/building_blocks/blasting/uranium_ingot_compat_silents_mechanisms.json
8850272a97541e331482531c52cc94197fe808be data/create/advancements/recipes/building_blocks/diorite.json
0abb698cabe5f71675773e5eeadeccb509f1cb90 data/create/advancements/recipes/building_blocks/granite.json
22067545c460d95831d9dddf361da9becac3396e data/create/advancements/recipes/building_blocks/smelting/aluminum_ingot_compat_silents_mechanisms.json 22067545c460d95831d9dddf361da9becac3396e data/create/advancements/recipes/building_blocks/smelting/aluminum_ingot_compat_silents_mechanisms.json
e525d8eda8d0aac6791ae935ed4f3f75cc521460 data/create/advancements/recipes/building_blocks/smelting/glass_from_framed_glass.json e525d8eda8d0aac6791ae935ed4f3f75cc521460 data/create/advancements/recipes/building_blocks/smelting/glass_from_framed_glass.json
295c5a61d6f175a65d25e19cbd7ca90d3b4a93b2 data/create/advancements/recipes/building_blocks/smelting/glass_from_horizontal_framed_glass.json 295c5a61d6f175a65d25e19cbd7ca90d3b4a93b2 data/create/advancements/recipes/building_blocks/smelting/glass_from_horizontal_framed_glass.json
@ -1976,7 +1979,7 @@ bfb3673a30db807aa298f2fd128ec863a65818af data/create/advancements/recipes/create
47cc716674e1741f4115b04a20ac4c4a5b2a6d8a data/create/advancements/recipes/create.palettes/andesite_cobblestone_stairs_from_andesite_cobblestone_stonecutting.json 47cc716674e1741f4115b04a20ac4c4a5b2a6d8a data/create/advancements/recipes/create.palettes/andesite_cobblestone_stairs_from_andesite_cobblestone_stonecutting.json
bd79e63c29d68fbf87ded63ac1eedba3d7287996 data/create/advancements/recipes/create.palettes/andesite_cobblestone_wall.json bd79e63c29d68fbf87ded63ac1eedba3d7287996 data/create/advancements/recipes/create.palettes/andesite_cobblestone_wall.json
0ed4c084f05b2bd4c134293ad3554d6e31a1d568 data/create/advancements/recipes/create.palettes/andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json 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 cc8e078ccce06e9489d8b62d88b6a2e4d4ca2d79 data/create/advancements/recipes/create.palettes/andesite_pillar.json
d6f31097aef040e12eb288ab755d459f55269a70 data/create/advancements/recipes/create.palettes/andesite_pillar_from_andesite_stonecutting.json d6f31097aef040e12eb288ab755d459f55269a70 data/create/advancements/recipes/create.palettes/andesite_pillar_from_andesite_stonecutting.json
f10a4369147cc5e36d3ab1b0008d29fd36ffc8f6 data/create/advancements/recipes/create.palettes/birch_window.json f10a4369147cc5e36d3ab1b0008d29fd36ffc8f6 data/create/advancements/recipes/create.palettes/birch_window.json
bfea45da3f8df1c63f6c7ff1b63ad7e08c1d44b0 data/create/advancements/recipes/create.palettes/birch_window_pane.json bfea45da3f8df1c63f6c7ff1b63ad7e08c1d44b0 data/create/advancements/recipes/create.palettes/birch_window_pane.json
@ -1991,6 +1994,7 @@ b4651c8202331483e82b28b04edc6cd97e62ad1d data/create/advancements/recipes/create
b2813566e6715c2d377dd4ef461b012cae7eb190 data/create/advancements/recipes/create.palettes/crimson_window_pane.json b2813566e6715c2d377dd4ef461b012cae7eb190 data/create/advancements/recipes/create.palettes/crimson_window_pane.json
25991d5667252d551e02c4fbbfa27ebf4353d28d data/create/advancements/recipes/create.palettes/dark_oak_window.json 25991d5667252d551e02c4fbbfa27ebf4353d28d data/create/advancements/recipes/create.palettes/dark_oak_window.json
4819383b1a7885b4401fdc25955d2c51f75b6236 data/create/advancements/recipes/create.palettes/dark_oak_window_pane.json 4819383b1a7885b4401fdc25955d2c51f75b6236 data/create/advancements/recipes/create.palettes/dark_oak_window_pane.json
02cd339174aaf2c14e14f886d90fbbcae91783b6 data/create/advancements/recipes/create.palettes/dark_scoria.json
ebd6413d530325eef6fcf42a0ee0ac840c1f7366 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_from_dark_scoria_stonecutting.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 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 ac44d03859cfd4c00ddcbd1dafbb9acc51d849d7 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json
@ -2005,7 +2009,7 @@ eef6f85b20fb997af1b0c2383a45100be2e0cd34 data/create/advancements/recipes/create
8d44f675237a92513678a77da7a1f329475a3453 data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_stairs_from_dark_scoria_cobblestone_stonecutting.json 8d44f675237a92513678a77da7a1f329475a3453 data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_stairs_from_dark_scoria_cobblestone_stonecutting.json
702527e6735770a6fcc3ad446df39d3b1b80709e data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall.json 702527e6735770a6fcc3ad446df39d3b1b80709e data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall.json
ce069a666d223f733bfa1cc9ca5e3e5e27de1ebc data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json ce069a666d223f733bfa1cc9ca5e3e5e27de1ebc data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json
c5d7f1e79302d47ea02cb63b99b286b90ec0287b data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json 64f9ba8df2fd2357ad397b75156a4af9c26fa91b data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json
f3d6314d272d84c456c5df512dcc555b7694ded2 data/create/advancements/recipes/create.palettes/dark_scoria_pillar_from_dark_scoria_stonecutting.json f3d6314d272d84c456c5df512dcc555b7694ded2 data/create/advancements/recipes/create.palettes/dark_scoria_pillar_from_dark_scoria_stonecutting.json
83e3c29d5d651a6bc6fd9d5843d8d75f4cda2b77 data/create/advancements/recipes/create.palettes/diorite_bricks_from_diorite_stonecutting.json 83e3c29d5d651a6bc6fd9d5843d8d75f4cda2b77 data/create/advancements/recipes/create.palettes/diorite_bricks_from_diorite_stonecutting.json
4649497555ca4269b1f3859f0275ca1ff7c85377 data/create/advancements/recipes/create.palettes/diorite_bricks_slab.json 4649497555ca4269b1f3859f0275ca1ff7c85377 data/create/advancements/recipes/create.palettes/diorite_bricks_slab.json
@ -2021,8 +2025,9 @@ f3d6314d272d84c456c5df512dcc555b7694ded2 data/create/advancements/recipes/create
600c57c4dc3a3741d5db7ec01340e1c6a01d54b4 data/create/advancements/recipes/create.palettes/diorite_cobblestone_stairs_from_diorite_cobblestone_stonecutting.json 600c57c4dc3a3741d5db7ec01340e1c6a01d54b4 data/create/advancements/recipes/create.palettes/diorite_cobblestone_stairs_from_diorite_cobblestone_stonecutting.json
8b4990d3657e23a86c3e71eba77370c56692c93b data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall.json 8b4990d3657e23a86c3e71eba77370c56692c93b data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall.json
e741ca0e76875ee12beecd45db764444956d5342 data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json e741ca0e76875ee12beecd45db764444956d5342 data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json
9edb9886a6b2792dc38d5d61a2be2b7a3fd28eeb data/create/advancements/recipes/create.palettes/diorite_pillar.json 08e8495b798d54366f132da060e93e94e23f6354 data/create/advancements/recipes/create.palettes/diorite_pillar.json
87d34b8ca3dc73a778ab94ef4d852f418112adb3 data/create/advancements/recipes/create.palettes/diorite_pillar_from_diorite_stonecutting.json 87d34b8ca3dc73a778ab94ef4d852f418112adb3 data/create/advancements/recipes/create.palettes/diorite_pillar_from_diorite_stonecutting.json
17135274809b7a0f38294d2e6412b787e985e4d5 data/create/advancements/recipes/create.palettes/dolomite.json
dbf201ceafc310f5cc6624c81777d50348844285 data/create/advancements/recipes/create.palettes/dolomite_bricks_from_dolomite_stonecutting.json dbf201ceafc310f5cc6624c81777d50348844285 data/create/advancements/recipes/create.palettes/dolomite_bricks_from_dolomite_stonecutting.json
6716447628cce96a1f520766d019f09380ec67e5 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab.json 6716447628cce96a1f520766d019f09380ec67e5 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab.json
52ae39c6f63860fa5a60c1ae70ef00eca5b961c9 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json 52ae39c6f63860fa5a60c1ae70ef00eca5b961c9 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json
@ -2037,7 +2042,7 @@ a8904096a05eeb7e746563e1a4b97b39173d1708 data/create/advancements/recipes/create
124c586970edc5c15079bec53c734a2beb670130 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_stairs_from_dolomite_cobblestone_stonecutting.json 124c586970edc5c15079bec53c734a2beb670130 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_stairs_from_dolomite_cobblestone_stonecutting.json
2e9f1556a11d4d7190233be3af64453396865da9 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall.json 2e9f1556a11d4d7190233be3af64453396865da9 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall.json
1a1e8764ba05f72ffd7e5872a8f2fc9cf2108308 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json 1a1e8764ba05f72ffd7e5872a8f2fc9cf2108308 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json
4652a46d4b6590b988d57d855def253ebeb380fe data/create/advancements/recipes/create.palettes/dolomite_pillar.json 4b56a0490151fbc66dee82546b9e271a5a85fa12 data/create/advancements/recipes/create.palettes/dolomite_pillar.json
a8752ee9bf9afc665c5d940d251c1cf4a83a0ae9 data/create/advancements/recipes/create.palettes/dolomite_pillar_from_dolomite_stonecutting.json a8752ee9bf9afc665c5d940d251c1cf4a83a0ae9 data/create/advancements/recipes/create.palettes/dolomite_pillar_from_dolomite_stonecutting.json
ea981a446d8cc22d6b7fb4667e86dc18a48a4720 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_from_andesite_stonecutting.json ea981a446d8cc22d6b7fb4667e86dc18a48a4720 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_from_andesite_stonecutting.json
44dc6bc5a7303129db2268a025f49dcb222597a7 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_slab.json 44dc6bc5a7303129db2268a025f49dcb222597a7 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_slab.json
@ -2104,6 +2109,7 @@ d51bee4b276805ecf1a93a37ec6d610e75c0117e data/create/advancements/recipes/create
17e02efc06d935c094bde5bb73a5127bc98e4758 data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.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 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 605476eaf4e964936c031732cfef534edfdd749a data/create/advancements/recipes/create.palettes/framed_glass_pane.json
1b17b217e487b958e35ab0ad509bb8caceebda40 data/create/advancements/recipes/create.palettes/gabbro.json
b835dd583d670e2d7f6af4dd74e44f5817b03b21 data/create/advancements/recipes/create.palettes/gabbro_bricks_from_gabbro_stonecutting.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 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 f05bb35d52866abc7dae9c7f3f5fc85257760564 data/create/advancements/recipes/create.palettes/gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json
@ -2118,7 +2124,7 @@ c90a07c41b2e034437c8a765de7b517f89383830 data/create/advancements/recipes/create
f9d917def55875dcba621246f80dc83904be3d73 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_stairs_from_gabbro_cobblestone_stonecutting.json f9d917def55875dcba621246f80dc83904be3d73 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_stairs_from_gabbro_cobblestone_stonecutting.json
b081b91a5e11e8ce9b2455b944eb554f5f2e419e data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall.json b081b91a5e11e8ce9b2455b944eb554f5f2e419e data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall.json
093f372d84c557791cebcb286b3505f32c4dc7c0 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json 093f372d84c557791cebcb286b3505f32c4dc7c0 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json
dacb04ebd8bc20c2a0689a9e75ea67c07e43c56b data/create/advancements/recipes/create.palettes/gabbro_pillar.json 4b0f4a396397a791d08fe422fb4cfb922554779c data/create/advancements/recipes/create.palettes/gabbro_pillar.json
35288551f5146ebbf8dbbe987928dd2a1bdc7ea8 data/create/advancements/recipes/create.palettes/gabbro_pillar_from_gabbro_stonecutting.json 35288551f5146ebbf8dbbe987928dd2a1bdc7ea8 data/create/advancements/recipes/create.palettes/gabbro_pillar_from_gabbro_stonecutting.json
6a9a8b37ec264084ce0481200225017739546025 data/create/advancements/recipes/create.palettes/granite_bricks_from_granite_stonecutting.json 6a9a8b37ec264084ce0481200225017739546025 data/create/advancements/recipes/create.palettes/granite_bricks_from_granite_stonecutting.json
2ac84cb0b8b629bdfd740a6613df2a7e45964bf2 data/create/advancements/recipes/create.palettes/granite_bricks_slab.json 2ac84cb0b8b629bdfd740a6613df2a7e45964bf2 data/create/advancements/recipes/create.palettes/granite_bricks_slab.json
@ -2134,7 +2140,7 @@ c39e86c111a2c76ef9cb7046d2b87262524b06b9 data/create/advancements/recipes/create
06d3f3150db99f808a5fd4141c0fc6235d979ce5 data/create/advancements/recipes/create.palettes/granite_cobblestone_stairs_from_granite_cobblestone_stonecutting.json 06d3f3150db99f808a5fd4141c0fc6235d979ce5 data/create/advancements/recipes/create.palettes/granite_cobblestone_stairs_from_granite_cobblestone_stonecutting.json
6bbc97d2ac655a532eaf345fca64431dbf8af27d data/create/advancements/recipes/create.palettes/granite_cobblestone_wall.json 6bbc97d2ac655a532eaf345fca64431dbf8af27d data/create/advancements/recipes/create.palettes/granite_cobblestone_wall.json
d6b622a2cf302d0c39e0d38d24b0a17e1461d13b data/create/advancements/recipes/create.palettes/granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json 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 5b9fe440648ae9f37b5d079cfcd1d9a72afa74fa data/create/advancements/recipes/create.palettes/granite_pillar.json
97cc61b1b510849ebc0bf51cf2b8107a5c43fc17 data/create/advancements/recipes/create.palettes/granite_pillar_from_granite_stonecutting.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 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 29e2e2aeca3800c8ba432be30d54d046a3991217 data/create/advancements/recipes/create.palettes/horizontal_framed_glass_pane.json
@ -2149,6 +2155,7 @@ cbb40e82dba460ee126966a52f0164e740ac1f11 data/create/advancements/recipes/create
c0dd961f07e85a183af7b942ed0e4bfe8f775373 data/create/advancements/recipes/create.palettes/layered_limestone_from_limestone_stonecutting.json c0dd961f07e85a183af7b942ed0e4bfe8f775373 data/create/advancements/recipes/create.palettes/layered_limestone_from_limestone_stonecutting.json
5d06584a83074f8a8d1a52d93d13f2718bc99152 data/create/advancements/recipes/create.palettes/layered_scoria_from_scoria_stonecutting.json 5d06584a83074f8a8d1a52d93d13f2718bc99152 data/create/advancements/recipes/create.palettes/layered_scoria_from_scoria_stonecutting.json
b09e64b4989ef08b7ea6b9011681c2fbf780d949 data/create/advancements/recipes/create.palettes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json b09e64b4989ef08b7ea6b9011681c2fbf780d949 data/create/advancements/recipes/create.palettes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json
519234f31ee8cacc0f916df40703ba171c6a90e5 data/create/advancements/recipes/create.palettes/limestone.json
52c1902f260173fe610a4a03294a51c4cea3b37b data/create/advancements/recipes/create.palettes/limestone_bricks_from_limestone_stonecutting.json 52c1902f260173fe610a4a03294a51c4cea3b37b data/create/advancements/recipes/create.palettes/limestone_bricks_from_limestone_stonecutting.json
e6eb6c433541b7c4e3e5b64f240618e6df67ed58 data/create/advancements/recipes/create.palettes/limestone_bricks_slab.json e6eb6c433541b7c4e3e5b64f240618e6df67ed58 data/create/advancements/recipes/create.palettes/limestone_bricks_slab.json
72f0586690ca4413082b2cbecf7938ba6e4756b4 data/create/advancements/recipes/create.palettes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json 72f0586690ca4413082b2cbecf7938ba6e4756b4 data/create/advancements/recipes/create.palettes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json
@ -2163,7 +2170,7 @@ d7b36c7fcf429eea7c57f2ae967e73b8e18d0d58 data/create/advancements/recipes/create
749936c7c33273c1833154a1eb1e13604ece8565 data/create/advancements/recipes/create.palettes/limestone_cobblestone_stairs_from_limestone_cobblestone_stonecutting.json 749936c7c33273c1833154a1eb1e13604ece8565 data/create/advancements/recipes/create.palettes/limestone_cobblestone_stairs_from_limestone_cobblestone_stonecutting.json
c0e3f97a6f807ea8147f58bf4ca002725d1877b6 data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall.json c0e3f97a6f807ea8147f58bf4ca002725d1877b6 data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall.json
a01c91b927f50d367c3bfcca5f370002a991d45a data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall_from_limestone_cobblestone_stonecutting.json a01c91b927f50d367c3bfcca5f370002a991d45a data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall_from_limestone_cobblestone_stonecutting.json
8b1ef23c71f0088230dcdd12374494bfdf700409 data/create/advancements/recipes/create.palettes/limestone_pillar.json acf08b6a32e3678d63443fdb97e7332e05eb61f6 data/create/advancements/recipes/create.palettes/limestone_pillar.json
d040f53dfb09a29c39d534d3595e35d058fe5557 data/create/advancements/recipes/create.palettes/limestone_pillar_from_limestone_stonecutting.json d040f53dfb09a29c39d534d3595e35d058fe5557 data/create/advancements/recipes/create.palettes/limestone_pillar_from_limestone_stonecutting.json
3ee8ab0478344042136058be6cf870289c096bdd data/create/advancements/recipes/create.palettes/mossy_andesite_from_andesite_stonecutting.json 3ee8ab0478344042136058be6cf870289c096bdd data/create/advancements/recipes/create.palettes/mossy_andesite_from_andesite_stonecutting.json
c427e2626e468abee6fb4de83bf76f2d3c051449 data/create/advancements/recipes/create.palettes/mossy_dark_scoria_from_dark_scoria_stonecutting.json c427e2626e468abee6fb4de83bf76f2d3c051449 data/create/advancements/recipes/create.palettes/mossy_dark_scoria_from_dark_scoria_stonecutting.json
@ -2298,6 +2305,7 @@ e46847d02ab7bfb2bc1da1a4ad4b7b54a3a28559 data/create/advancements/recipes/create
75480d0c13a80d9edf93a0eff947e5165db011c1 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_stairs_from_polished_weathered_limestone_stonecutting.json 75480d0c13a80d9edf93a0eff947e5165db011c1 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_stairs_from_polished_weathered_limestone_stonecutting.json
7b4b27211174e774169132a50da7bfd63ff28b30 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall.json 7b4b27211174e774169132a50da7bfd63ff28b30 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall.json
81a759d9b069faedee49107642d947ea1bf1ac6c data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall_from_polished_weathered_limestone_stonecutting.json 81a759d9b069faedee49107642d947ea1bf1ac6c data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall_from_polished_weathered_limestone_stonecutting.json
28c7dd5fb1594295f977eff41ac677aab9660831 data/create/advancements/recipes/create.palettes/scoria.json
874023eabafb85aefacc86f395c5d4ef0cc9cfac data/create/advancements/recipes/create.palettes/scoria_bricks_from_scoria_stonecutting.json 874023eabafb85aefacc86f395c5d4ef0cc9cfac data/create/advancements/recipes/create.palettes/scoria_bricks_from_scoria_stonecutting.json
a9969fd00f8cba428715d27a8ab6af6ba6473c8a data/create/advancements/recipes/create.palettes/scoria_bricks_slab.json a9969fd00f8cba428715d27a8ab6af6ba6473c8a data/create/advancements/recipes/create.palettes/scoria_bricks_slab.json
1d129bb8d359de50344dcb46f77899b0651d7817 data/create/advancements/recipes/create.palettes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json 1d129bb8d359de50344dcb46f77899b0651d7817 data/create/advancements/recipes/create.palettes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json
@ -2312,7 +2320,7 @@ dc5df4f4feddc24a7c78b25b6ed3e7ed458342f1 data/create/advancements/recipes/create
b852a9a59499c113f387ac06fdb27d3d455f18e3 data/create/advancements/recipes/create.palettes/scoria_cobblestone_stairs_from_scoria_cobblestone_stonecutting.json b852a9a59499c113f387ac06fdb27d3d455f18e3 data/create/advancements/recipes/create.palettes/scoria_cobblestone_stairs_from_scoria_cobblestone_stonecutting.json
a43d45efa0fb0d3eaace93c18d80a14d4dcddf38 data/create/advancements/recipes/create.palettes/scoria_cobblestone_wall.json a43d45efa0fb0d3eaace93c18d80a14d4dcddf38 data/create/advancements/recipes/create.palettes/scoria_cobblestone_wall.json
e340721aa78f260c2666214aa149241a37de216e data/create/advancements/recipes/create.palettes/scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json 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 68fc67ead3fd31885b30a5cf3e71dd33fb040634 data/create/advancements/recipes/create.palettes/scoria_pillar.json
53712a9ae59976dece952bea7ecaf73b679448f0 data/create/advancements/recipes/create.palettes/scoria_pillar_from_scoria_stonecutting.json 53712a9ae59976dece952bea7ecaf73b679448f0 data/create/advancements/recipes/create.palettes/scoria_pillar_from_scoria_stonecutting.json
6b148def2f8789f9ff1d41bb71ab3608438a7207 data/create/advancements/recipes/create.palettes/smelting/dolomite.json 6b148def2f8789f9ff1d41bb71ab3608438a7207 data/create/advancements/recipes/create.palettes/smelting/dolomite.json
070720cc271767b26ad51fa089b4cf2a64d309be data/create/advancements/recipes/create.palettes/smelting/gabbro.json 070720cc271767b26ad51fa089b4cf2a64d309be data/create/advancements/recipes/create.palettes/smelting/gabbro.json
@ -2327,6 +2335,7 @@ d40c7ce6b79630ace624d17b92667286998d93bc data/create/advancements/recipes/create
cd5ee73117872ee98434be1d24b4f271f7e94a48 data/create/advancements/recipes/create.palettes/vertical_framed_glass_pane.json cd5ee73117872ee98434be1d24b4f271f7e94a48 data/create/advancements/recipes/create.palettes/vertical_framed_glass_pane.json
f26d1a1ee183b1b19d018fbdefc70f0bf29b41d0 data/create/advancements/recipes/create.palettes/warped_window.json f26d1a1ee183b1b19d018fbdefc70f0bf29b41d0 data/create/advancements/recipes/create.palettes/warped_window.json
faf33c9c630eecab88bb969e3b9f7fd9e9f6ccf6 data/create/advancements/recipes/create.palettes/warped_window_pane.json faf33c9c630eecab88bb969e3b9f7fd9e9f6ccf6 data/create/advancements/recipes/create.palettes/warped_window_pane.json
5b3447ec4802fb27f1ee9a3b1bbe1936fac48fb3 data/create/advancements/recipes/create.palettes/weathered_limestone.json
ef0d351d13f7e9c633581b537c59bddc1fa4c3a4 data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_from_weathered_limestone_stonecutting.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 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 bba639941526cc23570e328e0b5e2a5545667219 data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json
@ -2341,7 +2350,7 @@ b77c5aecd0b6dd37a0c69431ab7a4a40fe0770eb data/create/advancements/recipes/create
8ea05c6cdb313ff395d1f21cfb40e2d939dadf20 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_stairs_from_weathered_limestone_cobblestone_stonecutting.json 8ea05c6cdb313ff395d1f21cfb40e2d939dadf20 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_stairs_from_weathered_limestone_cobblestone_stonecutting.json
4d838d8ceaf207a59554444d82b80c31807341bc data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall.json 4d838d8ceaf207a59554444d82b80c31807341bc data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall.json
e548127075559307b767b802f4809ed52eedd543 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json e548127075559307b767b802f4809ed52eedd543 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json
23ba836640a4d543db6f1cb72cc86a6543fe2fbe data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json efab7b7f3829998a91fc506e4be3b6345f5ca168 data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json
9790a16fd56e47cb5abbfad4062672303c224d9f data/create/advancements/recipes/create.palettes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json 9790a16fd56e47cb5abbfad4062672303c224d9f data/create/advancements/recipes/create.palettes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json
e00155bcd00f50750e2cc4d6aa30c2f2d6e62922 data/create/advancements/recipes/decorations/smelting/glass_pane_from_framed_glass_pane.json e00155bcd00f50750e2cc4d6aa30c2f2d6e62922 data/create/advancements/recipes/decorations/smelting/glass_pane_from_framed_glass_pane.json
bf9131527df4ad259b5a509753ba66417d764da2 data/create/advancements/recipes/decorations/smelting/glass_pane_from_horizontal_framed_glass_pane.json bf9131527df4ad259b5a509753ba66417d764da2 data/create/advancements/recipes/decorations/smelting/glass_pane_from_horizontal_framed_glass_pane.json
@ -2448,7 +2457,7 @@ d370ee874b5b6b98e9a8c368218fe61f644d956d data/create/loot_tables/blocks/cuckoo_c
fe24fd296812fea3f838defa2ca6270523d9d48e data/create/loot_tables/blocks/cyan_valve_handle.json fe24fd296812fea3f838defa2ca6270523d9d48e data/create/loot_tables/blocks/cyan_valve_handle.json
fd309e1d39dcbcb25c3361edecd8c9afa0f847d0 data/create/loot_tables/blocks/dark_oak_window.json fd309e1d39dcbcb25c3361edecd8c9afa0f847d0 data/create/loot_tables/blocks/dark_oak_window.json
58e6307ba0efa65a0715662a391fe7dc6fba0c68 data/create/loot_tables/blocks/dark_oak_window_pane.json 58e6307ba0efa65a0715662a391fe7dc6fba0c68 data/create/loot_tables/blocks/dark_oak_window_pane.json
7a40002e4c05f6456b52558b9ee9607cfc868a69 data/create/loot_tables/blocks/dark_scoria.json 6769787b0c7a8d2762bae1c4826275bde8647b4e data/create/loot_tables/blocks/dark_scoria.json
502160551afd210c68582a1dfd41a2df720f53a1 data/create/loot_tables/blocks/dark_scoria_bricks.json 502160551afd210c68582a1dfd41a2df720f53a1 data/create/loot_tables/blocks/dark_scoria_bricks.json
d37adba01cd1220e265dbdc025b3f8d01b992289 data/create/loot_tables/blocks/dark_scoria_bricks_slab.json d37adba01cd1220e265dbdc025b3f8d01b992289 data/create/loot_tables/blocks/dark_scoria_bricks_slab.json
265bb133af68497d9b4ba4bd418a198506caa45b data/create/loot_tables/blocks/dark_scoria_bricks_stairs.json 265bb133af68497d9b4ba4bd418a198506caa45b data/create/loot_tables/blocks/dark_scoria_bricks_stairs.json
@ -2469,7 +2478,7 @@ bdaba62199f7a65e1149b742aaaf0c23a1e149b0 data/create/loot_tables/blocks/diorite_
5141eec8eebed0feec906618dd3474ea402fbf28 data/create/loot_tables/blocks/diorite_cobblestone_stairs.json 5141eec8eebed0feec906618dd3474ea402fbf28 data/create/loot_tables/blocks/diorite_cobblestone_stairs.json
f3c963cfd51069876140373f410e868706744e9b data/create/loot_tables/blocks/diorite_cobblestone_wall.json f3c963cfd51069876140373f410e868706744e9b data/create/loot_tables/blocks/diorite_cobblestone_wall.json
fdcf47cddebca81730ac122925b01daeddf9233d data/create/loot_tables/blocks/diorite_pillar.json fdcf47cddebca81730ac122925b01daeddf9233d data/create/loot_tables/blocks/diorite_pillar.json
7aa075c7fbe97447422bfcb95afb3bbe3b26301c data/create/loot_tables/blocks/dolomite.json 0be81285de44699dabb2c1e046ae109b2e39a4e9 data/create/loot_tables/blocks/dolomite.json
7ecdbfa3ebfc6865833bafed06ed7cd6eef58345 data/create/loot_tables/blocks/dolomite_bricks.json 7ecdbfa3ebfc6865833bafed06ed7cd6eef58345 data/create/loot_tables/blocks/dolomite_bricks.json
ecc855c3ce298855038eb7b53137cab519bca55a data/create/loot_tables/blocks/dolomite_bricks_slab.json ecc855c3ce298855038eb7b53137cab519bca55a data/create/loot_tables/blocks/dolomite_bricks_slab.json
699815e110c76bcb793efdfedcb8ac3a5b9b7131 data/create/loot_tables/blocks/dolomite_bricks_stairs.json 699815e110c76bcb793efdfedcb8ac3a5b9b7131 data/create/loot_tables/blocks/dolomite_bricks_stairs.json
@ -2525,7 +2534,7 @@ f37526c092c645045c22674dea6c7b1ec503c9c3 data/create/loot_tables/blocks/flywheel
ce0bb978b11935bc2d1218445f8ab18099af6b8a data/create/loot_tables/blocks/framed_glass.json ce0bb978b11935bc2d1218445f8ab18099af6b8a data/create/loot_tables/blocks/framed_glass.json
89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data/create/loot_tables/blocks/framed_glass_pane.json 89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data/create/loot_tables/blocks/framed_glass_pane.json
4063880eda871fe63a4eb549a19daecabce849e5 data/create/loot_tables/blocks/furnace_engine.json 4063880eda871fe63a4eb549a19daecabce849e5 data/create/loot_tables/blocks/furnace_engine.json
1070cba1c0f46cf7ebe31089f35333f5eadda6e4 data/create/loot_tables/blocks/gabbro.json 88b3438e50322b731cdd8589e36a9ea497cfe56e data/create/loot_tables/blocks/gabbro.json
0356e003d8890d31b89d0ad98e32aae892da71f9 data/create/loot_tables/blocks/gabbro_bricks.json 0356e003d8890d31b89d0ad98e32aae892da71f9 data/create/loot_tables/blocks/gabbro_bricks.json
bd93e42ebca985b8aeeaf0ea5fb736d496183615 data/create/loot_tables/blocks/gabbro_bricks_slab.json bd93e42ebca985b8aeeaf0ea5fb736d496183615 data/create/loot_tables/blocks/gabbro_bricks_slab.json
e51893e1601c470da466b35b17251238e15d0361 data/create/loot_tables/blocks/gabbro_bricks_stairs.json e51893e1601c470da466b35b17251238e15d0361 data/create/loot_tables/blocks/gabbro_bricks_stairs.json
@ -2582,7 +2591,7 @@ b403848d3a4b4ad7a048e70c21e200e40d0c67e3 data/create/loot_tables/blocks/light_bl
f7893090c6ecb4862c90c408b7f9ce8316f8b608 data/create/loot_tables/blocks/lime_seat.json f7893090c6ecb4862c90c408b7f9ce8316f8b608 data/create/loot_tables/blocks/lime_seat.json
cae6d16c8967164698efbce3b91018a8e79a81e9 data/create/loot_tables/blocks/lime_valve_handle.json cae6d16c8967164698efbce3b91018a8e79a81e9 data/create/loot_tables/blocks/lime_valve_handle.json
7dfd638cc6f0d22bbc8fcbdb7212a3bfc8c85223 data/create/loot_tables/blocks/limesand.json 7dfd638cc6f0d22bbc8fcbdb7212a3bfc8c85223 data/create/loot_tables/blocks/limesand.json
9d585f677a32a2336df5f17b5b389cdee867939f data/create/loot_tables/blocks/limestone.json d476eed7b5f0c7438d2e517fc60cd23f19234056 data/create/loot_tables/blocks/limestone.json
57134f7d3d32fc1c48f2a20c4be84388587092bc data/create/loot_tables/blocks/limestone_bricks.json 57134f7d3d32fc1c48f2a20c4be84388587092bc data/create/loot_tables/blocks/limestone_bricks.json
1b59a36aa1a889c42d4b8b939f5eeee2967222d0 data/create/loot_tables/blocks/limestone_bricks_slab.json 1b59a36aa1a889c42d4b8b939f5eeee2967222d0 data/create/loot_tables/blocks/limestone_bricks_slab.json
41ed1d0750e8ddd7e7e75fd7e4cafde6346d1afe data/create/loot_tables/blocks/limestone_bricks_stairs.json 41ed1d0750e8ddd7e7e75fd7e4cafde6346d1afe data/create/loot_tables/blocks/limestone_bricks_stairs.json
@ -2728,7 +2737,7 @@ aa6af37356d65105efab2503ffe75f778cfe873b data/create/loot_tables/blocks/rotation
30de11bec82606fead9d6bff7bba0232e97f1039 data/create/loot_tables/blocks/sail_frame.json 30de11bec82606fead9d6bff7bba0232e97f1039 data/create/loot_tables/blocks/sail_frame.json
069701cb804b6522c18624a0d4f3f949ff8b0281 data/create/loot_tables/blocks/schematic_table.json 069701cb804b6522c18624a0d4f3f949ff8b0281 data/create/loot_tables/blocks/schematic_table.json
a2b172dc749176d4df34729007019605fc6dd150 data/create/loot_tables/blocks/schematicannon.json a2b172dc749176d4df34729007019605fc6dd150 data/create/loot_tables/blocks/schematicannon.json
af1bbbb8236b4ab05a6a8edc6db960bc758cbdf3 data/create/loot_tables/blocks/scoria.json 5c1bd2b940fa04ab487155ca10c551dd9b0fbf37 data/create/loot_tables/blocks/scoria.json
bb670ac5dd2fa4c743bc268cd0547926eb6cdb68 data/create/loot_tables/blocks/scoria_bricks.json bb670ac5dd2fa4c743bc268cd0547926eb6cdb68 data/create/loot_tables/blocks/scoria_bricks.json
a7217ea301a282d0ef52f2d8c06dd8683398408d data/create/loot_tables/blocks/scoria_bricks_slab.json a7217ea301a282d0ef52f2d8c06dd8683398408d data/create/loot_tables/blocks/scoria_bricks_slab.json
58a188f3ebfeb3d19323c3f8dfa3e020a7f6cdc4 data/create/loot_tables/blocks/scoria_bricks_stairs.json 58a188f3ebfeb3d19323c3f8dfa3e020a7f6cdc4 data/create/loot_tables/blocks/scoria_bricks_stairs.json
@ -2760,7 +2769,7 @@ d0156602dd5f4a274c293df67e19374820c72890 data/create/loot_tables/blocks/vertical
1afc5ede08e72221e33910603fa7acd0b3c7a2ee data/create/loot_tables/blocks/warped_window.json 1afc5ede08e72221e33910603fa7acd0b3c7a2ee data/create/loot_tables/blocks/warped_window.json
f334fd2b9a92b0646674239e7e34e142fe2c5fad data/create/loot_tables/blocks/warped_window_pane.json f334fd2b9a92b0646674239e7e34e142fe2c5fad data/create/loot_tables/blocks/warped_window_pane.json
2883c63ceb1273009dbf91cb0693756cadf79a1a data/create/loot_tables/blocks/water_wheel.json 2883c63ceb1273009dbf91cb0693756cadf79a1a data/create/loot_tables/blocks/water_wheel.json
611d6195db52c074de484ec52d7ac9eb96b4ff10 data/create/loot_tables/blocks/weathered_limestone.json 6cbc693f915f409bc21c6084a4f75071bd660f7b data/create/loot_tables/blocks/weathered_limestone.json
c1f379baad36a20fc767be094db10480a0378184 data/create/loot_tables/blocks/weathered_limestone_bricks.json c1f379baad36a20fc767be094db10480a0378184 data/create/loot_tables/blocks/weathered_limestone_bricks.json
43be7e49b9a8a75077066aa824a0f784aa741683 data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json 43be7e49b9a8a75077066aa824a0f784aa741683 data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json
c2a62f12680d04ed4f586c501bb026e367243dd2 data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json c2a62f12680d04ed4f586c501bb026e367243dd2 data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json
@ -2783,6 +2792,7 @@ e3969f1c5966c4992b3280a06e1d6c5000c37df5 data/create/loot_tables/blocks/weighted
37248ca92d474e440b91c27e3c8e78e568328100 data/create/loot_tables/blocks/zinc_ore.json 37248ca92d474e440b91c27e3c8e78e568328100 data/create/loot_tables/blocks/zinc_ore.json
b65bac8bc2fbfd476040c1aab1c0588b8bd59ebe data/create/recipes/acacia_window.json b65bac8bc2fbfd476040c1aab1c0588b8bd59ebe data/create/recipes/acacia_window.json
35b4da9c14da60584c32e959efc2223f64bb3ec2 data/create/recipes/acacia_window_pane.json 35b4da9c14da60584c32e959efc2223f64bb3ec2 data/create/recipes/acacia_window_pane.json
57fc55848415db3e9b74e2cc2f6dacfb1b13a6cc data/create/recipes/andesite.json
96bb0bceb7798c96d5cf9b9c24b8ef822080cb1e data/create/recipes/andesite_bricks_from_andesite_stonecutting.json 96bb0bceb7798c96d5cf9b9c24b8ef822080cb1e data/create/recipes/andesite_bricks_from_andesite_stonecutting.json
01867b07039615dc69bad1b9fd217a1d86e69062 data/create/recipes/andesite_bricks_slab.json 01867b07039615dc69bad1b9fd217a1d86e69062 data/create/recipes/andesite_bricks_slab.json
376ada0e08cc797c705c22ec35fe54baa5f24efe data/create/recipes/andesite_bricks_slab_from_andesite_bricks_stonecutting.json 376ada0e08cc797c705c22ec35fe54baa5f24efe data/create/recipes/andesite_bricks_slab_from_andesite_bricks_stonecutting.json
@ -3103,6 +3113,7 @@ a022f2d541f04a9e2bed6b72af4e74703076fcbe data/create/recipes/cutting/warped_hyph
1bd01df5540df7db06afde28a3f9ebe4d25e4001 data/create/recipes/cutting/warped_stem.json 1bd01df5540df7db06afde28a3f9ebe4d25e4001 data/create/recipes/cutting/warped_stem.json
f2c317e03ac4d42fb631e1625607061e10c480fe data/create/recipes/dark_oak_window.json f2c317e03ac4d42fb631e1625607061e10c480fe data/create/recipes/dark_oak_window.json
d9dbae6e237eb38e53a619a0f1b339fca7c59b4d data/create/recipes/dark_oak_window_pane.json d9dbae6e237eb38e53a619a0f1b339fca7c59b4d data/create/recipes/dark_oak_window_pane.json
2ff8ac7eaabef52dcb173d7af388c28307559aaa data/create/recipes/dark_scoria.json
55596a590962e3ddd40949917661f0bd94408274 data/create/recipes/dark_scoria_bricks_from_dark_scoria_stonecutting.json 55596a590962e3ddd40949917661f0bd94408274 data/create/recipes/dark_scoria_bricks_from_dark_scoria_stonecutting.json
2489fc29c47d3c9cb63f5f2f09dc79ea1ca1728e data/create/recipes/dark_scoria_bricks_slab.json 2489fc29c47d3c9cb63f5f2f09dc79ea1ca1728e data/create/recipes/dark_scoria_bricks_slab.json
86f4d54ebcc5bc8786c72167395d8efee833744c data/create/recipes/dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json 86f4d54ebcc5bc8786c72167395d8efee833744c data/create/recipes/dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json
@ -3119,6 +3130,7 @@ f3a72b45daef00035ecb17b9cd7f8985a5f9e9ef data/create/recipes/dark_scoria_cobbles
0f2c14d40ed9013d45e331000ea03d39430f9d22 data/create/recipes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json 0f2c14d40ed9013d45e331000ea03d39430f9d22 data/create/recipes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json
31b7e65165cb0dbcd95362a81905b19fe4282cf3 data/create/recipes/dark_scoria_pillar.json 31b7e65165cb0dbcd95362a81905b19fe4282cf3 data/create/recipes/dark_scoria_pillar.json
681f45f03b15dc1a8a72cf72042e725d3f0cc7ef data/create/recipes/dark_scoria_pillar_from_dark_scoria_stonecutting.json 681f45f03b15dc1a8a72cf72042e725d3f0cc7ef data/create/recipes/dark_scoria_pillar_from_dark_scoria_stonecutting.json
0871ced2a434838e2db8f3df85af84b0cb4e40ad data/create/recipes/diorite.json
25c0fe29d1c2cedcaf21fac6cdfcce45dbf810bf data/create/recipes/diorite_bricks_from_diorite_stonecutting.json 25c0fe29d1c2cedcaf21fac6cdfcce45dbf810bf data/create/recipes/diorite_bricks_from_diorite_stonecutting.json
ff4a8687bdff339a10e0b813788bca272332abd9 data/create/recipes/diorite_bricks_slab.json ff4a8687bdff339a10e0b813788bca272332abd9 data/create/recipes/diorite_bricks_slab.json
7c49a389f9222fdfd6653d9fbcb1ca05bf207aa8 data/create/recipes/diorite_bricks_slab_from_diorite_bricks_stonecutting.json 7c49a389f9222fdfd6653d9fbcb1ca05bf207aa8 data/create/recipes/diorite_bricks_slab_from_diorite_bricks_stonecutting.json
@ -3135,6 +3147,7 @@ f764471aab017775e0d7a6d43a9e36b186db3ac2 data/create/recipes/diorite_cobblestone
d3628d5ce836d3b9072be3d4cf30416146cccad2 data/create/recipes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json d3628d5ce836d3b9072be3d4cf30416146cccad2 data/create/recipes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json
d69d767a77ae62f8e53342dffda4c627906439d7 data/create/recipes/diorite_pillar.json d69d767a77ae62f8e53342dffda4c627906439d7 data/create/recipes/diorite_pillar.json
3019172274fdfcc606ad0f5569db433913231c28 data/create/recipes/diorite_pillar_from_diorite_stonecutting.json 3019172274fdfcc606ad0f5569db433913231c28 data/create/recipes/diorite_pillar_from_diorite_stonecutting.json
2f1bf27611c640ec454be0e73ed75f596a4f1add data/create/recipes/dolomite.json
6ee0f10522f4acfe554e4743fa2ba1d8297a12f2 data/create/recipes/dolomite_bricks_from_dolomite_stonecutting.json 6ee0f10522f4acfe554e4743fa2ba1d8297a12f2 data/create/recipes/dolomite_bricks_from_dolomite_stonecutting.json
88a9b8e89e67455a9c4f1c3dbff813a3c3bd1609 data/create/recipes/dolomite_bricks_slab.json 88a9b8e89e67455a9c4f1c3dbff813a3c3bd1609 data/create/recipes/dolomite_bricks_slab.json
3adfb9924ada35d58275533425802b4829f058ac data/create/recipes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json 3adfb9924ada35d58275533425802b4829f058ac data/create/recipes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json
@ -3230,6 +3243,7 @@ c83e77a9799b6ca34dd73aa76b56159f2103c48c data/create/recipes/filling/milk_bucket
fb8e4378cd2240644a4b5c0d06e27ad772ec7695 data/create/recipes/filling/sweet_roll.json fb8e4378cd2240644a4b5c0d06e27ad772ec7695 data/create/recipes/filling/sweet_roll.json
5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json 5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json
d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json
147e7a160b82c8128f8fa7c3c6e7f7d652b89a36 data/create/recipes/gabbro.json
a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json
a19f047fa8507e994eb026795c86bc10ff5c373b data/create/recipes/gabbro_bricks_slab.json a19f047fa8507e994eb026795c86bc10ff5c373b data/create/recipes/gabbro_bricks_slab.json
84d83643f7987864eca0e2ca7cda4330ad9f1f86 data/create/recipes/gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json 84d83643f7987864eca0e2ca7cda4330ad9f1f86 data/create/recipes/gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json
@ -3246,6 +3260,7 @@ f7407fd04cfe7558d53c44cb33dfd8ff8a736ae3 data/create/recipes/gabbro_cobblestone_
8171880f4374f9102949b85e9a17e0b313caf3a6 data/create/recipes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json 8171880f4374f9102949b85e9a17e0b313caf3a6 data/create/recipes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json
6e52667c2f9ec62a95ba27676fdc07a8222f1746 data/create/recipes/gabbro_pillar.json 6e52667c2f9ec62a95ba27676fdc07a8222f1746 data/create/recipes/gabbro_pillar.json
da3743119130ef0946b05b21a84c2fe5926dccd5 data/create/recipes/gabbro_pillar_from_gabbro_stonecutting.json da3743119130ef0946b05b21a84c2fe5926dccd5 data/create/recipes/gabbro_pillar_from_gabbro_stonecutting.json
dc21523e591068eb5df7b287c9eef7b773b7d5d0 data/create/recipes/granite.json
5664bad03fce4a4724e8fd21c9c02ca6ae900df9 data/create/recipes/granite_bricks_from_granite_stonecutting.json 5664bad03fce4a4724e8fd21c9c02ca6ae900df9 data/create/recipes/granite_bricks_from_granite_stonecutting.json
1c5265828318670a11bd1e439b6a6005edb37487 data/create/recipes/granite_bricks_slab.json 1c5265828318670a11bd1e439b6a6005edb37487 data/create/recipes/granite_bricks_slab.json
0f460bda24ff799a9ef948933cfb50ef038739d4 data/create/recipes/granite_bricks_slab_from_granite_bricks_stonecutting.json 0f460bda24ff799a9ef948933cfb50ef038739d4 data/create/recipes/granite_bricks_slab_from_granite_bricks_stonecutting.json
@ -3275,6 +3290,7 @@ b49c314e171f31a39f38aabad767d8d3be613602 data/create/recipes/layered_gabbro_from
9712031277020c39e8e643690a6a968c5e275a75 data/create/recipes/layered_limestone_from_limestone_stonecutting.json 9712031277020c39e8e643690a6a968c5e275a75 data/create/recipes/layered_limestone_from_limestone_stonecutting.json
fdfbe941eb56a98c3d28639154b7bcd4dcc66dfa data/create/recipes/layered_scoria_from_scoria_stonecutting.json fdfbe941eb56a98c3d28639154b7bcd4dcc66dfa data/create/recipes/layered_scoria_from_scoria_stonecutting.json
cc070e83594b20cf697aa5dbb8c4e09dbf576d00 data/create/recipes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json cc070e83594b20cf697aa5dbb8c4e09dbf576d00 data/create/recipes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json
90253fc317a2551c50da7693df4a60e8543d2d64 data/create/recipes/limestone.json
3b43347da62a69c6e76e6a0261f840f46ff90038 data/create/recipes/limestone_bricks_from_limestone_stonecutting.json 3b43347da62a69c6e76e6a0261f840f46ff90038 data/create/recipes/limestone_bricks_from_limestone_stonecutting.json
aed4b037af6921e9337213dc09a215ab7a18adde data/create/recipes/limestone_bricks_slab.json aed4b037af6921e9337213dc09a215ab7a18adde data/create/recipes/limestone_bricks_slab.json
7222e1f13c6aec69ea37c84b4aca3e2322ef00d2 data/create/recipes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json 7222e1f13c6aec69ea37c84b4aca3e2322ef00d2 data/create/recipes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json
@ -3444,7 +3460,7 @@ f2a140cbaddefd387fd94f0ce94df763a585dd4f data/create/recipes/paved_weathered_lim
9f02f552173ae1c85750bb16aa6bbbfb87a5a7f1 data/create/recipes/paved_weathered_limestone_stairs_from_paved_weathered_limestone_stonecutting.json 9f02f552173ae1c85750bb16aa6bbbfb87a5a7f1 data/create/recipes/paved_weathered_limestone_stairs_from_paved_weathered_limestone_stonecutting.json
cc4a5a893b10ffdfcc10085323d89d34a1b8f122 data/create/recipes/paved_weathered_limestone_wall.json cc4a5a893b10ffdfcc10085323d89d34a1b8f122 data/create/recipes/paved_weathered_limestone_wall.json
d996f6505433a74cd8bdab04c0e0bac1b9a2da16 data/create/recipes/paved_weathered_limestone_wall_from_paved_weathered_limestone_stonecutting.json d996f6505433a74cd8bdab04c0e0bac1b9a2da16 data/create/recipes/paved_weathered_limestone_wall_from_paved_weathered_limestone_stonecutting.json
c83e29f260eee9844c85995d45bedef6100cb91d data/create/recipes/polished_dark_scoria.json c32e1418b17011c8c423d44ee20f2b86e82e7626 data/create/recipes/polished_dark_scoria.json
753c85bfb84a5d31f9670478042321702a589dc8 data/create/recipes/polished_dark_scoria_from_dark_scoria_stonecutting.json 753c85bfb84a5d31f9670478042321702a589dc8 data/create/recipes/polished_dark_scoria_from_dark_scoria_stonecutting.json
d3c78c504672fec3316b206505c2cb5fc8daf822 data/create/recipes/polished_dark_scoria_slab.json d3c78c504672fec3316b206505c2cb5fc8daf822 data/create/recipes/polished_dark_scoria_slab.json
bcc5a7325b7f7110e6b382e7ad60fc547222d3ad data/create/recipes/polished_dark_scoria_slab_from_polished_dark_scoria_stonecutting.json bcc5a7325b7f7110e6b382e7ad60fc547222d3ad data/create/recipes/polished_dark_scoria_slab_from_polished_dark_scoria_stonecutting.json
@ -3452,7 +3468,7 @@ c7d7e5f39099a71482cdfbebe1ef2dfd508ae768 data/create/recipes/polished_dark_scori
364d77f01b380bbb0036810f6e0df09773ea8e1c data/create/recipes/polished_dark_scoria_stairs_from_polished_dark_scoria_stonecutting.json 364d77f01b380bbb0036810f6e0df09773ea8e1c data/create/recipes/polished_dark_scoria_stairs_from_polished_dark_scoria_stonecutting.json
396b6c97b5e7f608b293dee51be97717c3430bc4 data/create/recipes/polished_dark_scoria_wall.json 396b6c97b5e7f608b293dee51be97717c3430bc4 data/create/recipes/polished_dark_scoria_wall.json
62b0769e0208831db822f6d2b986fff6aee60729 data/create/recipes/polished_dark_scoria_wall_from_polished_dark_scoria_stonecutting.json 62b0769e0208831db822f6d2b986fff6aee60729 data/create/recipes/polished_dark_scoria_wall_from_polished_dark_scoria_stonecutting.json
53930b3b32b076c9786e5c61d8cc7fe70a47fed7 data/create/recipes/polished_dolomite.json a1561acc26948db5cffc041d85b1d26204754caf data/create/recipes/polished_dolomite.json
da91fd1ccaac64f7ef9737f3c773490d0c0b10d1 data/create/recipes/polished_dolomite_from_dolomite_stonecutting.json da91fd1ccaac64f7ef9737f3c773490d0c0b10d1 data/create/recipes/polished_dolomite_from_dolomite_stonecutting.json
75288e75b604eacfbc19cb51cb4d4759bdeaafa5 data/create/recipes/polished_dolomite_slab.json 75288e75b604eacfbc19cb51cb4d4759bdeaafa5 data/create/recipes/polished_dolomite_slab.json
9a89eaf5f00d8fb10297de61248f8d11dded8c4b data/create/recipes/polished_dolomite_slab_from_polished_dolomite_stonecutting.json 9a89eaf5f00d8fb10297de61248f8d11dded8c4b data/create/recipes/polished_dolomite_slab_from_polished_dolomite_stonecutting.json
@ -3460,7 +3476,7 @@ da91fd1ccaac64f7ef9737f3c773490d0c0b10d1 data/create/recipes/polished_dolomite_f
e2dce404e4bcde076615ed0d0cf6fab769d441d5 data/create/recipes/polished_dolomite_stairs_from_polished_dolomite_stonecutting.json e2dce404e4bcde076615ed0d0cf6fab769d441d5 data/create/recipes/polished_dolomite_stairs_from_polished_dolomite_stonecutting.json
8f2f4643886d166609b198704dcadb5e87b6323e data/create/recipes/polished_dolomite_wall.json 8f2f4643886d166609b198704dcadb5e87b6323e data/create/recipes/polished_dolomite_wall.json
3b5d553e408a8b6385932e2a8082fcb5bdead0d1 data/create/recipes/polished_dolomite_wall_from_polished_dolomite_stonecutting.json 3b5d553e408a8b6385932e2a8082fcb5bdead0d1 data/create/recipes/polished_dolomite_wall_from_polished_dolomite_stonecutting.json
d9d2b6f6f4c8223c4cfc6258ba9013463691d88c data/create/recipes/polished_gabbro.json 5873547a8561849a73c0d2cca3faba3e8b65b33d data/create/recipes/polished_gabbro.json
ba3e1444b9d1804411cc9c7536c657806dc37c1d data/create/recipes/polished_gabbro_from_gabbro_stonecutting.json ba3e1444b9d1804411cc9c7536c657806dc37c1d data/create/recipes/polished_gabbro_from_gabbro_stonecutting.json
b7d29a29fde4868b4ceef1437e5d00975068bc58 data/create/recipes/polished_gabbro_slab.json b7d29a29fde4868b4ceef1437e5d00975068bc58 data/create/recipes/polished_gabbro_slab.json
f7a62c1edc74e54fc0c747f23d7da182d49ef7b6 data/create/recipes/polished_gabbro_slab_from_polished_gabbro_stonecutting.json f7a62c1edc74e54fc0c747f23d7da182d49ef7b6 data/create/recipes/polished_gabbro_slab_from_polished_gabbro_stonecutting.json
@ -3468,7 +3484,7 @@ f7a62c1edc74e54fc0c747f23d7da182d49ef7b6 data/create/recipes/polished_gabbro_sla
7df6fd466badaa3cef5e2ad0e78bbb3b6429805e data/create/recipes/polished_gabbro_stairs_from_polished_gabbro_stonecutting.json 7df6fd466badaa3cef5e2ad0e78bbb3b6429805e data/create/recipes/polished_gabbro_stairs_from_polished_gabbro_stonecutting.json
ec70334e13e05cff7e04e7dc6b23be273c235e50 data/create/recipes/polished_gabbro_wall.json ec70334e13e05cff7e04e7dc6b23be273c235e50 data/create/recipes/polished_gabbro_wall.json
5176a8fe5a48592c7b487518a57c962c24e3e751 data/create/recipes/polished_gabbro_wall_from_polished_gabbro_stonecutting.json 5176a8fe5a48592c7b487518a57c962c24e3e751 data/create/recipes/polished_gabbro_wall_from_polished_gabbro_stonecutting.json
bb7d651a6c79bd97390c7b1743c4fe58c9973c39 data/create/recipes/polished_limestone.json 59a01eb264c302fe455639bcafa4afb97de2379e data/create/recipes/polished_limestone.json
0e88c98c9ef0d15523b23b00f8afde71d9d8e3e9 data/create/recipes/polished_limestone_from_limestone_stonecutting.json 0e88c98c9ef0d15523b23b00f8afde71d9d8e3e9 data/create/recipes/polished_limestone_from_limestone_stonecutting.json
135fd40e291c7cfdc73c14496654008da9dd797d data/create/recipes/polished_limestone_slab.json 135fd40e291c7cfdc73c14496654008da9dd797d data/create/recipes/polished_limestone_slab.json
4ce225832ab45daf6b5bc013c6f8762fdbe9ff0f data/create/recipes/polished_limestone_slab_from_polished_limestone_stonecutting.json 4ce225832ab45daf6b5bc013c6f8762fdbe9ff0f data/create/recipes/polished_limestone_slab_from_polished_limestone_stonecutting.json
@ -3476,7 +3492,7 @@ fee3d0ec8d4f27d82acd5d0e3a2a142900e18be3 data/create/recipes/polished_limestone_
6780c8bd8747ebb6db7e0adfc486ce00e7e2cf26 data/create/recipes/polished_limestone_stairs_from_polished_limestone_stonecutting.json 6780c8bd8747ebb6db7e0adfc486ce00e7e2cf26 data/create/recipes/polished_limestone_stairs_from_polished_limestone_stonecutting.json
44b1f3873fe8150abbacab10ff3cc2033a01b4a0 data/create/recipes/polished_limestone_wall.json 44b1f3873fe8150abbacab10ff3cc2033a01b4a0 data/create/recipes/polished_limestone_wall.json
d68a27e463d31ba5eed19181c0335824601b9e68 data/create/recipes/polished_limestone_wall_from_polished_limestone_stonecutting.json d68a27e463d31ba5eed19181c0335824601b9e68 data/create/recipes/polished_limestone_wall_from_polished_limestone_stonecutting.json
300b9c979ac848fb6ae69eeb6e89c9e22056c562 data/create/recipes/polished_scoria.json 82b5b5fc1d2f789b48a48a7dc846aeb505b0c3c1 data/create/recipes/polished_scoria.json
9d6926822ea6f2bb38ba55204278fe82fd453d16 data/create/recipes/polished_scoria_from_scoria_stonecutting.json 9d6926822ea6f2bb38ba55204278fe82fd453d16 data/create/recipes/polished_scoria_from_scoria_stonecutting.json
814efd67d3f061d0c0ba104993c868e075a4fd3e data/create/recipes/polished_scoria_slab.json 814efd67d3f061d0c0ba104993c868e075a4fd3e data/create/recipes/polished_scoria_slab.json
8696f262927ae55ce72af1a34cae68fd6ccc4050 data/create/recipes/polished_scoria_slab_from_polished_scoria_stonecutting.json 8696f262927ae55ce72af1a34cae68fd6ccc4050 data/create/recipes/polished_scoria_slab_from_polished_scoria_stonecutting.json
@ -3484,7 +3500,7 @@ efe648aa4fd0f22faa78c016dbe2d083462e1ad6 data/create/recipes/polished_scoria_sta
ba6dd9ad0c69b088c1a9e33000bd5b9bcedb0ca0 data/create/recipes/polished_scoria_stairs_from_polished_scoria_stonecutting.json ba6dd9ad0c69b088c1a9e33000bd5b9bcedb0ca0 data/create/recipes/polished_scoria_stairs_from_polished_scoria_stonecutting.json
8319042a131a9dcabae016009b807b91c491f8d3 data/create/recipes/polished_scoria_wall.json 8319042a131a9dcabae016009b807b91c491f8d3 data/create/recipes/polished_scoria_wall.json
bc9a83e7793768723031ff14269e43c83687b9f3 data/create/recipes/polished_scoria_wall_from_polished_scoria_stonecutting.json bc9a83e7793768723031ff14269e43c83687b9f3 data/create/recipes/polished_scoria_wall_from_polished_scoria_stonecutting.json
31a0826653da3e752da8507a46b16dc17334693b data/create/recipes/polished_weathered_limestone.json d9d188d55d9bb94bceaad8de3ccb02532b021576 data/create/recipes/polished_weathered_limestone.json
73b468de08f3e0542b7020129faff3a40b3fee67 data/create/recipes/polished_weathered_limestone_from_weathered_limestone_stonecutting.json 73b468de08f3e0542b7020129faff3a40b3fee67 data/create/recipes/polished_weathered_limestone_from_weathered_limestone_stonecutting.json
c0924d72a856c3182b89996a6ceaffd56930c455 data/create/recipes/polished_weathered_limestone_slab.json c0924d72a856c3182b89996a6ceaffd56930c455 data/create/recipes/polished_weathered_limestone_slab.json
1f5503d22859a08eef824d33f6ed48335f66c423 data/create/recipes/polished_weathered_limestone_slab_from_polished_weathered_limestone_stonecutting.json 1f5503d22859a08eef824d33f6ed48335f66c423 data/create/recipes/polished_weathered_limestone_slab_from_polished_weathered_limestone_stonecutting.json
@ -3500,6 +3516,7 @@ a104ef6eb8872a40ea7b2ef67ae54cec943162f0 data/create/recipes/pressing/iron_ingot
654e274b07af172c22838d47e0974367c20101d4 data/create/recipes/pressing/path.json 654e274b07af172c22838d47e0974367c20101d4 data/create/recipes/pressing/path.json
bd57ccc8eb4357b4a5af021db7b806b514cd2558 data/create/recipes/pressing/sugar_cane.json bd57ccc8eb4357b4a5af021db7b806b514cd2558 data/create/recipes/pressing/sugar_cane.json
141173778757d87e7f2e9466bdab6ff1263c8e98 data/create/recipes/sandpaper_polishing/rose_quartz.json 141173778757d87e7f2e9466bdab6ff1263c8e98 data/create/recipes/sandpaper_polishing/rose_quartz.json
5ab9c8271a9e1d4a863940aeafd1f8816cb37a29 data/create/recipes/scoria.json
d59c68621c78ff5d2c51be4440dea603480efed8 data/create/recipes/scoria_bricks_from_scoria_stonecutting.json d59c68621c78ff5d2c51be4440dea603480efed8 data/create/recipes/scoria_bricks_from_scoria_stonecutting.json
a7a28cf77955c2b4ed3687205dd24162e461aa30 data/create/recipes/scoria_bricks_slab.json a7a28cf77955c2b4ed3687205dd24162e461aa30 data/create/recipes/scoria_bricks_slab.json
0577ffde98e7a027b21c430cd71cdafdd3cee3a3 data/create/recipes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json 0577ffde98e7a027b21c430cd71cdafdd3cee3a3 data/create/recipes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json
@ -3630,6 +3647,7 @@ e2c1774577aeb0756fb1d092245d9d77e40ba5f8 data/create/recipes/splashing/yellow_co
dc6093427210bd7034a0e2184f6a1630c7b33b3e data/create/recipes/vertical_framed_glass_pane.json dc6093427210bd7034a0e2184f6a1630c7b33b3e data/create/recipes/vertical_framed_glass_pane.json
40ec72d571002206c276aec5de72459155e043ce data/create/recipes/warped_window.json 40ec72d571002206c276aec5de72459155e043ce data/create/recipes/warped_window.json
8f4b0a3cfb0073f1414bf18c0d4e5e751c4a9185 data/create/recipes/warped_window_pane.json 8f4b0a3cfb0073f1414bf18c0d4e5e751c4a9185 data/create/recipes/warped_window_pane.json
e483f41ab4e959bda4d88c23817913843d0fbef6 data/create/recipes/weathered_limestone.json
f75f25d3259dd51c29bee6ada2a4540a7a2bbeab data/create/recipes/weathered_limestone_bricks_from_weathered_limestone_stonecutting.json f75f25d3259dd51c29bee6ada2a4540a7a2bbeab data/create/recipes/weathered_limestone_bricks_from_weathered_limestone_stonecutting.json
f58ef5eb552fc7dcd89f30aa4231286ecef5e00a data/create/recipes/weathered_limestone_bricks_slab.json f58ef5eb552fc7dcd89f30aa4231286ecef5e00a data/create/recipes/weathered_limestone_bricks_slab.json
ca9b163b3aaa526d6c3b070c2a7e50a56a38c6f4 data/create/recipes/weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json ca9b163b3aaa526d6c3b070c2a7e50a56a38c6f4 data/create/recipes/weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:andesite"
]
},
"criteria": {
"has_andesite_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:andesite_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:andesite"
}
}
},
"requirements": [
[
"has_andesite_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:diorite"
]
},
"criteria": {
"has_diorite_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:diorite_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:diorite"
}
}
},
"requirements": [
[
"has_diorite_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:granite"
]
},
"criteria": {
"has_granite_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:granite_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:granite"
}
}
},
"requirements": [
[
"has_granite_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_andesite": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_andesite",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:dark_scoria"
]
},
"criteria": {
"has_dark_scoria_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:dark_scoria_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:dark_scoria"
}
}
},
"requirements": [
[
"has_dark_scoria_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_dark_scoria": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_dark_scoria",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_diorite": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_diorite",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:dolomite"
]
},
"criteria": {
"has_dolomite_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:dolomite_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:dolomite"
}
}
},
"requirements": [
[
"has_dolomite_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_dolomite": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_dolomite",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:gabbro"
]
},
"criteria": {
"has_gabbro_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:gabbro_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:gabbro"
}
}
},
"requirements": [
[
"has_gabbro_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_gabbro": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_gabbro",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_granite": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_granite",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:limestone"
]
},
"criteria": {
"has_limestone_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:limestone_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:limestone"
}
}
},
"requirements": [
[
"has_limestone_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_limestone": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_limestone",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:scoria"
]
},
"criteria": {
"has_scoria_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:scoria_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:scoria"
}
}
},
"requirements": [
[
"has_scoria_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_scoria": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_scoria",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:weathered_limestone"
]
},
"criteria": {
"has_weathered_limestone_cobblestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:weathered_limestone_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:weathered_limestone"
}
}
},
"requirements": [
[
"has_weathered_limestone_cobblestone",
"has_the_recipe"
]
]
}

View file

@ -6,7 +6,7 @@
] ]
}, },
"criteria": { "criteria": {
"has_ingredient": { "has_weathered_limestone": {
"trigger": "minecraft:inventory_changed", "trigger": "minecraft:inventory_changed",
"conditions": { "conditions": {
"items": [ "items": [
@ -25,7 +25,7 @@
}, },
"requirements": [ "requirements": [
[ [
"has_ingredient", "has_weathered_limestone",
"has_the_recipe" "has_the_recipe"
] ]
] ]

View file

@ -4,15 +4,39 @@
{ {
"rolls": 1, "rolls": 1,
"entries": [ "entries": [
{
"type": "minecraft:alternatives",
"children": [
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "create:dark_scoria" "conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
} }
], ],
"name": "create:dark_scoria"
},
{
"type": "minecraft:item",
"conditions": [ "conditions": [
{ {
"condition": "minecraft:survives_explosion" "condition": "minecraft:survives_explosion"
} }
],
"name": "create:dark_scoria_cobblestone"
}
]
}
] ]
} }
] ]

View file

@ -4,15 +4,39 @@
{ {
"rolls": 1, "rolls": 1,
"entries": [ "entries": [
{
"type": "minecraft:alternatives",
"children": [
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "create:dolomite" "conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
} }
], ],
"name": "create:dolomite"
},
{
"type": "minecraft:item",
"conditions": [ "conditions": [
{ {
"condition": "minecraft:survives_explosion" "condition": "minecraft:survives_explosion"
} }
],
"name": "create:dolomite_cobblestone"
}
]
}
] ]
} }
] ]

View file

@ -4,15 +4,39 @@
{ {
"rolls": 1, "rolls": 1,
"entries": [ "entries": [
{
"type": "minecraft:alternatives",
"children": [
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "create:gabbro" "conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
} }
], ],
"name": "create:gabbro"
},
{
"type": "minecraft:item",
"conditions": [ "conditions": [
{ {
"condition": "minecraft:survives_explosion" "condition": "minecraft:survives_explosion"
} }
],
"name": "create:gabbro_cobblestone"
}
]
}
] ]
} }
] ]

View file

@ -4,15 +4,39 @@
{ {
"rolls": 1, "rolls": 1,
"entries": [ "entries": [
{
"type": "minecraft:alternatives",
"children": [
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "create:limestone" "conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
} }
], ],
"name": "create:limestone"
},
{
"type": "minecraft:item",
"conditions": [ "conditions": [
{ {
"condition": "minecraft:survives_explosion" "condition": "minecraft:survives_explosion"
} }
],
"name": "create:limestone_cobblestone"
}
]
}
] ]
} }
] ]

View file

@ -4,15 +4,39 @@
{ {
"rolls": 1, "rolls": 1,
"entries": [ "entries": [
{
"type": "minecraft:alternatives",
"children": [
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "create:scoria" "conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
} }
], ],
"name": "create:scoria"
},
{
"type": "minecraft:item",
"conditions": [ "conditions": [
{ {
"condition": "minecraft:survives_explosion" "condition": "minecraft:survives_explosion"
} }
],
"name": "create:scoria_cobblestone"
}
]
}
] ]
} }
] ]

View file

@ -4,15 +4,39 @@
{ {
"rolls": 1, "rolls": 1,
"entries": [ "entries": [
{
"type": "minecraft:alternatives",
"children": [
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "create:weathered_limestone" "conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
} }
], ],
"name": "create:weathered_limestone"
},
{
"type": "minecraft:item",
"conditions": [ "conditions": [
{ {
"condition": "minecraft:survives_explosion" "condition": "minecraft:survives_explosion"
} }
],
"name": "create:weathered_limestone_cobblestone"
}
]
}
] ]
} }
] ]

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:andesite_cobblestone"
},
"result": "minecraft:andesite",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:dark_scoria_cobblestone"
},
"result": "create:dark_scoria",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:diorite_cobblestone"
},
"result": "minecraft:diorite",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:dolomite_cobblestone"
},
"result": "create:dolomite",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:gabbro_cobblestone"
},
"result": "create:gabbro",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:granite_cobblestone"
},
"result": "minecraft:granite",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:limestone_cobblestone"
},
"result": "create:limestone",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -1,11 +1,11 @@
{ {
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"pattern": [ "pattern": [
"XX", "##",
"XX" "##"
], ],
"key": { "key": {
"X": { "#": {
"item": "create:dark_scoria" "item": "create:dark_scoria"
} }
}, },

View file

@ -1,11 +1,11 @@
{ {
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"pattern": [ "pattern": [
"XX", "##",
"XX" "##"
], ],
"key": { "key": {
"X": { "#": {
"item": "create:dolomite" "item": "create:dolomite"
} }
}, },

View file

@ -1,11 +1,11 @@
{ {
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"pattern": [ "pattern": [
"XX", "##",
"XX" "##"
], ],
"key": { "key": {
"X": { "#": {
"item": "create:gabbro" "item": "create:gabbro"
} }
}, },

View file

@ -1,11 +1,11 @@
{ {
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"pattern": [ "pattern": [
"XX", "##",
"XX" "##"
], ],
"key": { "key": {
"X": { "#": {
"item": "create:limestone" "item": "create:limestone"
} }
}, },

View file

@ -1,11 +1,11 @@
{ {
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"pattern": [ "pattern": [
"XX", "##",
"XX" "##"
], ],
"key": { "key": {
"X": { "#": {
"item": "create:scoria" "item": "create:scoria"
} }
}, },

View file

@ -1,11 +1,11 @@
{ {
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"pattern": [ "pattern": [
"XX", "##",
"XX" "##"
], ],
"key": { "key": {
"X": { "#": {
"item": "create:weathered_limestone" "item": "create:weathered_limestone"
} }
}, },

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:scoria_cobblestone"
},
"result": "create:scoria",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "create:weathered_limestone_cobblestone"
},
"result": "create:weathered_limestone",
"experience": 0.1,
"cookingtime": 200
}

View file

@ -8,8 +8,8 @@ import static com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTT
import java.util.IdentityHashMap; import java.util.IdentityHashMap;
import java.util.Map; import java.util.Map;
import com.simibubi.create.content.palettes.PaletteBlockPatterns; import com.simibubi.create.content.palettes.PaletteBlockPattern;
import com.simibubi.create.content.palettes.PaletteBlockPatterns.CTs; import com.simibubi.create.content.palettes.PaletteBlockPattern.CTs;
import com.simibubi.create.content.palettes.PaletteStoneVariants; import com.simibubi.create.content.palettes.PaletteStoneVariants;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType; import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
@ -23,7 +23,7 @@ import net.minecraft.item.DyeColor;
public class AllSpriteShifts { public class AllSpriteShifts {
static final Map<WoodType, CTSpriteShiftEntry> WOODEN_WINDOWS = new IdentityHashMap<>(); static final Map<WoodType, CTSpriteShiftEntry> WOODEN_WINDOWS = new IdentityHashMap<>();
static final Map<PaletteStoneVariants, Map<PaletteBlockPatterns.CTs, CTSpriteShiftEntry>> PALETTE_VARIANT_PATTERNS = static final Map<PaletteStoneVariants, Map<PaletteBlockPattern.CTs, CTSpriteShiftEntry>> PALETTE_VARIANT_PATTERNS =
new IdentityHashMap<>(); new IdentityHashMap<>();
public static final Map<DyeColor, SpriteShiftEntry> DYED_BELTS = new IdentityHashMap<>(), public static final Map<DyeColor, SpriteShiftEntry> DYED_BELTS = new IdentityHashMap<>(),
@ -69,7 +69,7 @@ public class AllSpriteShifts {
return WOODEN_WINDOWS.get(woodType); return WOODEN_WINDOWS.get(woodType);
} }
public static CTSpriteShiftEntry getVariantPattern(PaletteStoneVariants variant, PaletteBlockPatterns.CTs texture) { public static CTSpriteShiftEntry getVariantPattern(PaletteStoneVariants variant, PaletteBlockPattern.CTs texture) {
return PALETTE_VARIANT_PATTERNS.get(variant) return PALETTE_VARIANT_PATTERNS.get(variant)
.get(texture); .get(texture);
} }
@ -85,7 +85,7 @@ public class AllSpriteShifts {
IdentityHashMap<CTs, CTSpriteShiftEntry> map = new IdentityHashMap<>(); IdentityHashMap<CTs, CTSpriteShiftEntry> map = new IdentityHashMap<>();
PALETTE_VARIANT_PATTERNS.put(paletteStoneVariants, map); PALETTE_VARIANT_PATTERNS.put(paletteStoneVariants, map);
for (PaletteBlockPatterns.CTs texture : PaletteBlockPatterns.CTs.values()) { for (PaletteBlockPattern.CTs texture : PaletteBlockPattern.CTs.values()) {
String textureName = Lang.asId(texture.name()); String textureName = Lang.asId(texture.name());
String target = "palettes/" + variantName + "/" + textureName; String target = "palettes/" + variantName + "/" + textureName;
map.put(texture, getCT(texture.type, target)); map.put(texture, getCT(texture.type, target));

View file

@ -96,13 +96,13 @@ public class AllPaletteBlocks {
// Vanilla stone variant patterns // Vanilla stone variant patterns
public static final PalettesVariantEntry GRANITE_VARIANTS = public static final PalettesVariantEntry GRANITE_VARIANTS =
new PalettesVariantEntry(PaletteStoneVariants.GRANITE, PaletteBlockPatterns.vanillaRange, () -> Blocks.GRANITE); new PalettesVariantEntry(PaletteStoneVariants.GRANITE, PaletteBlockPattern.VANILLA_RANGE, () -> Blocks.GRANITE);
public static final PalettesVariantEntry DIORITE_VARIANTS = public static final PalettesVariantEntry DIORITE_VARIANTS =
new PalettesVariantEntry(PaletteStoneVariants.DIORITE, PaletteBlockPatterns.vanillaRange, () -> Blocks.DIORITE); new PalettesVariantEntry(PaletteStoneVariants.DIORITE, PaletteBlockPattern.VANILLA_RANGE, () -> Blocks.DIORITE);
public static final PalettesVariantEntry ANDESITE_VARIANTS = new PalettesVariantEntry(PaletteStoneVariants.ANDESITE, public static final PalettesVariantEntry ANDESITE_VARIANTS = new PalettesVariantEntry(PaletteStoneVariants.ANDESITE,
PaletteBlockPatterns.vanillaRange, () -> Blocks.ANDESITE); PaletteBlockPattern.VANILLA_RANGE, () -> Blocks.ANDESITE);
// Create stone variants // Create stone variants
@ -115,37 +115,42 @@ public class AllPaletteBlocks {
public static final BlockEntry<Block> LIMESTONE = public static final BlockEntry<Block> LIMESTONE =
REGISTRATE.baseBlock("limestone", Block::new, () -> Blocks.SANDSTONE, true) REGISTRATE.baseBlock("limestone", Block::new, () -> Blocks.SANDSTONE, true)
.tag(BlockTags.BASE_STONE_OVERWORLD) .tag(BlockTags.BASE_STONE_OVERWORLD)
.loot(cobblestoneLoot(PaletteStoneVariants.LIMESTONE))
.register(); .register();
public static final PalettesVariantEntry LIMESTONE_VARIANTS = public static final PalettesVariantEntry LIMESTONE_VARIANTS =
new PalettesVariantEntry(PaletteStoneVariants.LIMESTONE, PaletteBlockPatterns.standardRange, LIMESTONE); new PalettesVariantEntry(PaletteStoneVariants.LIMESTONE, PaletteBlockPattern.STANDARD_RANGE, LIMESTONE);
public static final BlockEntry<Block> WEATHERED_LIMESTONE = public static final BlockEntry<Block> WEATHERED_LIMESTONE =
REGISTRATE.baseBlock("weathered_limestone", Block::new, () -> Blocks.SANDSTONE, true) REGISTRATE.baseBlock("weathered_limestone", Block::new, () -> Blocks.SANDSTONE, true)
.tag(BlockTags.BASE_STONE_OVERWORLD) .tag(BlockTags.BASE_STONE_OVERWORLD)
.loot(cobblestoneLoot(PaletteStoneVariants.WEATHERED_LIMESTONE))
.register(); .register();
public static final PalettesVariantEntry WEATHERED_LIMESTONE_VARIANTS = new PalettesVariantEntry( public static final PalettesVariantEntry WEATHERED_LIMESTONE_VARIANTS = new PalettesVariantEntry(
PaletteStoneVariants.WEATHERED_LIMESTONE, PaletteBlockPatterns.standardRange, WEATHERED_LIMESTONE); PaletteStoneVariants.WEATHERED_LIMESTONE, PaletteBlockPattern.STANDARD_RANGE, WEATHERED_LIMESTONE);
public static final BlockEntry<Block> DOLOMITE = public static final BlockEntry<Block> DOLOMITE =
REGISTRATE.baseBlock("dolomite", Block::new, () -> Blocks.QUARTZ_BLOCK, true) REGISTRATE.baseBlock("dolomite", Block::new, () -> Blocks.QUARTZ_BLOCK, true)
.tag(BlockTags.BASE_STONE_OVERWORLD) .tag(BlockTags.BASE_STONE_OVERWORLD)
.loot(cobblestoneLoot(PaletteStoneVariants.DOLOMITE))
.register(); .register();
public static final PalettesVariantEntry DOLOMITE_VARIANTS = public static final PalettesVariantEntry DOLOMITE_VARIANTS =
new PalettesVariantEntry(PaletteStoneVariants.DOLOMITE, PaletteBlockPatterns.standardRange, DOLOMITE); new PalettesVariantEntry(PaletteStoneVariants.DOLOMITE, PaletteBlockPattern.STANDARD_RANGE, DOLOMITE);
public static final BlockEntry<Block> GABBRO = public static final BlockEntry<Block> GABBRO =
REGISTRATE.baseBlock("gabbro", Block::new, () -> Blocks.ANDESITE, true) REGISTRATE.baseBlock("gabbro", Block::new, () -> Blocks.ANDESITE, true)
.tag(BlockTags.BASE_STONE_OVERWORLD) .tag(BlockTags.BASE_STONE_OVERWORLD)
.loot(cobblestoneLoot(PaletteStoneVariants.GABBRO))
.register(); .register();
public static final PalettesVariantEntry GABBRO_VARIANTS = public static final PalettesVariantEntry GABBRO_VARIANTS =
new PalettesVariantEntry(PaletteStoneVariants.GABBRO, PaletteBlockPatterns.standardRange, GABBRO); new PalettesVariantEntry(PaletteStoneVariants.GABBRO, PaletteBlockPattern.STANDARD_RANGE, GABBRO);
public static final BlockEntry<Block> SCORIA = public static final BlockEntry<Block> SCORIA =
REGISTRATE.baseBlock("scoria", Block::new, () -> Blocks.ANDESITE, true) REGISTRATE.baseBlock("scoria", Block::new, () -> Blocks.ANDESITE, true)
.loot(cobblestoneLoot(PaletteStoneVariants.SCORIA))
.register(); .register();
public static final BlockEntry<Block> NATURAL_SCORIA = REGISTRATE.block("natural_scoria", Block::new) public static final BlockEntry<Block> NATURAL_SCORIA = REGISTRATE.block("natural_scoria", Block::new)
@ -158,18 +163,25 @@ public class AllPaletteBlocks {
.register(); .register();
public static final PalettesVariantEntry SCORIA_VARIANTS = public static final PalettesVariantEntry SCORIA_VARIANTS =
new PalettesVariantEntry(PaletteStoneVariants.SCORIA, PaletteBlockPatterns.standardRange, SCORIA); new PalettesVariantEntry(PaletteStoneVariants.SCORIA, PaletteBlockPattern.STANDARD_RANGE, SCORIA);
public static final BlockEntry<Block> DARK_SCORIA = public static final BlockEntry<Block> DARK_SCORIA =
REGISTRATE.baseBlock("dark_scoria", Block::new, () -> Blocks.ANDESITE, false) REGISTRATE.baseBlock("dark_scoria", Block::new, () -> Blocks.ANDESITE, false)
.loot(cobblestoneLoot(PaletteStoneVariants.DARK_SCORIA))
.register(); .register();
public static final PalettesVariantEntry DARK_SCORIA_VARIANTS = public static final PalettesVariantEntry DARK_SCORIA_VARIANTS =
new PalettesVariantEntry(PaletteStoneVariants.DARK_SCORIA, PaletteBlockPatterns.standardRange, DARK_SCORIA); new PalettesVariantEntry(PaletteStoneVariants.DARK_SCORIA, PaletteBlockPattern.STANDARD_RANGE, DARK_SCORIA);
public static void register() {} private static <T extends Block> NonNullBiConsumer<RegistrateBlockLootTables, T> cobblestoneLoot(PaletteStoneVariants variant) {
return (loot, block) -> loot.registerLootTable(block, RegistrateBlockLootTables.droppingWithSilkTouch(block,
variant.getVariants().registeredBlocks.get(0).get()));
}
private static <T extends Block> NonNullBiConsumer<DataGenContext<Block, T>, RegistrateBlockstateProvider> palettesCubeAll() { private static <T extends Block> NonNullBiConsumer<DataGenContext<Block, T>, RegistrateBlockstateProvider> palettesCubeAll() {
return (c, p) -> BlockStateGen.cubeAll(c, p, "palettes/"); return (c, p) -> BlockStateGen.cubeAll(c, p, "palettes/");
} }
public static void register() {}
} }

View file

@ -34,8 +34,8 @@ public abstract class PaletteBlockPartial<B extends Block> {
public static final PaletteBlockPartial<SlabBlock> UNIQUE_SLAB = new Slab(true); public static final PaletteBlockPartial<SlabBlock> UNIQUE_SLAB = new Slab(true);
public static final PaletteBlockPartial<WallBlock> WALL = new Wall(); public static final PaletteBlockPartial<WallBlock> WALL = new Wall();
public static final PaletteBlockPartial<?>[] AllPartials = { STAIR, SLAB, WALL }; public static final PaletteBlockPartial<?>[] ALL_PARTIALS = { STAIR, SLAB, WALL };
public static final PaletteBlockPartial<?>[] ForPolished = { STAIR, UNIQUE_SLAB, WALL }; public static final PaletteBlockPartial<?>[] FOR_POLISHED = { STAIR, UNIQUE_SLAB, WALL };
private String name; private String name;
@ -43,7 +43,7 @@ public abstract class PaletteBlockPartial<B extends Block> {
this.name = name; this.name = name;
} }
public @NonnullType BlockBuilder<B, CreateRegistrate> create(String variantName, PaletteBlockPatterns pattern, public @NonnullType BlockBuilder<B, CreateRegistrate> create(String variantName, PaletteBlockPattern pattern,
Supplier<? extends Block> block) { Supplier<? extends Block> block) {
String patternName = pattern.createName(variantName); String patternName = pattern.createName(variantName);
String blockName = patternName + "_" + this.name; String blockName = patternName + "_" + this.name;
@ -57,19 +57,19 @@ public abstract class PaletteBlockPartial<B extends Block> {
.build(); .build();
} }
protected ResourceLocation getMainTexture(String variantName, PaletteBlockPatterns pattern) { protected ResourceLocation getMainTexture(String variantName, PaletteBlockPattern pattern) {
return pattern.toLocation(variantName, pattern.getTextureForPartials()); return pattern.toLocation(variantName, pattern.getTextureForPartials());
} }
protected BlockBuilder<B, CreateRegistrate> transformBlock(BlockBuilder<B, CreateRegistrate> builder, protected BlockBuilder<B, CreateRegistrate> transformBlock(BlockBuilder<B, CreateRegistrate> builder,
String variantName, PaletteBlockPatterns pattern) { String variantName, PaletteBlockPattern pattern) {
getBlockTags().forEach(builder::tag); getBlockTags().forEach(builder::tag);
return builder; return builder;
} }
protected ItemBuilder<BlockItem, BlockBuilder<B, CreateRegistrate>> transformItem( protected ItemBuilder<BlockItem, BlockBuilder<B, CreateRegistrate>> transformItem(
ItemBuilder<BlockItem, BlockBuilder<B, CreateRegistrate>> builder, String variantName, ItemBuilder<BlockItem, BlockBuilder<B, CreateRegistrate>> builder, String variantName,
PaletteBlockPatterns pattern) { PaletteBlockPattern pattern) {
getItemTags().forEach(builder::tag); getItemTags().forEach(builder::tag);
return builder; return builder;
} }
@ -84,7 +84,7 @@ public abstract class PaletteBlockPartial<B extends Block> {
RegistrateRecipeProvider p); RegistrateRecipeProvider p);
protected abstract void generateBlockState(DataGenContext<Block, B> ctx, RegistrateBlockstateProvider prov, protected abstract void generateBlockState(DataGenContext<Block, B> ctx, RegistrateBlockstateProvider prov,
String variantName, PaletteBlockPatterns pattern, Supplier<? extends Block> block); String variantName, PaletteBlockPattern pattern, Supplier<? extends Block> block);
private static class Stairs extends PaletteBlockPartial<StairsBlock> { private static class Stairs extends PaletteBlockPartial<StairsBlock> {
@ -100,7 +100,7 @@ public abstract class PaletteBlockPartial<B extends Block> {
@Override @Override
protected void generateBlockState(DataGenContext<Block, StairsBlock> ctx, RegistrateBlockstateProvider prov, protected void generateBlockState(DataGenContext<Block, StairsBlock> ctx, RegistrateBlockstateProvider prov,
String variantName, PaletteBlockPatterns pattern, Supplier<? extends Block> block) { String variantName, PaletteBlockPattern pattern, Supplier<? extends Block> block) {
prov.stairsBlock(ctx.get(), getMainTexture(variantName, pattern)); prov.stairsBlock(ctx.get(), getMainTexture(variantName, pattern));
} }
@ -140,7 +140,7 @@ public abstract class PaletteBlockPartial<B extends Block> {
@Override @Override
protected void generateBlockState(DataGenContext<Block, SlabBlock> ctx, RegistrateBlockstateProvider prov, protected void generateBlockState(DataGenContext<Block, SlabBlock> ctx, RegistrateBlockstateProvider prov,
String variantName, PaletteBlockPatterns pattern, Supplier<? extends Block> block) { String variantName, PaletteBlockPattern pattern, Supplier<? extends Block> block) {
String name = ctx.getName(); String name = ctx.getName();
ResourceLocation mainTexture = getMainTexture(variantName, pattern); ResourceLocation mainTexture = getMainTexture(variantName, pattern);
ResourceLocation sideTexture = ResourceLocation sideTexture =
@ -185,7 +185,7 @@ public abstract class PaletteBlockPartial<B extends Block> {
@Override @Override
protected BlockBuilder<SlabBlock, CreateRegistrate> transformBlock( protected BlockBuilder<SlabBlock, CreateRegistrate> transformBlock(
BlockBuilder<SlabBlock, CreateRegistrate> builder, BlockBuilder<SlabBlock, CreateRegistrate> builder,
String variantName, PaletteBlockPatterns pattern) { String variantName, PaletteBlockPattern pattern) {
builder.loot((lt, block) -> lt.registerLootTable(block, RegistrateBlockLootTables.droppingSlab(block))); builder.loot((lt, block) -> lt.registerLootTable(block, RegistrateBlockLootTables.droppingSlab(block)));
return super.transformBlock(builder, variantName, pattern); return super.transformBlock(builder, variantName, pattern);
} }
@ -206,14 +206,14 @@ public abstract class PaletteBlockPartial<B extends Block> {
@Override @Override
protected ItemBuilder<BlockItem, BlockBuilder<WallBlock, CreateRegistrate>> transformItem( protected ItemBuilder<BlockItem, BlockBuilder<WallBlock, CreateRegistrate>> transformItem(
ItemBuilder<BlockItem, BlockBuilder<WallBlock, CreateRegistrate>> builder, String variantName, ItemBuilder<BlockItem, BlockBuilder<WallBlock, CreateRegistrate>> builder, String variantName,
PaletteBlockPatterns pattern) { PaletteBlockPattern pattern) {
builder.model((c, p) -> p.wallInventory(c.getName(), getMainTexture(variantName, pattern))); builder.model((c, p) -> p.wallInventory(c.getName(), getMainTexture(variantName, pattern)));
return super.transformItem(builder, variantName, pattern); return super.transformItem(builder, variantName, pattern);
} }
@Override @Override
protected void generateBlockState(DataGenContext<Block, WallBlock> ctx, RegistrateBlockstateProvider prov, protected void generateBlockState(DataGenContext<Block, WallBlock> ctx, RegistrateBlockstateProvider prov,
String variantName, PaletteBlockPatterns pattern, Supplier<? extends Block> block) { String variantName, PaletteBlockPattern pattern, Supplier<? extends Block> block) {
prov.wallBlock(ctx.get(), pattern.createName(variantName), getMainTexture(variantName, pattern)); prov.wallBlock(ctx.get(), pattern.createName(variantName), getMainTexture(variantName, pattern));
} }

View file

@ -1,10 +1,10 @@
package com.simibubi.create.content.palettes; package com.simibubi.create.content.palettes;
import static com.simibubi.create.content.palettes.PaletteBlockPartial.AllPartials; import static com.simibubi.create.content.palettes.PaletteBlockPartial.ALL_PARTIALS;
import static com.simibubi.create.content.palettes.PaletteBlockPartial.ForPolished; import static com.simibubi.create.content.palettes.PaletteBlockPartial.FOR_POLISHED;
import static com.simibubi.create.content.palettes.PatternNameType.Prefix; import static com.simibubi.create.content.palettes.PaletteBlockPattern.PatternNameType.PREFIX;
import static com.simibubi.create.content.palettes.PatternNameType.Suffix; import static com.simibubi.create.content.palettes.PaletteBlockPattern.PatternNameType.SUFFIX;
import static com.simibubi.create.content.palettes.PatternNameType.Wrap; import static com.simibubi.create.content.palettes.PaletteBlockPattern.PatternNameType.WRAP;
import java.util.Optional; import java.util.Optional;
import java.util.function.Function; import java.util.function.Function;
@ -28,73 +28,83 @@ import net.minecraft.block.AbstractBlock.Properties;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.RotatedPillarBlock; import net.minecraft.block.RotatedPillarBlock;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.data.CookingRecipeBuilder;
import net.minecraft.data.ShapedRecipeBuilder; import net.minecraft.data.ShapedRecipeBuilder;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.model.generators.ModelFile; import net.minecraftforge.client.model.generators.ModelFile;
public class PaletteBlockPatterns { public class PaletteBlockPattern {
public static final PaletteBlockPatterns public static final PaletteBlockPattern
COBBLESTONE = create("cobblestone", Suffix, AllPartials), COBBLESTONE = create("cobblestone", SUFFIX, ALL_PARTIALS)
.addRecipes(v -> (c, p) -> {
DataIngredient ingredient = DataIngredient.items(c.get());
Block result = v.getBaseBlock().get();
CookingRecipeBuilder.smeltingRecipe(ingredient, result, 0.1f, 200)
.addCriterion("has_" + p.safeName(ingredient), ingredient.getCritereon(p))
.build(p, p.safeId(result));
}),
POLISHED = create("polished", Prefix, ForPolished) POLISHED = create("polished", PREFIX, FOR_POLISHED)
.addRecipes(v -> (c, .addRecipes(v -> (c, p) -> {
p) -> {
DataIngredient ingredient = DataIngredient.items(v.getBaseBlock().get()); DataIngredient ingredient = DataIngredient.items(v.getBaseBlock().get());
ShapedRecipeBuilder.shapedRecipe(c.get(), 4).key('X', ingredient) ShapedRecipeBuilder.shapedRecipe(c.get(), 4)
.patternLine("XX").patternLine("XX") .key('#', ingredient)
.addCriterion("has_" + p.safeName(ingredient), ingredient.getCritereon(p)).build(p, p.safeId(c.get())); .patternLine("##")
} .patternLine("##")
), .addCriterion("has_" + p.safeName(ingredient), ingredient.getCritereon(p))
.build(p, p.safeId(c.get()));
}),
BRICKS = create("bricks", Suffix, AllPartials), FANCY_BRICKS = create("fancy_bricks", Wrap, AllPartials), BRICKS = create("bricks", SUFFIX, ALL_PARTIALS), FANCY_BRICKS = create("fancy_bricks", WRAP, ALL_PARTIALS),
PAVED = create("paved", Prefix, AllPartials).blockStateFactory(p -> p::paved) PAVED = create("paved", PREFIX, ALL_PARTIALS).blockStateFactory(p -> p::paved)
.block(PavedBlock::new) .block(PavedBlock::new)
.textures("paved", "paved_borderless", "paved_top"), .textures("paved", "paved_borderless", "paved_top"),
LAYERED = create("layered", Prefix).blockStateFactory(p -> p::cubeColumn) LAYERED = create("layered", PREFIX).blockStateFactory(p -> p::cubeColumn)
.textures("layered", "polished") .textures("layered", "polished")
.connectedTextures(v -> new HorizontalCTBehaviour(ct(v, CTs.LAYERED), ct(v, CTs.POLISHED))), .connectedTextures(v -> new HorizontalCTBehaviour(ct(v, CTs.LAYERED), ct(v, CTs.POLISHED))),
CHISELED = create("chiseled", Prefix).blockStateFactory(p -> p::cubeColumn) CHISELED = create("chiseled", PREFIX).blockStateFactory(p -> p::cubeColumn)
.textures("chiseled", "chiseled_top"), .textures("chiseled", "chiseled_top"),
PILLAR = create("pillar", Suffix).blockStateFactory(p -> p::pillar) PILLAR = create("pillar", SUFFIX).blockStateFactory(p -> p::pillar)
.block(RotatedPillarBlock::new) .block(RotatedPillarBlock::new)
.textures("pillar", "pillar_end") .textures("pillar", "pillar_end")
.addRecipes(v -> (c, p) -> ShapedRecipeBuilder.shapedRecipe(c.get(), 2) .addRecipes(v -> (c, p) -> {
.key('#', v.getBaseBlock() DataIngredient ingredient = DataIngredient.items(v.getBaseBlock().get());
.get()) ShapedRecipeBuilder.shapedRecipe(c.get(), 2)
.key('#', ingredient)
.patternLine("#") .patternLine("#")
.patternLine("#") .patternLine("#")
.addCriterion("has_ingredient", p.hasItem(v.getBaseBlock() .addCriterion("has_" + p.safeName(ingredient), ingredient.getCritereon(p))
.get())) .build(p, p.safeId(c.get()));
.build(p::accept)), }),
MOSSY = create("mossy", Prefix).blockStateFactory(p -> p::cubeAllButMossy) MOSSY = create("mossy", PREFIX).blockStateFactory(p -> p::cubeAllButMossy)
.textures("bricks", "mossy") .textures("bricks", "mossy")
.useTranslucentLayer() .useTranslucentLayer()
.withFoliage(), .withFoliage(),
OVERGROWN = create("overgrown", Prefix).blockStateFactory(p -> p::cubeAllButMossy) OVERGROWN = create("overgrown", PREFIX).blockStateFactory(p -> p::cubeAllButMossy)
.textures("bricks", "overgrown") .textures("bricks", "overgrown")
.useTranslucentLayer() .useTranslucentLayer()
.withFoliage() .withFoliage()
; ;
public static final PaletteBlockPatterns[] vanillaRange = public static final PaletteBlockPattern[] VANILLA_RANGE =
{ COBBLESTONE, BRICKS, FANCY_BRICKS, PILLAR, PAVED, LAYERED, MOSSY, OVERGROWN }; { COBBLESTONE, BRICKS, FANCY_BRICKS, PILLAR, PAVED, LAYERED, MOSSY, OVERGROWN };
public static final PaletteBlockPatterns[] standardRange = public static final PaletteBlockPattern[] STANDARD_RANGE =
{ COBBLESTONE, POLISHED, BRICKS, FANCY_BRICKS, PILLAR, PAVED, LAYERED, CHISELED, MOSSY, OVERGROWN }; { COBBLESTONE, POLISHED, BRICKS, FANCY_BRICKS, PILLAR, PAVED, LAYERED, CHISELED, MOSSY, OVERGROWN };
static final String textureLocation = "block/palettes/%s/%s"; static final String TEXTURE_LOCATION = "block/palettes/%s/%s";
static final String overlayLocation = "block/palettes/%s"; static final String OVERLAY_LOCATION = "block/palettes/%s";
private PatternNameType nameType; private PatternNameType nameType;
private String[] textures; private String[] textures;
@ -111,9 +121,9 @@ public class PaletteBlockPatterns {
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private RenderType renderType; private RenderType renderType;
private static PaletteBlockPatterns create(String name, PatternNameType nameType, private static PaletteBlockPattern create(String name, PatternNameType nameType,
PaletteBlockPartial<?>... partials) { PaletteBlockPartial<?>... partials) {
PaletteBlockPatterns pattern = new PaletteBlockPatterns(); PaletteBlockPattern pattern = new PaletteBlockPattern();
pattern.id = name; pattern.id = name;
pattern.ctBehaviour = Optional.empty(); pattern.ctBehaviour = Optional.empty();
pattern.nameType = nameType; pattern.nameType = nameType;
@ -163,37 +173,37 @@ public class PaletteBlockPatterns {
// Builder // Builder
private PaletteBlockPatterns blockStateFactory(IPatternBlockStateGenerator factory) { private PaletteBlockPattern blockStateFactory(IPatternBlockStateGenerator factory) {
blockStateGenerator = factory; blockStateGenerator = factory;
return this; return this;
} }
private PaletteBlockPatterns textures(String... textures) { private PaletteBlockPattern textures(String... textures) {
this.textures = textures; this.textures = textures;
return this; return this;
} }
private PaletteBlockPatterns block(NonNullFunction<Properties, ? extends Block> blockFactory) { private PaletteBlockPattern block(NonNullFunction<Properties, ? extends Block> blockFactory) {
this.blockFactory = blockFactory; this.blockFactory = blockFactory;
return this; return this;
} }
private PaletteBlockPatterns useTranslucentLayer() { private PaletteBlockPattern useTranslucentLayer() {
isTranslucent = true; isTranslucent = true;
return this; return this;
} }
private PaletteBlockPatterns withFoliage() { private PaletteBlockPattern withFoliage() {
hasFoliage = true; hasFoliage = true;
return this; return this;
} }
private PaletteBlockPatterns connectedTextures(Function<PaletteStoneVariants, ConnectedTextureBehaviour> factory) { private PaletteBlockPattern connectedTextures(Function<PaletteStoneVariants, ConnectedTextureBehaviour> factory) {
this.ctBehaviour = Optional.of(factory); this.ctBehaviour = Optional.of(factory);
return this; return this;
} }
private PaletteBlockPatterns addRecipes( private PaletteBlockPattern addRecipes(
NonNullFunction<PaletteStoneVariants, NonNullBiConsumer<DataGenContext<Block, ? extends Block>, RegistrateRecipeProvider>> func) { NonNullFunction<PaletteStoneVariants, NonNullBiConsumer<DataGenContext<Block, ? extends Block>, RegistrateRecipeProvider>> func) {
this.additionalRecipes = func; this.additionalRecipes = func;
return this; return this;
@ -251,7 +261,7 @@ public class PaletteBlockPatterns {
// Utility // Utility
protected String createName(String variant) { protected String createName(String variant) {
if (nameType == Wrap) { if (nameType == WRAP) {
String[] split = id.split("_"); String[] split = id.split("_");
if (split.length == 2) { if (split.length == 2) {
String formatString = "%s_%s_%s"; String formatString = "%s_%s_%s";
@ -259,15 +269,15 @@ public class PaletteBlockPatterns {
} }
} }
String formatString = "%s_%s"; String formatString = "%s_%s";
return nameType == Suffix ? String.format(formatString, variant, id) : String.format(formatString, id, variant); return nameType == SUFFIX ? String.format(formatString, variant, id) : String.format(formatString, id, variant);
} }
protected ResourceLocation toLocation(String variant, String texture) { protected ResourceLocation toLocation(String variant, String texture) {
return Create.asResource(String.format(textureLocation, variant, texture)); return Create.asResource(String.format(TEXTURE_LOCATION, variant, texture));
} }
protected ResourceLocation toOverlayLocation(String texture) { protected ResourceLocation toOverlayLocation(String texture) {
return Create.asResource(String.format(overlayLocation, texture)); return Create.asResource(String.format(OVERLAY_LOCATION, texture));
} }
protected static CTSpriteShiftEntry ct(PaletteStoneVariants variant, CTs texture) { protected static CTSpriteShiftEntry ct(PaletteStoneVariants variant, CTs texture) {
@ -276,7 +286,7 @@ public class PaletteBlockPatterns {
@FunctionalInterface @FunctionalInterface
static interface IPatternBlockStateGenerator static interface IPatternBlockStateGenerator
extends Function<PaletteBlockPatterns, Function<String, IBlockStateProvider>> { extends Function<PaletteBlockPattern, Function<String, IBlockStateProvider>> {
} }
@FunctionalInterface @FunctionalInterface
@ -284,6 +294,10 @@ public class PaletteBlockPatterns {
extends NonNullBiConsumer<DataGenContext<Block, ? extends Block>, RegistrateBlockstateProvider> { extends NonNullBiConsumer<DataGenContext<Block, ? extends Block>, RegistrateBlockstateProvider> {
} }
enum PatternNameType {
PREFIX, SUFFIX, WRAP
}
// Textures with connectability, used by Spriteshifter // Textures with connectability, used by Spriteshifter
public static enum CTs { public static enum CTs {

View file

@ -7,26 +7,32 @@ import net.minecraft.block.Blocks;
public enum PaletteStoneVariants { public enum PaletteStoneVariants {
GRANITE(() -> () -> Blocks.GRANITE), GRANITE(() -> () -> Blocks.GRANITE, () -> AllPaletteBlocks.GRANITE_VARIANTS),
DIORITE(() -> () -> Blocks.DIORITE), DIORITE(() -> () -> Blocks.DIORITE, () -> AllPaletteBlocks.DIORITE_VARIANTS),
ANDESITE(() -> () -> Blocks.ANDESITE), ANDESITE(() -> () -> Blocks.ANDESITE, () -> AllPaletteBlocks.ANDESITE_VARIANTS),
LIMESTONE(() -> AllPaletteBlocks.LIMESTONE), LIMESTONE(() -> AllPaletteBlocks.LIMESTONE, () -> AllPaletteBlocks.LIMESTONE_VARIANTS),
WEATHERED_LIMESTONE(() -> AllPaletteBlocks.WEATHERED_LIMESTONE), WEATHERED_LIMESTONE(() -> AllPaletteBlocks.WEATHERED_LIMESTONE, () -> AllPaletteBlocks.WEATHERED_LIMESTONE_VARIANTS),
DOLOMITE(() -> AllPaletteBlocks.DOLOMITE), DOLOMITE(() -> AllPaletteBlocks.DOLOMITE, () -> AllPaletteBlocks.DOLOMITE_VARIANTS),
GABBRO(() -> AllPaletteBlocks.GABBRO), GABBRO(() -> AllPaletteBlocks.GABBRO, () -> AllPaletteBlocks.GABBRO_VARIANTS),
SCORIA(() -> AllPaletteBlocks.SCORIA), SCORIA(() -> AllPaletteBlocks.SCORIA, () -> AllPaletteBlocks.SCORIA_VARIANTS),
DARK_SCORIA(() -> AllPaletteBlocks.DARK_SCORIA) DARK_SCORIA(() -> AllPaletteBlocks.DARK_SCORIA, () -> AllPaletteBlocks.DARK_SCORIA_VARIANTS)
; ;
private Supplier<Supplier<Block>> baseBlock; private Supplier<Supplier<Block>> baseBlock;
private Supplier<PalettesVariantEntry> variants;
private PaletteStoneVariants(Supplier<Supplier<Block>> baseBlock) { private PaletteStoneVariants(Supplier<Supplier<Block>> baseBlock, Supplier<PalettesVariantEntry> variants) {
this.baseBlock = baseBlock; this.baseBlock = baseBlock;
this.variants = variants;
} }
public Supplier<Block> getBaseBlock() { public Supplier<Block> getBaseBlock() {
return baseBlock.get(); return baseBlock.get();
} }
public PalettesVariantEntry getVariants() {
return variants.get();
}
} }

View file

@ -21,14 +21,13 @@ public class PalettesVariantEntry {
public ImmutableList<BlockEntry<? extends Block>> registeredBlocks; public ImmutableList<BlockEntry<? extends Block>> registeredBlocks;
public ImmutableList<BlockEntry<? extends Block>> registeredPartials; public ImmutableList<BlockEntry<? extends Block>> registeredPartials;
public PalettesVariantEntry(PaletteStoneVariants variant, PaletteBlockPatterns[] patterns, public PalettesVariantEntry(PaletteStoneVariants variant, PaletteBlockPattern[] patterns,
NonNullSupplier<? extends Block> initialProperties) { NonNullSupplier<? extends Block> initialProperties) {
String name = Lang.asId(variant.name()); String name = Lang.asId(variant.name());
ImmutableList.Builder<BlockEntry<? extends Block>> registeredBlocks = ImmutableList.builder(); ImmutableList.Builder<BlockEntry<? extends Block>> registeredBlocks = ImmutableList.builder();
ImmutableList.Builder<BlockEntry<? extends Block>> registeredPartials = ImmutableList.builder(); ImmutableList.Builder<BlockEntry<? extends Block>> registeredPartials = ImmutableList.builder();
for (PaletteBlockPatterns pattern : patterns) {
for (PaletteBlockPattern pattern : patterns) {
CreateRegistrate registrate = Create.registrate(); CreateRegistrate registrate = Create.registrate();
BlockBuilder<? extends Block, CreateRegistrate> builder = BlockBuilder<? extends Block, CreateRegistrate> builder =
registrate.block(pattern.createName(name), pattern.getBlockFactory()) registrate.block(pattern.createName(name), pattern.getBlockFactory())
@ -39,7 +38,7 @@ public class PalettesVariantEntry {
if (pattern.isTranslucent()) if (pattern.isTranslucent())
builder.addLayer(() -> RenderType::getTranslucent); builder.addLayer(() -> RenderType::getTranslucent);
if (pattern == PaletteBlockPatterns.COBBLESTONE) if (pattern == PaletteBlockPattern.COBBLESTONE)
builder.item().tag(AllTags.AllItemTags.COBBLESTONE.tag); builder.item().tag(AllTags.AllItemTags.COBBLESTONE.tag);
if (pattern.hasFoliage()) if (pattern.hasFoliage())
builder.onRegister(CreateRegistrate.blockColors(() -> AllColorHandlers::getGrassyBlock)); builder.onRegister(CreateRegistrate.blockColors(() -> AllColorHandlers::getGrassyBlock));
@ -65,11 +64,10 @@ public class PalettesVariantEntry {
for (PaletteBlockPartial<? extends Block> partialBlock : pattern.getPartials()) for (PaletteBlockPartial<? extends Block> partialBlock : pattern.getPartials())
registeredPartials.add(partialBlock.create(name, pattern, block) registeredPartials.add(partialBlock.create(name, pattern, block)
.register()); .register());
} }
this.registeredBlocks = registeredBlocks.build(); this.registeredBlocks = registeredBlocks.build();
this.registeredPartials = registeredPartials.build(); this.registeredPartials = registeredPartials.build();
} }
} }

View file

@ -1,5 +0,0 @@
package com.simibubi.create.content.palettes;
enum PatternNameType {
Prefix, Suffix, Wrap
}