Merge branch 'mc1.18/0.5.1-copycat-variants' into mc1.18/0.5.1-repolish

This commit is contained in:
simibubi 2023-02-25 03:59:41 +01:00
commit f6f501812e
79 changed files with 1449 additions and 107 deletions

View File

@ -3,6 +3,7 @@ f0d6baaabda94151134f569246d61a6e710c35a9 assets/create/blockstates/acacia_window
6b70306397316d6ebfa1cb07f2308d5c7fce83e0 assets/create/blockstates/adjustable_chain_gearshift.json
9dd79bf5430f674e7d3e3fc7d59edee3d66e241e assets/create/blockstates/analog_lever.json
a891d5abbc133288a9ad377b3ea9adad8ee92972 assets/create/blockstates/andesite_alloy_block.json
951d67fc41af364e333babf649e1a04beea6226a assets/create/blockstates/andesite_bars.json
47cb4f4629277b467263bd54a44dec45837eb719 assets/create/blockstates/andesite_belt_funnel.json
9999a75c7766781eadb12510a09264600bc846e4 assets/create/blockstates/andesite_casing.json
96bd534d3d84336927fb6512f9848d837d557084 assets/create/blockstates/andesite_encased_cogwheel.json
@ -30,6 +31,7 @@ ec2ab87734acc209e6be3bc4898b1199f819bfd3 assets/create/blockstates/blue_sail.jso
4854d1ef52130a7887aecc60bcaffbd66f0871a8 assets/create/blockstates/blue_seat.json
dea175335c5db0abe758cd208dc984c22506a176 assets/create/blockstates/blue_toolbox.json
f3697a7d105e5d271f5999b86df071fe5893457c assets/create/blockstates/blue_valve_handle.json
73648bfbc15c536613ca92fb675c17243d9f4f44 assets/create/blockstates/brass_bars.json
4b436e4afa3b1734567010788064fee73f69c92e assets/create/blockstates/brass_belt_funnel.json
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json
b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json
@ -57,6 +59,7 @@ e5e3757e99c139d67b2a70288466d8a74d818841 assets/create/blockstates/cogwheel.json
7d11142092c89ccba3e74e0a3bdd0ccb446d63b5 assets/create/blockstates/controller_rail.json
80d71365995d4c2a61dd1c15e99cae18551af6e8 assets/create/blockstates/controls.json
961b615124ea9a5a5735e8a79f81a702de7da2cf assets/create/blockstates/copper_backtank.json
977c993fbcebf7d321eaa6840f179f6c9a155148 assets/create/blockstates/copper_bars.json
cabf6b8c59eb0e3d56a0a5a856ca058bb3200882 assets/create/blockstates/copper_casing.json
a54d18937f8ce000f7ed0dc627d6d3414805006a assets/create/blockstates/copper_ladder.json
9d264bda40584003a183c386264117829279d21b assets/create/blockstates/copper_scaffolding.json
@ -67,6 +70,7 @@ a87097f3a092264d9b74966ee9e3bcfc0b743f80 assets/create/blockstates/copper_tile_s
1cc9cdcd48ea76fe3407dce0973220ff9f63f51a assets/create/blockstates/copper_tile_stairs.json
cbae7653d6a6f2d98370e9a4a3bd91fdb529f89d assets/create/blockstates/copper_tiles.json
543af282e2cb44f00509d850814b4501f3491d48 assets/create/blockstates/copper_valve_handle.json
ce4968cbe65f267c27902372075265c5cdd1b285 assets/create/blockstates/copycat_bars.json
22a91cc73d6b492dddd9354693b873701fb82c01 assets/create/blockstates/copycat_base.json
f4d185b9eb086e5024a9818bad57d524267d6e13 assets/create/blockstates/copycat_panel.json
f4d185b9eb086e5024a9818bad57d524267d6e13 assets/create/blockstates/copycat_step.json
@ -572,8 +576,8 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo
5616dda664dd106d576848124fc0fc1de18d0fd3 assets/create/blockstates/yellow_valve_handle.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
f7ccfdfb562774ed479b0eb4428b01c9370a0e82 assets/create/lang/en_ud.json
95b45943acc80d5269a1659d826c9037e85cf8a3 assets/create/lang/en_us.json
30815cc68ddf59924be78b1c37a0e374fafe552a assets/create/lang/en_ud.json
c1aabd0f4dfd58bbbb2618a367fc9b6b02bfb1b6 assets/create/lang/en_us.json
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
@ -599,6 +603,8 @@ eddf206f5fffbf9446461538da9fea70f5d22f0e assets/create/models/block/andesite_bel
31784901768ebb9322a101710c5b6c16e7185271 assets/create/models/block/andesite_belt_funnel_pushing_unpowered.json
574ece0c5d1877a07e46f0d86add876bf002541f assets/create/models/block/andesite_belt_funnel_retracted_powered.json
2ea98218be00eea0f8b58072f970b4a2d096306d assets/create/models/block/andesite_belt_funnel_retracted_unpowered.json
8d53939d0e5fbeaace7800ac055719fd24b8314f assets/create/models/block/andesite_cap.json
d497453840a05b0b958890676b819215f3a118b3 assets/create/models/block/andesite_cap_alt.json
4e44ccdc5e396c4380a7e59408db50553fa25226 assets/create/models/block/andesite_casing.json
762509cfb8602c6d0d3f959c08ad4934c2b5d8fa assets/create/models/block/andesite_encased_cogwheel.json
314489582d1cde98bc5e4fd4d2f0c9ab3cb731d3 assets/create/models/block/andesite_encased_cogwheel_bottom.json
@ -619,8 +625,12 @@ eeb2637590e8af1342c5494dea7faab0490f2f3e assets/create/models/block/andesite_fun
ee665cf464ead6135de3f60c7e2ac475af6496d7 assets/create/models/block/andesite_ladder.json
882871d4cd7b4925f300c09d00ba58785b27119e assets/create/models/block/andesite_pillar.json
587491f19767bd682bbef00eaa890d4b8a320b7a assets/create/models/block/andesite_pillar_horizontal.json
6ccd8722c9bc906833020b106f5f05f51bfcd098 assets/create/models/block/andesite_scaffolding.json
176b7678d27cccc7cbd2946e65cbf80804260860 assets/create/models/block/andesite_scaffolding_horizontal.json
3d5bce20c58e7503b3868edac97f32556ccd1b6f assets/create/models/block/andesite_post.json
722e1e40ca4153887d57c9c90d70d94dd87a0bc1 assets/create/models/block/andesite_post_ends.json
23dc81d6e683b0fd8c1dedcfdb8a4aa04f99b3a0 assets/create/models/block/andesite_scaffolding.json
9634056c616296a8106350dc40222e904688585d assets/create/models/block/andesite_scaffolding_horizontal.json
677d75755bc1fba56823292b2abe03a495ba2910 assets/create/models/block/andesite_side.json
419288e05242def13d58c1a8174673c33732b4a5 assets/create/models/block/andesite_side_alt.json
7b2e3b7e9d72286b202bb38ab6e4d69465365d47 assets/create/models/block/asurine.json
a9167990e3f894f92a9de24c8b77d040b1c1ff0a assets/create/models/block/asurine_pillar.json
e40c3a7e6f7b895770f544d79536c744d18c462f assets/create/models/block/asurine_pillar_horizontal.json
@ -661,6 +671,8 @@ f0a9b05c69e67aa61b88f6db5d818ae191b3aad5 assets/create/models/block/brass_belt_f
e0958b94c40e4aabbcbabd70be8a368eb877dcf9 assets/create/models/block/brass_belt_funnel_retracted_powered.json
5715303e539e6005a347480e52db2c7e6676c716 assets/create/models/block/brass_belt_funnel_retracted_unpowered.json
2b1ca994d2feec8321fdb0388028c20d40326eb7 assets/create/models/block/brass_block.json
a094db3862d765e185c4849ce0a50967ee95d7c1 assets/create/models/block/brass_cap.json
2dbb68d4917cac90fd6fe05abf5f7432288fdbed assets/create/models/block/brass_cap_alt.json
2e67c147d7c69aabd9ab9f7aa80f60671d5a03aa assets/create/models/block/brass_casing.json
8cb0039684377c27a7fe20bdcacf24f871221478 assets/create/models/block/brass_encased_cogwheel.json
c735917634c87b3d289bd912c7ceb465a3cc65b6 assets/create/models/block/brass_encased_cogwheel_bottom.json
@ -679,8 +691,12 @@ c76668b6b61a3f81a08a1eadaa34fa8bfe68f912 assets/create/models/block/brass_funnel
2d78db12acd90364658b36e8fe7dee7f24ea361b assets/create/models/block/brass_funnel_vertical_push_powered.json
aa81eeb9771e59173ecf635f7c5334ac64c83b6d assets/create/models/block/brass_funnel_vertical_push_unpowered.json
5620cf6b033dbfb3c43d03ddad18c432eb821997 assets/create/models/block/brass_ladder.json
f0a497faabf5a299ce6f9870be376a2e6e3cb2e2 assets/create/models/block/brass_scaffolding.json
09bb5aede02fd4cd2ae2bb97d95585c4783ace91 assets/create/models/block/brass_scaffolding_horizontal.json
74d090cda85c793c285c028537c396a074366b9f assets/create/models/block/brass_post.json
7e49c7ecf886d031f33a6fe748200e07099d7c9f assets/create/models/block/brass_post_ends.json
de296beb1a8f1d51f2533e166800c65d69a8b091 assets/create/models/block/brass_scaffolding.json
a276726447e4c22a259d224f8124ea863cb36b3c assets/create/models/block/brass_scaffolding_horizontal.json
9ad24eae18506bf66c893fcb99ca15c9f50b7e58 assets/create/models/block/brass_side.json
63c93da138d7787b415cb5459975cc2a220e2c1d assets/create/models/block/brass_side_alt.json
71cd22dc2d847d317f19afb4b21802fbf5347e0b assets/create/models/block/brown_nixie_tube.json
8ab097caaa0db0915ae9254f7d65092d9171bc60 assets/create/models/block/brown_sail.json
4eed0ad902f5e84f2b6c160f3283e8028640e77d assets/create/models/block/brown_seat.json
@ -690,16 +706,22 @@ f0a497faabf5a299ce6f9870be376a2e6e3cb2e2 assets/create/models/block/brass_scaffo
c4d1e1b6e195c0b71c0b96546978cd24c4a4bfc4 assets/create/models/block/calcite_pillar_horizontal.json
4156227e18c0896ce83f260f71b939abbbf4f01e assets/create/models/block/chocolate.json
30fe120af3cb32faf0729df4d2cdf868f804be17 assets/create/models/block/clockwork_bearing.json
4db08101a5d03303506e89adc9ff394ed26cd2e6 assets/create/models/block/copper_cap.json
06447f3c1e3f6d53d3887cedc20c322b146bdb1f assets/create/models/block/copper_cap_alt.json
1f01a4b6608f75145734b60ddf4a33ce318425ff assets/create/models/block/copper_casing.json
c53dacdeb2e5c51de0706d87ad2d2c02a0d004b0 assets/create/models/block/copper_ladder.json
a0fc15ead840ddf3c69edffadd38f89fe04abb9b assets/create/models/block/copper_scaffolding.json
aa909e609e3863f4deac512f8b0a013e19a52a12 assets/create/models/block/copper_scaffolding_horizontal.json
6a6ac93ba3ba00319d0c22c858e414a9bdfcd748 assets/create/models/block/copper_post.json
ceb03be484c0cf8e754ea39faab0834d820a5c6b assets/create/models/block/copper_post_ends.json
4d35570ae6b228528656f95faebb227dfbad1a1e assets/create/models/block/copper_scaffolding.json
fa60214501fd2e5007672ec3af5db1f20878f5b5 assets/create/models/block/copper_scaffolding_horizontal.json
9967651b9323174836a3179f088fa1dd7518270d assets/create/models/block/copper_shingle_slab.json
a8b28ae828c1e092bf499dd1fbeb9b19c40e3206 assets/create/models/block/copper_shingle_slab_top.json
e577cb469c8adfb3fed81232419393611665a5f6 assets/create/models/block/copper_shingle_stairs.json
ed9e72e163883a784cee42157701955f30831fbf assets/create/models/block/copper_shingle_stairs_inner.json
8ae100e7aa52c0e5baa3685974258e4e070242bb assets/create/models/block/copper_shingle_stairs_outer.json
d4cb771acc143cb4361270db0025ca92864434cd assets/create/models/block/copper_shingles.json
1169b17185f0a564f6e08a71617cec62687d2487 assets/create/models/block/copper_side.json
667d98fdb2dc43067bc2591f0ae26e4d17c758ff assets/create/models/block/copper_side_alt.json
8a10c93a3fc2d7bc7019a47a9fa89711bdd9232e assets/create/models/block/copper_tile_slab.json
92c7cb2584fe0b1071eeafca2abb3f4d9143c330 assets/create/models/block/copper_tile_slab_top.json
5ae6a5c2d7ab022a7df376d54c06316a9da77314 assets/create/models/block/copper_tile_stairs.json
@ -1631,6 +1653,7 @@ c695dab3964186a857767b2b4975aebffa86dcf9 assets/create/models/item/acacia_window
e7759d9b3cd64d2719a58dc35fc75ca65b9e14fa assets/create/models/item/analog_lever.json
2e90c7abfcad12ca656ae253d834fbb799e15277 assets/create/models/item/andesite_alloy.json
2e7cf267efb66404721ac8bf08802de0eb134159 assets/create/models/item/andesite_alloy_block.json
946756a1a498ccd2e61b33ef317c5ec9e30afebf assets/create/models/item/andesite_bars.json
174c9705d25f149052835fdcf7c85626afead90b assets/create/models/item/andesite_casing.json
420020284d01c72a7fb3387750fe1dd2dcfb9550 assets/create/models/item/andesite_encased_cogwheel.json
6e246e91b4ebffd5c45311057feb5d26d1cb8aec assets/create/models/item/andesite_encased_large_cogwheel.json
@ -1656,6 +1679,7 @@ d537fffaede521efa525fb2a7f9863fe6a80054e assets/create/models/item/birch_window_
0e1977585128fc0ecef640f72e5fc5e9fb47ef92 assets/create/models/item/blue_seat.json
c637be1586260cf91e6da57c71c33f4515008227 assets/create/models/item/blue_toolbox.json
bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json
5afa91abed387b3dfa39c39c7feae5f8f02a4bd9 assets/create/models/item/brass_bars.json
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json
099179a466a2f370dd2c4fea0d841517fa3a558b assets/create/models/item/brass_encased_cogwheel.json
@ -1689,6 +1713,7 @@ f5f1ad973341f8bebc474d5e65ff877ac6303b0d assets/create/models/item/contraption_c
9a93b3ccef02cd0abd8106edec954dc0f2269229 assets/create/models/item/controls.json
10397036fc0bb1e18a767cfd7b19b10d805a83fe assets/create/models/item/copper_backtank.json
3652f8f7b454940050f090ab32d38e04b93e14f8 assets/create/models/item/copper_backtank_placeable.json
bd476beac53d01a51d9690e6069de4033f02d6b8 assets/create/models/item/copper_bars.json
759bcb5fe7dfdd628716f9b4ff19a5ab00393381 assets/create/models/item/copper_casing.json
16182c4c32b11b370cf5b1116250cf3dda838954 assets/create/models/item/copper_diving_boots.json
dc517e70cee9c5d74edfedd49ac43a67fe258c1b assets/create/models/item/copper_diving_helmet.json
@ -2324,11 +2349,16 @@ cbe6b6d0eb188a8c0600b54cee860116d305e905 data/create/advancements/recipes/buildi
34ceb3033f5f41a5fdffeea0a3adead36748f65a data/create/advancements/recipes/building_blocks/smelting/nickel_ingot_compat_thermal.json
edb22e0bb018cf00e51f37d912939207c4bf5ac5 data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_thermal.json
f10041d864bfb1e6f017e442ae85ee9503b3f5a4 data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_thermal.json
d7d55d04aba6492690df1c68b75d457b0b537d2f data/create/advancements/recipes/create.base/andesite_bars_from_andesite_alloy_stonecutting.json
60608f8fff394857b8b7d3b1478b847fd20160f4 data/create/advancements/recipes/create.base/andesite_ladder_from_andesite_alloy_stonecutting.json
bc9aa565038013430adacea933fc32443e7fcdc8 data/create/advancements/recipes/create.base/andesite_scaffolding_from_andesite_alloy_stonecutting.json
ba80332510acab3f60f30d8b802ee2d450fd51b9 data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_crushed.json
4bb60ef5e186f12a9d52e61319db8c78300c64ab data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_ore.json
00ff89f208cb9023d7a2657c43d267e21755fb2e data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_raw_ore.json
ac987d22204c01642cbda1c8e3d81604741ff777 data/create/advancements/recipes/create.base/brass_bars_from_plates_brass_stonecutting.json
13ce2dba955de3b6b943fa406e3dde6863093820 data/create/advancements/recipes/create.base/brass_ladder_from_plates_brass_stonecutting.json
a039d4cb73eb870adcf0c0faa49ef89306ffc139 data/create/advancements/recipes/create.base/brass_scaffolding_from_plates_brass_stonecutting.json
d5b34cd969809370372860507c3efd3b6eac321e data/create/advancements/recipes/create.base/copper_bars_from_plates_copper_stonecutting.json
1dea56b4759da676f0edf0878ec834a4129d110b data/create/advancements/recipes/create.base/copper_ladder_from_plates_copper_stonecutting.json
9a082358daa8a0e5b91065e6fe38665f76d246b3 data/create/advancements/recipes/create.base/copper_scaffolding_from_plates_copper_stonecutting.json
19b18800dfc55508e250ebb87fbaa70510736834 data/create/advancements/recipes/create.base/copper_shingle_slab.json
@ -2377,7 +2407,6 @@ bb138bedd2aec741fa54b6b52be384fdbd741249 data/create/advancements/recipes/create
a8c72e7e02fd0843d33fa4c5d43de81f29bc3aa4 data/create/advancements/recipes/create.base/crafting/curiosities/peculiar_bell.json
5a6613ff9c493c02f70b54d6dd162948002d533b data/create/advancements/recipes/create.base/crafting/kinetics/adjustable_chain_gearshift.json
1eed818673d57a9e9c28e90a2d87b97c28f85784 data/create/advancements/recipes/create.base/crafting/kinetics/analog_lever.json
0c84fb9afd00efcdbfbee8fab7894742a723ef2b data/create/advancements/recipes/create.base/crafting/kinetics/andesite_ladder.json
3e9753006da898d4569bbeabf95997e8c90847c8 data/create/advancements/recipes/create.base/crafting/kinetics/attribute_filter.json
08b21b30437a1c6e7ba61b137f17aabb6c24acab data/create/advancements/recipes/create.base/crafting/kinetics/basin.json
de5160b4c1813b62ecc0c1955085da13f1c74d88 data/create/advancements/recipes/create.base/crafting/kinetics/belt_connector.json
@ -3404,6 +3433,7 @@ f92b20e0ae4c8808479df3553203c1b5e334cfe3 data/create/advancements/windmill.json
c5c0b82ab3bcd7ffd1bcb65d00876aaba69363f9 data/create/loot_tables/blocks/adjustable_chain_gearshift.json
a4716789704bb30cf1c518b04c61661ba6289efa data/create/loot_tables/blocks/analog_lever.json
03eadc2a4695b505e92c1a688dc7af619fd364c0 data/create/loot_tables/blocks/andesite_alloy_block.json
bda9c999d5f4313fa1f22b3034a359f2d7947d64 data/create/loot_tables/blocks/andesite_bars.json
468759c042e8410da9230357f4b602766190df79 data/create/loot_tables/blocks/andesite_belt_funnel.json
f9b768b3b9bbddede80912f1319e7b290cd90f20 data/create/loot_tables/blocks/andesite_casing.json
982a41e1bccd9a130a2874aff995d4f7da0f0316 data/create/loot_tables/blocks/andesite_encased_cogwheel.json
@ -3431,6 +3461,7 @@ be99e48382ef8ccfb94c227c4dec7b627b4128e7 data/create/loot_tables/blocks/blue_sai
d9ac8bc87a48f7deae99440f10c361f46853951e data/create/loot_tables/blocks/blue_seat.json
0e06e0aee6b00090905b1455989ed585dc22d024 data/create/loot_tables/blocks/blue_toolbox.json
f5709ddd387ac4634244f5d002122fc4e62644e2 data/create/loot_tables/blocks/blue_valve_handle.json
4d3c7a2d56fcc46e6dd86b74f1e8c918153b4d7d data/create/loot_tables/blocks/brass_bars.json
fae7b622f27b426b1d3e6f31cd0157aff672a42d data/create/loot_tables/blocks/brass_belt_funnel.json
e8535a9acc565e8d80fa4c15f0ef6c4ffd842856 data/create/loot_tables/blocks/brass_block.json
a2d433dcfe44c9a3c1b5dd16415a2f31edbe309d data/create/loot_tables/blocks/brass_casing.json
@ -3457,6 +3488,7 @@ c2b075008849e152f20e8da946e89c9722325df6 data/create/loot_tables/blocks/content_
28856dc862efc6bcc421d035d26386740458f868 data/create/loot_tables/blocks/controller_rail.json
2c2785e39e1891dff2c50cba93e814b56d935154 data/create/loot_tables/blocks/controls.json
3abf04f6132955275ad490668cd28f481afb4ec2 data/create/loot_tables/blocks/copper_backtank.json
6697e619d5c6dcb81aad4f5c88ba319d13665b35 data/create/loot_tables/blocks/copper_bars.json
8010db6b2427536c74312c85425b3ba83abc363c data/create/loot_tables/blocks/copper_casing.json
bb51540df81ea359cdc9d8a4d08ba6410ecd4919 data/create/loot_tables/blocks/copper_ladder.json
ac80fa6b1d968ddab6c3bf187a99a4cf24f30710 data/create/loot_tables/blocks/copper_scaffolding.json
@ -3467,6 +3499,7 @@ dccfbda7fd3a7a75c323dea619d8d309ae980469 data/create/loot_tables/blocks/copper_s
8abac40a29800a0ca18c50ec8ce346cad15ad47a data/create/loot_tables/blocks/copper_tile_stairs.json
3eddbc442b37ba3bb309eaf26c2f4ad06de40df7 data/create/loot_tables/blocks/copper_tiles.json
6430f776846393ab6d70d23faeccb3e353c66129 data/create/loot_tables/blocks/copper_valve_handle.json
5c1df8443043b3fe3b665dba348e2ff188bcbe31 data/create/loot_tables/blocks/copycat_bars.json
5c1df8443043b3fe3b665dba348e2ff188bcbe31 data/create/loot_tables/blocks/copycat_base.json
565441b809ded4218e69abd88bf26abee763ca08 data/create/loot_tables/blocks/copycat_panel.json
3f3df2ffc1efb1492a2a42c1eff14e5cad06b6f5 data/create/loot_tables/blocks/copycat_step.json
@ -3972,8 +4005,11 @@ efb30e3d24a700cf35b29406ee0b5d5021545d51 data/create/loot_tables/blocks/zinc_blo
d54859b2eb9c8c06aca8a8484bc65c8e4e0bb80a data/create/loot_tables/blocks/zinc_ore.json
b65bac8bc2fbfd476040c1aab1c0588b8bd59ebe data/create/recipes/acacia_window.json
35b4da9c14da60584c32e959efc2223f64bb3ec2 data/create/recipes/acacia_window_pane.json
0616eda1784861b126017ff4617ede287ffe7c7c data/create/recipes/andesite_bars_from_andesite_alloy_stonecutting.json
388a7df4c6562e35ac0280bff786226e37f0ae45 data/create/recipes/andesite_ladder_from_andesite_alloy_stonecutting.json
dcdad7a04838ef202b42f84a15243e3d2472b14e data/create/recipes/andesite_pillar_from_andesite_stonecutting.json
b1f2f8a0f78bcd856e0352d88b6392ca6d5ed74f data/create/recipes/andesite_pillar_from_stone_types_andesite_stonecutting.json
70880972e63cf9953d2c9de0492f2f2c288c5a90 data/create/recipes/andesite_scaffolding_from_andesite_alloy_stonecutting.json
a30aa616e2b62c848dd194e319a90bf7ba3db81b data/create/recipes/asurine_pillar_from_asurine_stonecutting.json
a133d4d2542c0b9309873d06a72e7efff4cee219 data/create/recipes/asurine_pillar_from_stone_types_asurine_stonecutting.json
2b291b77860254b7ba8500cf2199a04ca1fca7b5 data/create/recipes/birch_window.json
@ -3997,6 +4033,7 @@ c49e88f38ad624a56865bb293e2b81da09ebdf37 data/create/recipes/blasting/silver_ing
70b58fa5ee4ca088f5cd9d4bce2853b1bbf98780 data/create/recipes/blasting/zinc_ingot_from_crushed.json
3b1f91669d1133bb41f2d8e129d885465cb5b30e data/create/recipes/blasting/zinc_ingot_from_ore.json
2dff1a64b2c9974b768f4861ad90a9a110bdd021 data/create/recipes/blasting/zinc_ingot_from_raw_ore.json
b8364d0d29da881dce531f053b386f2a2dd63f01 data/create/recipes/brass_bars_from_plates_brass_stonecutting.json
25af3c80132496b17d71800a43538bc34812efa3 data/create/recipes/brass_ladder_from_plates_brass_stonecutting.json
50481685e206e4cbe20e3eb7d5a9819fcaa6da0f data/create/recipes/brass_scaffolding_from_plates_brass_stonecutting.json
89cc3710a1925239030329b151f9764901a647e5 data/create/recipes/calcite_pillar_from_calcite_stonecutting.json
@ -4008,6 +4045,7 @@ f7879d404d7a848d818278b4e788f285a9087e63 data/create/recipes/compacting/blaze_ca
ac91109efa5a253f54257904190b80a400ec6d0c data/create/recipes/compacting/diorite_from_flint.json
7657603e95ccf83dd0d4b104635db66e531d092a data/create/recipes/compacting/granite_from_flint.json
739a1d004c4be50cda2d706a64b797f66c3ca9c8 data/create/recipes/compacting/honey.json
a079cf471ed223bdec738b4c1c7d5bedbaf6db1e data/create/recipes/copper_bars_from_plates_copper_stonecutting.json
72ae29ce953c855eb52fa48e8dbde566574a45f6 data/create/recipes/copper_ladder_from_plates_copper_stonecutting.json
1be9a5dc5c6b039da6500719e9327f8528baed88 data/create/recipes/copper_scaffolding_from_plates_copper_stonecutting.json
1a03af7f858946c395cc05714dd4d0a02206d2d4 data/create/recipes/copper_shingle_slab.json
@ -4059,7 +4097,6 @@ ab875f89a22504f3d3fd6ee2aa004d5f0082f169 data/create/recipes/crafting/curiositie
07b3ca3a3e44ee1f76c69132ffa6556e027e5b0e data/create/recipes/crafting/curiosities/toolbox_dyeing.json
4e9630bad12e6879ae7357ce7c8d455dddded9a4 data/create/recipes/crafting/kinetics/adjustable_chain_gearshift.json
88de51b451469698665b7319e5b9cfb9a87ae3e0 data/create/recipes/crafting/kinetics/analog_lever.json
8dc42e21f4d45dee83645b0cc96543bbe0ea4472 data/create/recipes/crafting/kinetics/andesite_ladder.json
cf1f3a6306d47025cebe153cf05949ef69ccbe5a data/create/recipes/crafting/kinetics/attribute_filter.json
059d12526529b2896ed583555373afa31839a0de data/create/recipes/crafting/kinetics/basin.json
dcf98e667d321fb4bd9fa6dfec7927a84cdbd5d6 data/create/recipes/crafting/kinetics/belt_connector.json
@ -5680,7 +5717,7 @@ d063e12c9ef75f39518c6d129ea35d833464d547 data/create/tags/blocks/toolboxes.json
9460e92c8e483446318b849abe7e6f52dcd4a269 data/create/tags/blocks/tree_attachments.json
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/blocks/valve_handles.json
eac71740fb12bdb38b5dfaa2268613d7ba82b809 data/create/tags/blocks/windmill_sails.json
96671fd75d4209280940ef774c4185f33610a64d data/create/tags/blocks/wrench_pickup.json
84b63dd3da12f34248474941d961b1e71837917e data/create/tags/blocks/wrench_pickup.json
a8bdc387cfa6296ebcc4af14323e2ddb632234dc data/create/tags/fluids/bottomless/allow.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/fluids/bottomless/deny.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/items/blaze_burner_fuel/regular.json

View File

@ -0,0 +1,100 @@
{
"multipart": [
{
"apply": {
"model": "create:block/andesite_post_ends"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/andesite_post"
}
},
{
"when": {
"north": "true",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/andesite_cap"
}
},
{
"when": {
"north": "false",
"east": "true",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/andesite_cap",
"y": 90
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "true",
"west": "false"
},
"apply": {
"model": "create:block/andesite_cap_alt"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "true"
},
"apply": {
"model": "create:block/andesite_cap_alt",
"y": 90
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/andesite_side"
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/andesite_side",
"y": 90
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/andesite_side_alt"
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/andesite_side_alt",
"y": 90
}
}
]
}

View File

@ -0,0 +1,100 @@
{
"multipart": [
{
"apply": {
"model": "create:block/brass_post_ends"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/brass_post"
}
},
{
"when": {
"north": "true",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/brass_cap"
}
},
{
"when": {
"north": "false",
"east": "true",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/brass_cap",
"y": 90
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "true",
"west": "false"
},
"apply": {
"model": "create:block/brass_cap_alt"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "true"
},
"apply": {
"model": "create:block/brass_cap_alt",
"y": 90
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/brass_side"
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/brass_side",
"y": 90
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/brass_side_alt"
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/brass_side_alt",
"y": 90
}
}
]
}

View File

@ -0,0 +1,100 @@
{
"multipart": [
{
"apply": {
"model": "create:block/copper_post_ends"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/copper_post"
}
},
{
"when": {
"north": "true",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/copper_cap"
}
},
{
"when": {
"north": "false",
"east": "true",
"south": "false",
"west": "false"
},
"apply": {
"model": "create:block/copper_cap",
"y": 90
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "true",
"west": "false"
},
"apply": {
"model": "create:block/copper_cap_alt"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "true"
},
"apply": {
"model": "create:block/copper_cap_alt",
"y": 90
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/copper_side"
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/copper_side",
"y": 90
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/copper_side_alt"
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/copper_side_alt",
"y": 90
}
}
]
}

View File

@ -0,0 +1,26 @@
{
"variants": {
"facing=down": {
"model": "create:block/copycat_panel/bars_vertical",
"x": 180
},
"facing=up": {
"model": "create:block/copycat_panel/bars_vertical"
},
"facing=north": {
"model": "create:block/copycat_panel/bars",
"y": 180
},
"facing=south": {
"model": "create:block/copycat_panel/bars"
},
"facing=west": {
"model": "create:block/copycat_panel/bars",
"y": 90
},
"facing=east": {
"model": "create:block/copycat_panel/bars",
"y": 270
}
}
}

View File

@ -4,6 +4,7 @@
"block.create.adjustable_chain_gearshift": "\u0287\u025F\u0131\u0265s\u0279\u0250\u01DD\u2141 u\u0131\u0250\u0265\u0186 \u01DD\u05DFq\u0250\u0287sn\u0638p\u2C6F",
"block.create.analog_lever": "\u0279\u01DD\u028C\u01DD\uA780 bo\u05DF\u0250u\u2C6F",
"block.create.andesite_alloy_block": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F \u025Fo \u029E\u0254o\u05DF\u15FA",
"block.create.andesite_bars": "s\u0279\u0250\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_casing": "bu\u0131s\u0250\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_encased_cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186 p\u01DDs\u0250\u0254u\u018E \u01DD\u0287\u0131s\u01DDpu\u2C6F",
@ -31,6 +32,7 @@
"block.create.blue_seat": "\u0287\u0250\u01DDS \u01DDn\u05DF\u15FA",
"block.create.blue_toolbox": "xoq\u05DFoo\u27D8 \u01DDn\u05DF\u15FA",
"block.create.blue_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B \u01DDn\u05DF\u15FA",
"block.create.brass_bars": "s\u0279\u0250\u15FA ss\u0250\u0279\u15FA",
"block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA",
"block.create.brass_block": "ss\u0250\u0279\u15FA \u025Fo \u029E\u0254o\u05DF\u15FA",
"block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA",
@ -58,6 +60,7 @@
"block.create.controller_rail": "\u05DF\u0131\u0250\u1D1A \u0279\u01DD\u05DF\u05DFo\u0279\u0287uo\u0186",
"block.create.controls": "s\u05DFo\u0279\u0287uo\u0186 u\u0131\u0250\u0279\u27D8",
"block.create.copper_backtank": "\u029Eu\u0250\u0287\u029E\u0254\u0250\u15FA \u0279\u01DDddo\u0186",
"block.create.copper_bars": "s\u0279\u0250\u15FA \u0279\u01DDddo\u0186",
"block.create.copper_casing": "bu\u0131s\u0250\u0186 \u0279\u01DDddo\u0186",
"block.create.copper_ladder": "\u0279\u01DDpp\u0250\uA780 \u0279\u01DDddo\u0186",
"block.create.copper_scaffolding": "bu\u0131p\u05DFo\u025F\u025F\u0250\u0254S \u0279\u01DDddo\u0186",
@ -68,6 +71,7 @@
"block.create.copper_tile_stairs": "s\u0279\u0131\u0250\u0287S \u01DD\u05DF\u0131\u27D8 \u0279\u01DDddo\u0186",
"block.create.copper_tiles": "s\u01DD\u05DF\u0131\u27D8 \u0279\u01DDddo\u0186",
"block.create.copper_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B \u0279\u01DDddo\u0186",
"block.create.copycat_bars": "s\u0279\u0250\u15FA \u0287\u0250\u0254\u028Edo\u0186",
"block.create.copycat_base": "\u01DDs\u0250\u15FA \u0287\u0250\u0254\u028Edo\u0186",
"block.create.copycat_panel": "\u05DF\u01DDu\u0250\u0500 \u0287\u0250\u0254\u028Edo\u0186",
"block.create.copycat_step": "d\u01DD\u0287S \u0287\u0250\u0254\u028Edo\u0186",

View File

@ -7,6 +7,7 @@
"block.create.adjustable_chain_gearshift": "Adjustable Chain Gearshift",
"block.create.analog_lever": "Analog Lever",
"block.create.andesite_alloy_block": "Block of Andesite Alloy",
"block.create.andesite_bars": "Andesite Bars",
"block.create.andesite_belt_funnel": "Andesite Belt Funnel",
"block.create.andesite_casing": "Andesite Casing",
"block.create.andesite_encased_cogwheel": "Andesite Encased Cogwheel",
@ -34,6 +35,7 @@
"block.create.blue_seat": "Blue Seat",
"block.create.blue_toolbox": "Blue Toolbox",
"block.create.blue_valve_handle": "Blue Valve Handle",
"block.create.brass_bars": "Brass Bars",
"block.create.brass_belt_funnel": "Brass Belt Funnel",
"block.create.brass_block": "Block of Brass",
"block.create.brass_casing": "Brass Casing",
@ -61,6 +63,7 @@
"block.create.controller_rail": "Controller Rail",
"block.create.controls": "Train Controls",
"block.create.copper_backtank": "Copper Backtank",
"block.create.copper_bars": "Copper Bars",
"block.create.copper_casing": "Copper Casing",
"block.create.copper_ladder": "Copper Ladder",
"block.create.copper_scaffolding": "Copper Scaffolding",
@ -71,6 +74,7 @@
"block.create.copper_tile_stairs": "Copper Tile Stairs",
"block.create.copper_tiles": "Copper Tiles",
"block.create.copper_valve_handle": "Copper Valve Handle",
"block.create.copycat_bars": "Copycat Bars",
"block.create.copycat_base": "Copycat Base",
"block.create.copycat_panel": "Copycat Panel",
"block.create.copycat_step": "Copycat Step",

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_cap",
"textures": {
"bars": "create:block/bars/andesite_bars",
"particle": "create:block/bars/andesite_bars",
"edge": "create:block/bars/andesite_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_cap_alt",
"textures": {
"bars": "create:block/bars/andesite_bars",
"particle": "create:block/bars/andesite_bars",
"edge": "create:block/bars/andesite_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_post",
"textures": {
"bars": "create:block/bars/andesite_bars",
"particle": "create:block/bars/andesite_bars",
"edge": "create:block/bars/andesite_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_post_ends",
"textures": {
"bars": "create:block/bars/andesite_bars",
"particle": "create:block/bars/andesite_bars",
"edge": "create:block/bars/andesite_bars_edge"
}
}

View File

@ -2,7 +2,9 @@
"parent": "create:block/scaffold/block",
"textures": {
"top": "create:block/funnel/andesite_funnel_frame",
"inside": "create:block/scaffold/andesite_scaffold_inside",
"side": "create:block/scaffold/andesite_scaffold",
"particle": "create:block/andesite_casing"
"casing": "create:block/andesite_casing",
"particle": "create:block/scaffold/andesite_scaffold"
}
}

View File

@ -2,7 +2,9 @@
"parent": "create:block/scaffold/block_horizontal",
"textures": {
"top": "create:block/funnel/andesite_funnel_frame",
"inside": "create:block/scaffold/andesite_scaffold_inside",
"side": "create:block/scaffold/andesite_scaffold",
"particle": "create:block/andesite_casing"
"casing": "create:block/andesite_casing",
"particle": "create:block/scaffold/andesite_scaffold"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_side",
"textures": {
"bars": "create:block/bars/andesite_bars",
"particle": "create:block/bars/andesite_bars",
"edge": "create:block/bars/andesite_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_side_alt",
"textures": {
"bars": "create:block/bars/andesite_bars",
"particle": "create:block/bars/andesite_bars",
"edge": "create:block/bars/andesite_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_cap",
"textures": {
"bars": "create:block/bars/brass_bars",
"particle": "create:block/bars/brass_bars",
"edge": "create:block/bars/brass_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_cap_alt",
"textures": {
"bars": "create:block/bars/brass_bars",
"particle": "create:block/bars/brass_bars",
"edge": "create:block/bars/brass_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_post",
"textures": {
"bars": "create:block/bars/brass_bars",
"particle": "create:block/bars/brass_bars",
"edge": "create:block/bars/brass_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_post_ends",
"textures": {
"bars": "create:block/bars/brass_bars",
"particle": "create:block/bars/brass_bars",
"edge": "create:block/bars/brass_bars_edge"
}
}

View File

@ -2,7 +2,9 @@
"parent": "create:block/scaffold/block",
"textures": {
"top": "create:block/funnel/brass_funnel_frame",
"inside": "create:block/scaffold/brass_scaffold_inside",
"side": "create:block/scaffold/brass_scaffold",
"particle": "create:block/brass_casing"
"casing": "create:block/brass_casing",
"particle": "create:block/scaffold/brass_scaffold"
}
}

View File

@ -2,7 +2,9 @@
"parent": "create:block/scaffold/block_horizontal",
"textures": {
"top": "create:block/funnel/brass_funnel_frame",
"inside": "create:block/scaffold/brass_scaffold_inside",
"side": "create:block/scaffold/brass_scaffold",
"particle": "create:block/brass_casing"
"casing": "create:block/brass_casing",
"particle": "create:block/scaffold/brass_scaffold"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_side",
"textures": {
"bars": "create:block/bars/brass_bars",
"particle": "create:block/bars/brass_bars",
"edge": "create:block/bars/brass_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_side_alt",
"textures": {
"bars": "create:block/bars/brass_bars",
"particle": "create:block/bars/brass_bars",
"edge": "create:block/bars/brass_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_cap",
"textures": {
"bars": "create:block/bars/copper_bars",
"particle": "create:block/bars/copper_bars",
"edge": "create:block/bars/copper_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_cap_alt",
"textures": {
"bars": "create:block/bars/copper_bars",
"particle": "create:block/bars/copper_bars",
"edge": "create:block/bars/copper_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_post",
"textures": {
"bars": "create:block/bars/copper_bars",
"particle": "create:block/bars/copper_bars",
"edge": "create:block/bars/copper_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_post_ends",
"textures": {
"bars": "create:block/bars/copper_bars",
"particle": "create:block/bars/copper_bars",
"edge": "create:block/bars/copper_bars_edge"
}
}

View File

@ -2,7 +2,9 @@
"parent": "create:block/scaffold/block",
"textures": {
"top": "create:block/funnel/copper_funnel_frame",
"inside": "create:block/scaffold/copper_scaffold_inside",
"side": "create:block/scaffold/copper_scaffold",
"particle": "create:block/copper_casing"
"casing": "create:block/copper_casing",
"particle": "create:block/scaffold/copper_scaffold"
}
}

View File

@ -2,7 +2,9 @@
"parent": "create:block/scaffold/block_horizontal",
"textures": {
"top": "create:block/funnel/copper_funnel_frame",
"inside": "create:block/scaffold/copper_scaffold_inside",
"side": "create:block/scaffold/copper_scaffold",
"particle": "create:block/copper_casing"
"casing": "create:block/copper_casing",
"particle": "create:block/scaffold/copper_scaffold"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_side",
"textures": {
"bars": "create:block/bars/copper_bars",
"particle": "create:block/bars/copper_bars",
"edge": "create:block/bars/copper_bars_edge"
}
}

View File

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/iron_bars_side_alt",
"textures": {
"bars": "create:block/bars/copper_bars",
"particle": "create:block/bars/copper_bars",
"edge": "create:block/bars/copper_bars_edge"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "create:item/bars",
"textures": {
"bars": "create:block/bars/andesite_bars",
"edge": "create:block/bars/andesite_bars_edge"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "create:item/bars",
"textures": {
"bars": "create:block/bars/brass_bars",
"edge": "create:block/bars/brass_bars_edge"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "create:item/bars",
"textures": {
"bars": "create:block/bars/copper_bars",
"edge": "create:block/bars/copper_bars_edge"
}
}

View File

@ -2,11 +2,11 @@
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:crafting/kinetics/andesite_ladder"
"create:andesite_bars_from_andesite_alloy_stonecutting"
]
},
"criteria": {
"has_item": {
"has_andesite_alloy": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@ -21,13 +21,13 @@
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:crafting/kinetics/andesite_ladder"
"recipe": "create:andesite_bars_from_andesite_alloy_stonecutting"
}
}
},
"requirements": [
[
"has_item",
"has_andesite_alloy",
"has_the_recipe"
]
]

View File

@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:andesite_ladder_from_andesite_alloy_stonecutting"
]
},
"criteria": {
"has_andesite_alloy": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"items": [
"create:andesite_alloy"
]
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:andesite_ladder_from_andesite_alloy_stonecutting"
}
}
},
"requirements": [
[
"has_andesite_alloy",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:andesite_scaffolding_from_andesite_alloy_stonecutting"
]
},
"criteria": {
"has_andesite_alloy": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"items": [
"create:andesite_alloy"
]
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:andesite_scaffolding_from_andesite_alloy_stonecutting"
}
}
},
"requirements": [
[
"has_andesite_alloy",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:brass_bars_from_plates_brass_stonecutting"
]
},
"criteria": {
"has_plates_brass": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"tag": "forge:plates/brass"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:brass_bars_from_plates_brass_stonecutting"
}
}
},
"requirements": [
[
"has_plates_brass",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:copper_bars_from_plates_copper_stonecutting"
]
},
"criteria": {
"has_plates_copper": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"tag": "forge:plates/copper"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:copper_bars_from_plates_copper_stonecutting"
}
}
},
"requirements": [
[
"has_plates_copper",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "create:andesite_bars"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "create:brass_bars"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "create:copper_bars"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:air"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View File

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"ingredient": {
"item": "create:andesite_alloy"
},
"result": "create:andesite_bars",
"count": 4
}

View File

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"ingredient": {
"item": "create:andesite_alloy"
},
"result": "create:andesite_ladder",
"count": 2
}

View File

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"ingredient": {
"item": "create:andesite_alloy"
},
"result": "create:andesite_scaffolding",
"count": 2
}

View File

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"ingredient": {
"tag": "forge:plates/brass"
},
"result": "create:brass_bars",
"count": 4
}

View File

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"ingredient": {
"tag": "forge:plates/copper"
},
"result": "create:copper_bars",
"count": 4
}

View File

@ -1,17 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"A A",
"AAA",
"A A"
],
"key": {
"A": {
"item": "create:andesite_alloy"
}
},
"result": {
"item": "create:andesite_ladder",
"count": 4
}
}

View File

@ -1,6 +1,9 @@
{
"replace": false,
"values": [
"create:andesite_bars",
"create:brass_bars",
"create:copper_bars",
"minecraft:redstone_wire",
"minecraft:redstone_torch",
"minecraft:repeater",

View File

@ -148,10 +148,12 @@ import com.simibubi.create.content.curiosities.deco.PlacardBlock;
import com.simibubi.create.content.curiosities.deco.SlidingDoorBlock;
import com.simibubi.create.content.curiosities.deco.TrainTrapdoorBlock;
import com.simibubi.create.content.curiosities.deco.TrapdoorCTBehaviour;
import com.simibubi.create.content.curiosities.frames.CopycatBarsModel;
import com.simibubi.create.content.curiosities.frames.CopycatPanelBlock;
import com.simibubi.create.content.curiosities.frames.CopycatPanelModel;
import com.simibubi.create.content.curiosities.frames.CopycatStepBlock;
import com.simibubi.create.content.curiosities.frames.CopycatStepModel;
import com.simibubi.create.content.curiosities.frames.SpecialCopycatPanelBlockState;
import com.simibubi.create.content.curiosities.girder.ConnectedGirderModel;
import com.simibubi.create.content.curiosities.girder.GirderBlock;
import com.simibubi.create.content.curiosities.girder.GirderBlockStateGenerator;
@ -237,10 +239,12 @@ import com.simibubi.create.foundation.block.BlockStressDefaults;
import com.simibubi.create.foundation.block.CopperBlockSet;
import com.simibubi.create.foundation.block.DyedBlockList;
import com.simibubi.create.foundation.block.ItemUseOverrides;
import com.simibubi.create.foundation.block.WrenchableDirectionalBlock;
import com.simibubi.create.foundation.data.AssetLookup;
import com.simibubi.create.foundation.data.BlockStateGen;
import com.simibubi.create.foundation.data.BuilderTransformers;
import com.simibubi.create.foundation.data.CreateRegistrate;
import com.simibubi.create.foundation.data.MetalBarsGen;
import com.simibubi.create.foundation.data.ModelGen;
import com.simibubi.create.foundation.data.SharedProperties;
import com.simibubi.create.foundation.item.ItemDescription;
@ -266,6 +270,7 @@ import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.IronBarsBlock;
import net.minecraft.world.level.block.RotatedPillarBlock;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
@ -849,23 +854,31 @@ public class AllBlocks {
BuilderTransformers.ladder("copper", () -> DataIngredient.tag(AllTags.forgeItemTag("plates/copper"))))
.register();
public static final BlockEntry<MetalScaffoldingBlock> ANDESITE_SCAFFOLD = REGISTRATE
.block("andesite_scaffolding", MetalScaffoldingBlock::new)
.transform(BuilderTransformers.scaffold("andesite", () -> DataIngredient.items(AllItems.ANDESITE_ALLOY.get()),
AllSpriteShifts.ANDESITE_SCAFFOLD, AllSpriteShifts.ANDESITE_CASING))
.register();
public static final BlockEntry<IronBarsBlock> ANDESITE_BARS =
MetalBarsGen.createBars("andesite", true, () -> DataIngredient.items(AllItems.ANDESITE_ALLOY.get()));
public static final BlockEntry<IronBarsBlock> BRASS_BARS =
MetalBarsGen.createBars("brass", true, () -> DataIngredient.tag(AllTags.forgeItemTag("plates/brass")));
public static final BlockEntry<IronBarsBlock> COPPER_BARS =
MetalBarsGen.createBars("copper", true, () -> DataIngredient.tag(AllTags.forgeItemTag("plates/copper")));
public static final BlockEntry<MetalScaffoldingBlock> ANDESITE_SCAFFOLD =
REGISTRATE.block("andesite_scaffolding", MetalScaffoldingBlock::new)
.transform(BuilderTransformers.scaffold("andesite",
() -> DataIngredient.items(AllItems.ANDESITE_ALLOY.get()), AllSpriteShifts.ANDESITE_SCAFFOLD,
AllSpriteShifts.ANDESITE_SCAFFOLD_INSIDE, AllSpriteShifts.ANDESITE_CASING))
.register();
public static final BlockEntry<MetalScaffoldingBlock> BRASS_SCAFFOLD = REGISTRATE
.block("brass_scaffolding", MetalScaffoldingBlock::new)
.transform(BuilderTransformers.scaffold("brass", () -> DataIngredient.tag(AllTags.forgeItemTag("plates/brass")),
AllSpriteShifts.BRASS_SCAFFOLD, AllSpriteShifts.BRASS_CASING))
AllSpriteShifts.BRASS_SCAFFOLD, AllSpriteShifts.BRASS_SCAFFOLD_INSIDE, AllSpriteShifts.BRASS_CASING))
.register();
public static final BlockEntry<MetalScaffoldingBlock> COPPER_SCAFFOLD =
REGISTRATE.block("copper_scaffolding", MetalScaffoldingBlock::new)
.transform(
BuilderTransformers.scaffold("copper", () -> DataIngredient.tag(AllTags.forgeItemTag("plates/copper")),
AllSpriteShifts.COPPER_SCAFFOLD, AllSpriteShifts.COPPER_CASING))
.transform(BuilderTransformers.scaffold("copper",
() -> DataIngredient.tag(AllTags.forgeItemTag("plates/copper")), AllSpriteShifts.COPPER_SCAFFOLD,
AllSpriteShifts.COPPER_SCAFFOLD_INSIDE, AllSpriteShifts.COPPER_CASING))
.register();
// Fluids
@ -1756,6 +1769,12 @@ public class AllBlocks {
.transform(customItemModel("copycat_base", "panel"))
.register();
public static final BlockEntry<WrenchableDirectionalBlock> COPYCAT_BARS =
REGISTRATE.block("copycat_bars", WrenchableDirectionalBlock::new)
.blockstate(new SpecialCopycatPanelBlockState("bars")::generate)
.onRegister(CreateRegistrate.blockModel(() -> CopycatBarsModel::new))
.register();
public static final BlockEntry<ItemVaultBlock> ITEM_VAULT = REGISTRATE.block("item_vault", ItemVaultBlock::new)
.initialProperties(SharedProperties::softMetal)
.properties(p -> p.color(

View File

@ -31,6 +31,7 @@ public class AllShapes {
CASING_12PX = shape(0, 0, 0, 16, 12, 16).forDirectional(),
CASING_11PX = shape(0, 0, 0, 16, 11, 16).forDirectional(),
CASING_3PX = shape(0, 0, 0, 16, 3, 16).forDirectional(),
CASING_2PX = shape(0, 0, 0, 16, 2, 16).forDirectional(),
MOTOR_BLOCK = shape(3, 0, 3, 13, 14, 13).forDirectional(),
FOUR_VOXEL_POLE = shape(6, 0, 6, 10, 16, 10).forAxis(), SIX_VOXEL_POLE = shape(5, 0, 5, 11, 16, 11).forAxis(),

View File

@ -31,6 +31,10 @@ public class AllSpriteShifts {
BRASS_SCAFFOLD = horizontal("scaffold/brass_scaffold"),
COPPER_SCAFFOLD = horizontal("scaffold/copper_scaffold");
public static final CTSpriteShiftEntry ANDESITE_SCAFFOLD_INSIDE = horizontal("scaffold/andesite_scaffold_inside"),
BRASS_SCAFFOLD_INSIDE = horizontal("scaffold/brass_scaffold_inside"),
COPPER_SCAFFOLD_INSIDE = horizontal("scaffold/copper_scaffold_inside");
public static final CTSpriteShiftEntry FRAMED_GLASS =
getCT(AllCTTypes.OMNIDIRECTIONAL, "palettes/framed_glass", "palettes/framed_glass"),
HORIZONTAL_FRAMED_GLASS =

View File

@ -62,7 +62,7 @@ public class MetalScaffoldingBlock extends ScaffoldingBlock implements IWrenchab
@Override
public boolean hidesNeighborFace(BlockGetter level, BlockPos pos, BlockState state, BlockState neighborState,
Direction dir) {
if (!neighborState.is(this))
if (!(neighborState.getBlock() instanceof MetalScaffoldingBlock))
return false;
if (!neighborState.getValue(BOTTOM) && state.getValue(BOTTOM))
return false;

View File

@ -1,24 +1,45 @@
package com.simibubi.create.content.curiosities.deco;
import org.jetbrains.annotations.Nullable;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
public class MetalScaffoldingCTBehaviour extends HorizontalCTBehaviour {
public MetalScaffoldingCTBehaviour(CTSpriteShiftEntry layerShift, CTSpriteShiftEntry topShift) {
super(layerShift, topShift);
protected CTSpriteShiftEntry insideShift;
public MetalScaffoldingCTBehaviour(CTSpriteShiftEntry outsideShift, CTSpriteShiftEntry insideShift,
CTSpriteShiftEntry topShift) {
super(outsideShift, topShift);
this.insideShift = insideShift;
}
@Override
public boolean buildContextForOccludedDirections() {
return true;
}
@Override
protected boolean isBeingBlocked(BlockState state, BlockAndTintGetter reader, BlockPos pos, BlockPos otherPos,
Direction face) {
return face.getAxis() == Axis.Y && super.isBeingBlocked(state, reader, pos, otherPos, face);
}
@Override
public CTSpriteShiftEntry getShift(BlockState state, Direction direction, @Nullable TextureAtlasSprite sprite) {
if (direction.getAxis() != Axis.Y && sprite == insideShift.getOriginal())
return insideShift;
return super.getShift(state, direction, sprite);
}
@Override
public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos,
BlockPos otherPos, Direction face) {

View File

@ -0,0 +1,70 @@
package com.simibubi.create.content.curiosities.frames;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
import com.simibubi.create.foundation.model.BakedQuadHelper;
import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.client.model.data.IModelData;
public class CopycatBarsModel extends CopycatModel {
public CopycatBarsModel(BakedModel originalModel) {
super(originalModel);
}
@Override
public boolean useAmbientOcclusion() {
return false;
}
@Override
protected List<BakedQuad> getCroppedQuads(BlockState state, Direction side, Random rand, BlockState material,
IModelData wrappedData) {
BakedModel model = getModelOf(material);
List<BakedQuad> templateQuads = model.getQuads(material, null, rand, wrappedData);
List<BakedQuad> superQuads = originalModel.getQuads(state, side, rand, wrappedData);
List<BakedQuad> quads = new ArrayList<>();
TextureAtlasSprite targetSprite = model.getParticleIcon(wrappedData);
boolean vertical = state.getValue(CopycatPanelBlock.FACING)
.getAxis() == Axis.Y;
if (side != null && (vertical || side.getAxis() == Axis.Y))
for (int i = 0; i < templateQuads.size(); i++) {
BakedQuad quad = templateQuads.get(i);
if (quad.getDirection() != Direction.UP)
continue;
targetSprite = quad.getSprite();
break;
}
if (targetSprite == null)
return superQuads;
for (int i = 0; i < superQuads.size(); i++) {
BakedQuad quad = superQuads.get(i);
TextureAtlasSprite original = quad.getSprite();
BakedQuad newQuad = BakedQuadHelper.clone(quad);
int[] vertexData = newQuad.getVertices();
for (int vertex = 0; vertex < 4; vertex++) {
BakedQuadHelper.setU(vertexData, vertex, targetSprite
.getU(SpriteShiftEntry.getUnInterpolatedU(original, BakedQuadHelper.getU(vertexData, vertex))));
BakedQuadHelper.setV(vertexData, vertex, targetSprite
.getV(SpriteShiftEntry.getUnInterpolatedV(original, BakedQuadHelper.getV(vertexData, vertex))));
}
quads.add(newQuad);
}
return quads;
}
}

View File

@ -157,19 +157,21 @@ public abstract class CopycatBlock extends Block implements IBE<CopycatBlockEnti
}
@Nullable
public static BlockState getAcceptedBlockState(Level pLevel, BlockPos pPos, ItemStack item, Direction face) {
public BlockState getAcceptedBlockState(Level pLevel, BlockPos pPos, ItemStack item, Direction face) {
if (!(item.getItem()instanceof BlockItem bi))
return null;
Block block = bi.getBlock();
if (block instanceof CopycatBlock)
return null;
if (AllBlockTags.COPYCAT_DENY.matches(block))
return null;
BlockState appliedState = block.defaultBlockState();
boolean hardCodedAllow = isAcceptedRegardless(appliedState);
if (!AllBlockTags.COPYCAT_ALLOW.matches(block)) {
if (!AllBlockTags.COPYCAT_ALLOW.matches(block) && !hardCodedAllow) {
if (AllBlockTags.COPYCAT_DENY.matches(block))
return null;
if (block instanceof EntityBlock)
return null;
if (block instanceof StairBlock)
@ -202,6 +204,10 @@ public abstract class CopycatBlock extends Block implements IBE<CopycatBlockEnti
return appliedState;
}
public boolean isAcceptedRegardless(BlockState material) {
return false;
}
@Override
public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pIsMoving) {
if (!pState.hasBlockEntity() || pState.getBlock() == pNewState.getBlock())

View File

@ -44,6 +44,11 @@ public class CopycatPanelBlock extends WaterloggedCopycatBlock {
registerDefaultState(defaultBlockState().setValue(FACING, Direction.UP));
}
@Override
public boolean isAcceptedRegardless(BlockState material) {
return CopycatSpecialCases.isBarsMaterial(material);
}
@Override
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand,
BlockHitResult ray) {
@ -143,9 +148,14 @@ public class CopycatPanelBlock extends WaterloggedCopycatBlock {
@Override
public boolean hidesNeighborFace(BlockGetter level, BlockPos pos, BlockState state, BlockState neighborState,
Direction dir) {
if (state.is(this) == neighborState.is(this)
&& getMaterial(level, pos).skipRendering(getMaterial(level, pos.relative(dir)), dir.getOpposite()))
return isOccluded(state, neighborState, dir.getOpposite());
if (state.is(this) == neighborState.is(this)) {
if (CopycatSpecialCases.isBarsMaterial(getMaterial(level, pos))
&& CopycatSpecialCases.isBarsMaterial(getMaterial(level, pos.relative(dir))))
return state.getValue(FACING) == neighborState.getValue(FACING);
if (getMaterial(level, pos).skipRendering(getMaterial(level, pos.relative(dir)), dir.getOpposite()))
return isOccluded(state, neighborState, dir.getOpposite());
}
return state.getValue(FACING) == dir.getOpposite()
&& getMaterial(level, pos).skipRendering(neighborState, dir.getOpposite());
}

View File

@ -4,14 +4,17 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.model.BakedModelHelper;
import com.simibubi.create.foundation.model.BakedQuadHelper;
import com.simibubi.create.foundation.utility.Iterate;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.block.DirectionalBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;
@ -31,6 +34,18 @@ public class CopycatPanelModel extends CopycatModel {
Direction facing = state.getOptionalValue(CopycatPanelBlock.FACING)
.orElse(Direction.UP);
BlockState specialCopycatModelState = null;
if (CopycatSpecialCases.isBarsMaterial(material))
specialCopycatModelState = AllBlocks.COPYCAT_BARS.getDefaultState();
if (specialCopycatModelState != null) {
BakedModel blockModel = Minecraft.getInstance()
.getBlockRenderer()
.getBlockModel(specialCopycatModelState.setValue(DirectionalBlock.FACING, facing));
if (blockModel instanceof CopycatModel cm)
return cm.getCroppedQuads(state, side, rand, material, wrappedData);
}
BakedModel model = getModelOf(material);
List<BakedQuad> templateQuads = model.getQuads(material, side, rand, wrappedData);
int size = templateQuads.size();

View File

@ -0,0 +1,16 @@
package com.simibubi.create.content.curiosities.frames;
import com.simibubi.create.content.palettes.GlassPaneBlock;
import net.minecraft.world.level.block.IronBarsBlock;
import net.minecraft.world.level.block.StainedGlassPaneBlock;
import net.minecraft.world.level.block.state.BlockState;
public class CopycatSpecialCases {
public static boolean isBarsMaterial(BlockState material) {
return material.getBlock() instanceof IronBarsBlock && !(material.getBlock() instanceof GlassPaneBlock)
&& !(material.getBlock() instanceof StainedGlassPaneBlock);
}
}

View File

@ -0,0 +1,46 @@
package com.simibubi.create.content.curiosities.frames;
import com.simibubi.create.foundation.data.SpecialBlockStateGen;
import com.tterrag.registrate.providers.DataGenContext;
import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.DirectionalBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.client.model.generators.BlockModelProvider;
import net.minecraftforge.client.model.generators.ModelFile;
public class SpecialCopycatPanelBlockState extends SpecialBlockStateGen {
private String name;
public SpecialCopycatPanelBlockState(String name) {
this.name = name;
}
@Override
protected int getXRotation(BlockState state) {
return facing(state) == Direction.UP ? 0 : facing(state) == Direction.DOWN ? 180 : 0;
}
@Override
protected int getYRotation(BlockState state) {
return horizontalAngle(facing(state));
}
private Direction facing(BlockState state) {
return state.getValue(DirectionalBlock.FACING);
}
@Override
public <T extends Block> ModelFile getModel(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
BlockState state) {
BlockModelProvider models = prov.models();
return facing(state).getAxis() == Axis.Y
? models.getExistingFile(prov.modLoc("block/copycat_panel/" + name + "_vertical"))
: models.getExistingFile(prov.modLoc("block/copycat_panel/" + name));
}
}

View File

@ -234,16 +234,14 @@ public class BuilderTransformers {
.transform(pickaxeOnly())
.tag(BlockTags.CLIMBABLE)
.item()
.recipe((c, p) -> {
if (!name.equals("andesite"))
p.stonecutting(ingredient.get(), c::get, 2);
})
.recipe((c, p) -> p.stonecutting(ingredient.get(), c::get, 2))
.model((c, p) -> p.blockSprite(c::get, p.modLoc("block/ladder_" + name)))
.build();
}
public static <B extends Block, P> NonNullUnaryOperator<BlockBuilder<B, P>> scaffold(String name,
Supplier<DataIngredient> ingredient, CTSpriteShiftEntry scaffoldShift, CTSpriteShiftEntry casingShift) {
Supplier<DataIngredient> ingredient, CTSpriteShiftEntry scaffoldShift, CTSpriteShiftEntry scaffoldInsideShift,
CTSpriteShiftEntry casingShift) {
return b -> b.initialProperties(() -> Blocks.SCAFFOLDING)
.properties(p -> p.sound(SoundType.COPPER))
.addLayer(() -> RenderType::cutout)
@ -254,18 +252,18 @@ public class BuilderTransformers {
.modelFile(p.models()
.withExistingParent(c.getName() + suffix, p.modLoc("block/scaffold/block" + suffix))
.texture("top", p.modLoc("block/funnel/" + name + "_funnel_frame"))
.texture("inside", p.modLoc("block/scaffold/" + name + "_scaffold_inside"))
.texture("side", p.modLoc("block/scaffold/" + name + "_scaffold"))
.texture("particle", p.modLoc("block/" + name + "_casing")))
.texture("casing", p.modLoc("block/" + name + "_casing"))
.texture("particle", p.modLoc("block/scaffold/" + name + "_scaffold")))
.build();
}, MetalScaffoldingBlock.WATERLOGGED, MetalScaffoldingBlock.DISTANCE))
.onRegister(connectedTextures(() -> new MetalScaffoldingCTBehaviour(scaffoldShift, casingShift)))
.onRegister(connectedTextures(
() -> new MetalScaffoldingCTBehaviour(scaffoldShift, scaffoldInsideShift, casingShift)))
.transform(pickaxeOnly())
.tag(BlockTags.CLIMBABLE)
.item(MetalScaffoldingBlockItem::new)
.recipe((c, p) -> {
if (!name.equals("andesite"))
p.stonecutting(ingredient.get(), c::get, 2);
})
.recipe((c, p) -> p.stonecutting(ingredient.get(), c::get, 2))
.model((c, p) -> p.withExistingParent(c.getName(), p.modLoc("block/" + c.getName())))
.build();
}

View File

@ -0,0 +1,143 @@
package com.simibubi.create.foundation.data;
import static com.simibubi.create.Create.REGISTRATE;
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.EAST;
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.NORTH;
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.SOUTH;
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.WEST;
import java.util.function.Supplier;
import com.simibubi.create.AllTags.AllBlockTags;
import com.simibubi.create.Create;
import com.tterrag.registrate.providers.DataGenContext;
import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
import com.tterrag.registrate.util.DataIngredient;
import com.tterrag.registrate.util.entry.BlockEntry;
import com.tterrag.registrate.util.nullness.NonNullBiConsumer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.IronBarsBlock;
import net.minecraft.world.level.block.SoundType;
import net.minecraftforge.client.model.generators.ModelFile;
public class MetalBarsGen {
public static <P extends IronBarsBlock> NonNullBiConsumer<DataGenContext<Block, P>, RegistrateBlockstateProvider> barsBlockState(
String name, boolean specialEdge) {
return (c, p) -> {
ModelFile post_ends = barsSubModel(p, name, "_post_ends", specialEdge);
ModelFile post = barsSubModel(p, name, "_post", specialEdge);
ModelFile cap = barsSubModel(p, name, "_cap", specialEdge);
ModelFile cap_alt = barsSubModel(p, name, "_cap_alt", specialEdge);
ModelFile side = barsSubModel(p, name, "_side", specialEdge);
ModelFile side_alt = barsSubModel(p, name, "_side_alt", specialEdge);
p.getMultipartBuilder(c.get())
.part()
.modelFile(post_ends)
.addModel()
.end()
.part()
.modelFile(post)
.addModel()
.condition(NORTH, false)
.condition(EAST, false)
.condition(SOUTH, false)
.condition(WEST, false)
.end()
.part()
.modelFile(cap)
.addModel()
.condition(NORTH, true)
.condition(EAST, false)
.condition(SOUTH, false)
.condition(WEST, false)
.end()
.part()
.modelFile(cap)
.rotationY(90)
.addModel()
.condition(NORTH, false)
.condition(EAST, true)
.condition(SOUTH, false)
.condition(WEST, false)
.end()
.part()
.modelFile(cap_alt)
.addModel()
.condition(NORTH, false)
.condition(EAST, false)
.condition(SOUTH, true)
.condition(WEST, false)
.end()
.part()
.modelFile(cap_alt)
.rotationY(90)
.addModel()
.condition(NORTH, false)
.condition(EAST, false)
.condition(SOUTH, false)
.condition(WEST, true)
.end()
.part()
.modelFile(side)
.addModel()
.condition(NORTH, true)
.end()
.part()
.modelFile(side)
.rotationY(90)
.addModel()
.condition(EAST, true)
.end()
.part()
.modelFile(side_alt)
.addModel()
.condition(SOUTH, true)
.end()
.part()
.modelFile(side_alt)
.rotationY(90)
.addModel()
.condition(WEST, true)
.end();
};
}
private static ModelFile barsSubModel(RegistrateBlockstateProvider p, String name, String suffix,
boolean specialEdge) {
ResourceLocation barsTexture = p.modLoc("block/bars/" + name + "_bars");
ResourceLocation edgeTexture = specialEdge ? p.modLoc("block/bars/" + name + "_bars_edge") : barsTexture;
return p.models()
.withExistingParent(name + suffix, p.mcLoc("block/iron_bars" + suffix))
.texture("bars", barsTexture)
.texture("particle", barsTexture)
.texture("edge", edgeTexture);
}
public static BlockEntry<IronBarsBlock> createBars(String name, boolean specialEdge,
Supplier<DataIngredient> ingredient) {
return REGISTRATE.block(name + "_bars", IronBarsBlock::new)
.addLayer(() -> RenderType::cutoutMipped)
.initialProperties(() -> Blocks.IRON_BARS)
.properties(p -> p.sound(SoundType.COPPER))
.tag(AllBlockTags.WRENCH_PICKUP.tag)
.blockstate(barsBlockState(name, specialEdge))
.item()
.model((c, p) -> {
ResourceLocation barsTexture = p.modLoc("block/bars/" + name + "_bars");
p.withExistingParent(c.getName(), Create.asResource("item/bars"))
.texture("bars", barsTexture)
.texture("edge", specialEdge ? p.modLoc("block/bars/" + name + "_bars_edge") : barsTexture);
})
.recipe((c, p) -> p.stonecutting(ingredient.get(), c::get, 4))
.build()
.register();
}
}

View File

@ -175,17 +175,10 @@ public class StandardRecipeGen extends CreateRecipeProvider {
private Marker KINETICS = enterFolder("kinetics");
GeneratedRecipe ANDESITE_LADDER = create(AllBlocks.ANDESITE_LADDER).returns(4)
.unlockedBy(I::andesite)
GeneratedRecipe BASIN = create(AllBlocks.BASIN).unlockedBy(I::andesite)
.viaShaped(b -> b.define('A', I.andesite())
.pattern("A A")
.pattern("AAA")
.pattern("A A")),
BASIN = create(AllBlocks.BASIN).unlockedBy(I::andesite)
.viaShaped(b -> b.define('A', I.andesite())
.pattern("A A")
.pattern("AAA")),
.pattern("AAA")),
GOGGLES = create(AllItems.GOGGLES).unlockedBy(I::andesite)
.viaShaped(b -> b.define('G', Tags.Items.GLASS)

View File

@ -0,0 +1,55 @@
{
"credit": "Made with Blockbench",
"ambientocclusion": false,
"textures": {
"particle": "block/iron_bars",
"edge": "block/iron_bars"
},
"elements": [
{
"from": [0, 0, 1],
"to": [16, 16, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#edge"},
"south": {"uv": [16, 0, 0, 16], "texture": "#edge"}
}
},
{
"from": [15.95, 0, 0],
"to": [16, 16, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge", "cullface": "east"},
"west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#edge", "cullface": "east"}
}
},
{
"from": [0, 0, 0],
"to": [0.05, 16, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge", "cullface": "west"},
"west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#edge", "cullface": "west"}
}
},
{
"from": [0, 15.95, 0],
"to": [16, 16, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "up"},
"down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "up"}
}
},
{
"from": [0, 0, 0],
"to": [16, 0.05, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "down"},
"down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "down"}
}
}
]
}

View File

@ -0,0 +1,41 @@
{
"credit": "Made with Blockbench",
"ambientocclusion": false,
"textures": {
"particle": "block/iron_bars",
"edge": "block/iron_bars"
},
"elements": [
{
"from": [0, 1, 0],
"to": [16, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "texture": "#edge"},
"down": {"uv": [0, 0, 16, 16], "texture": "#edge"}
}
},
{
"shade": false,
"from": [0, 0, 0],
"to": [16, 2, 16],
"faces": {
"north": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#edge", "cullface": "north"},
"east": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#edge", "cullface": "east"},
"south": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#edge", "cullface": "south"},
"west": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#edge", "cullface": "west"}
}
},
{
"shade": false,
"from": [0.05, 1.95, 0.05],
"to": [15.95, 0.05, 15.95],
"faces": {
"north": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "north"},
"east": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "east"},
"south": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "south"},
"west": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "west"}
}
}
]
}

View File

@ -2,7 +2,7 @@
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"2": "create:block/scaffold/brass_scaffold_inside",
"inside": "create:block/scaffold/brass_scaffold_inside",
"particle": "create:block/scaffold/brass_scaffold",
"side": "create:block/scaffold/brass_scaffold",
"top": "create:block/funnel/brass_funnel_frame"
@ -13,10 +13,10 @@
"from": [0, 0, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "down"},
"east": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "down"},
"south": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "down"},
"west": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "down"},
"north": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"},
"east": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"},
"south": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"},
"west": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"},
"up": {"uv": [0, 0, 16, 16], "texture": "#top"}
}
},
@ -37,10 +37,10 @@
"from": [0, 0, 16],
"to": [16, 16, 0],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "south"},
"east": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "east"},
"south": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "north"},
"west": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "west"},
"north": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "south"},
"east": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "east"},
"south": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "north"},
"west": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "west"},
"up": {"uv": [0, 0, 16, 16], "texture": "#top"}
}
}

View File

@ -1,44 +1,45 @@
{
"credit": "Made with Blockbench",
"textures": {
"2": "create:block/scaffold/brass_scaffold_inside",
"inside": "create:block/scaffold/brass_scaffold_inside",
"side": "create:block/scaffold/brass_scaffold",
"particle": "create:block/brass_casing"
"casing": "create:block/brass_casing",
"particle": "create:block/scaffold/brass_scaffold"
},
"elements": [
{
"name": "top",
"from": [0, 13, 0],
"from": [0, 13.05, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [16, 0, 0, 3], "texture": "#side", "cullface": "north"},
"east": {"uv": [16, 0, 0, 3], "texture": "#side", "cullface": "east"},
"south": {"uv": [16, 0, 0, 3], "texture": "#side", "cullface": "south"},
"west": {"uv": [16, 0, 0, 3], "texture": "#side", "cullface": "west"},
"up": {"uv": [0, 0, 16, 16], "texture": "#particle"},
"down": {"uv": [0, 0, 16, 16], "texture": "#particle"}
"north": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "north"},
"east": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "east"},
"south": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "south"},
"west": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "west"},
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
}
},
{
"name": "outside",
"from": [0, 8, 0],
"to": [16, 13, 16],
"to": [16, 13.05, 16],
"faces": {
"north": {"uv": [16, 3, 0, 8], "texture": "#side", "cullface": "north"},
"east": {"uv": [16, 3, 0, 8], "texture": "#side", "cullface": "east"},
"south": {"uv": [16, 3, 0, 8], "texture": "#side", "cullface": "south"},
"west": {"uv": [16, 3, 0, 8], "texture": "#side", "cullface": "west"}
"north": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "north"},
"east": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "east"},
"south": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "south"},
"west": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "west"}
}
},
{
"name": "inside",
"from": [16, 8, 0],
"to": [0, 13, 16],
"to": [0, 13.05, 16],
"faces": {
"north": {"uv": [16, 3, 0, 8], "texture": "#2", "cullface": "north"},
"east": {"uv": [16, 3, 0, 8], "texture": "#2", "cullface": "west"},
"south": {"uv": [16, 3, 0, 8], "texture": "#2", "cullface": "south"},
"west": {"uv": [16, 3, 0, 8], "texture": "#2", "cullface": "east"}
"north": {"uv": [16, 3, 0, 8], "texture": "#inside", "cullface": "north"},
"east": {"uv": [16, 3, 0, 8], "texture": "#inside", "cullface": "west"},
"south": {"uv": [16, 2.95, 0, 7.95], "texture": "#inside", "cullface": "south"},
"west": {"uv": [16, 3, 0, 8], "texture": "#inside", "cullface": "east"}
}
}
]

View File

@ -0,0 +1,86 @@
{
"credit": "Made with Blockbench",
"ambientocclusion": false,
"textures": {
"bars": "block/iron_bars",
"edge": "block/iron_bars_edge"
},
"elements": [
{
"from": [0, 0, 8],
"to": [16, 16, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#bars"},
"south": {"uv": [16, 0, 0, 16], "texture": "#bars"}
}
},
{
"from": [15.95, 0, 7],
"to": [16, 16, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "east"},
"west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "east"}
}
},
{
"from": [0, 0, 7],
"to": [0.05, 16, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "west"},
"west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "west"}
}
},
{
"from": [0, 15.95, 7],
"to": [16, 16, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "up"},
"down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "up"}
}
},
{
"from": [0, 0, 7],
"to": [16, 0.05, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "down"},
"down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "down"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 135, 0],
"scale": [0.625, 0.625, 0.625]
},
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
}
}

View File

@ -19,5 +19,36 @@
"down": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#0"}
}
}
]
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 225, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, 135, 0],
"scale": [0.625, 0.625, 0.625]
},
"fixed": {
"scale": [0.5, 0.5, 0.5]
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B