diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 40d7725f0..fd814fac2 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -15,6 +15,7 @@ da63a8be3191d6d72afef6c79e3aea3f607631f9 assets/create/blockstates/andesite_bric 97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json 96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json a92c395c57209141d4cf78ad62facbaf3878a120 assets/create/blockstates/andesite_cobblestone_wall.json +9639b901ffdd2ecccab5575c5c9e6c7b5c901e02 assets/create/blockstates/andesite_encased_shaft.json 11908c2f8603e61bec88010bc6d0890e6339c6b1 assets/create/blockstates/andesite_funnel.json 398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json 1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json @@ -32,6 +33,7 @@ ec2ab87734acc209e6be3bc4898b1199f819bfd3 assets/create/blockstates/blue_sail.jso ee1299a15fca849eb42bf81507f85a54c167bbfe assets/create/blockstates/brass_belt_funnel.json 8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json +288bad07593a8a2c8efaf44bba0ffb0011d36cd3 assets/create/blockstates/brass_encased_shaft.json 3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json 672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json 11ebdd9bd0815833e62ec1bea03a4cdd86ce00f3 assets/create/blockstates/brown_sail.json @@ -44,12 +46,13 @@ e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.js 2ca82a3c4bf7ba1a9cf3bb674e786d9b23b020a4 assets/create/blockstates/chiseled_limestone.json cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json 291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json +470e8c6a9c37b91fa745bc4f6e9d3740bd72467e assets/create/blockstates/chocolate.json b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json 4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json 1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json e5e3757e99c139d67b2a70288466d8a74d818841 assets/create/blockstates/cogwheel.json 36f54136a7756c97f71bc6b47ef4e8e575e72879 assets/create/blockstates/content_observer.json -c309aead7e052aef770baebfb4d0e65dfd257b66 assets/create/blockstates/controller_rail.json +cfea7283f0ebd2432d67e80a523f2a12e24c0bd5 assets/create/blockstates/controller_rail.json f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets/create/blockstates/copper_block.json cabf6b8c59eb0e3d56a0a5a856ca058bb3200882 assets/create/blockstates/copper_casing.json 3355a852cdc717e257ca19b3db836068964733e3 assets/create/blockstates/copper_ore.json @@ -102,8 +105,7 @@ af19f2d229bb50da787c7d083a79a57cf9a8037c assets/create/blockstates/dolomite_cobb f179202e59e449157f89efc37229b03bbfd391d7 assets/create/blockstates/dolomite_pillar.json 7b1c40891b07c8f3238537625d9e25c8627e7333 assets/create/blockstates/encased_belt.json 7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json -656813b75dd3b901bf34f24df785e4b0fbe11aa6 assets/create/blockstates/encased_fluid_pipe.json -e157d7f67b08493b71d7ffea8d622f4a64dbc155 assets/create/blockstates/encased_shaft.json +d13940ed213d7acbc6ebe3bdd21175ef89e4d613 assets/create/blockstates/encased_fluid_pipe.json a774e815376a67e2a2de44e39af0a1a0b4406932 assets/create/blockstates/fancy_andesite_bricks.json 180be26a75834cf9cdb881f969f77906e91cc36a assets/create/blockstates/fancy_andesite_bricks_slab.json d5d7762b80952052d0a7adf3081967cac3f3ba6c assets/create/blockstates/fancy_andesite_bricks_stairs.json @@ -157,7 +159,7 @@ afff479c0e5284771afa9e7ce513595fe65860ee assets/create/blockstates/gabbro_cobble a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json 59bfa369af6df2c9363245addda86937daa339ee assets/create/blockstates/gabbro_cobblestone_wall.json a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json -9c48e311be8b959bfb98e16ffaa358210ac8b9dd assets/create/blockstates/gearbox.json +eca1f0e56efdadb241f42dc6ebb036f1d52213a9 assets/create/blockstates/gearbox.json f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json 93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.json 87661d61e1645ef5ad4ea34f1c0fa31f139ea431 assets/create/blockstates/granite_bricks.json @@ -176,6 +178,7 @@ a5ec5401ba9f3e102a2e1b35837f643847afbca4 assets/create/blockstates/gray_seat.jso 13059309684db0cc7a0f1f4fce2407cf06cce80a assets/create/blockstates/green_seat.json f4a0fc68e8daaa0a47cdc951ced4310057a874b0 assets/create/blockstates/green_valve_handle.json 6ab675fa06317e6d07c0c1a453e7bb43e3f46b3b assets/create/blockstates/hand_crank.json +4572b90f5d6c586e145f2c7a55664c3cb734bd2b assets/create/blockstates/honey.json be3bef7e091d8b50bfc1c6b7275946d1f636aefd assets/create/blockstates/horizontal_framed_glass.json 18d9fdaa1352a7e2ec91135e46dae5c02ccd8f8f assets/create/blockstates/horizontal_framed_glass_pane.json 30ec347dfc827a9ae52cf3da964b828005acede1 assets/create/blockstates/hose_pulley.json @@ -398,17 +401,17 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -0818cf173b4de38b28dc3350d57265cb2cfeecef assets/create/lang/en_ud.json -5583aad2ad39680a334b4a5bf36309a90189ae97 assets/create/lang/en_us.json -aa1b156e35c1f1d98984b6fc21439aad38c3fa2d assets/create/lang/unfinished/de_de.json -8f7bbbbc4da32798751742300a57403e40e842d3 assets/create/lang/unfinished/fr_fr.json -59f771f54220e922f2d3b3b351b279357142b158 assets/create/lang/unfinished/it_it.json -3ce96d122be8a453ebbd0d233386cf139e6925e3 assets/create/lang/unfinished/ja_jp.json -46ba934fcbc2d106d5011be1642f5e64b046ec2e assets/create/lang/unfinished/ko_kr.json -de37a1e084aa6ed4e64aa11907a204730ba5794c assets/create/lang/unfinished/nl_nl.json -59f7da327f9b9bafd916c0cb2c23811cec112ae4 assets/create/lang/unfinished/pt_br.json -368657c789f9297d5e7bb994e637e41f9928e111 assets/create/lang/unfinished/ru_ru.json -b84418c554f0a373cf036dffb15bdcf8f081d904 assets/create/lang/unfinished/zh_cn.json +666599fc27f1c67f992f989f5c9e707817e378f3 assets/create/lang/en_ud.json +930cc08e0462936ca440d7271992bf8e624f5247 assets/create/lang/en_us.json +98a913dd40c2f5e5d71d85b6a19fd6e5dd9f1a9d assets/create/lang/unfinished/de_de.json +795fb3cff856391c09bd7065416cc02a07ce4e7d assets/create/lang/unfinished/fr_fr.json +fb5db1f1f88e26443aee04e34bd7d776b59fecda assets/create/lang/unfinished/it_it.json +82935bc99220883e49ccf4f380af030e024df115 assets/create/lang/unfinished/ja_jp.json +8b25c7856a78ef247acaca6070d5e46d896f5b2b assets/create/lang/unfinished/ko_kr.json +83bd4e5d968264dd4e5872146b159cb23d699cd3 assets/create/lang/unfinished/nl_nl.json +11ab9394b65c0b756ca3693c6f1e2c569aff0095 assets/create/lang/unfinished/pt_br.json +40216a791b1bca38e4230a0f66d8748560c98c22 assets/create/lang/unfinished/ru_ru.json +548a60e23c0cadd2c34193eae1e3ee7f6d7cd043 assets/create/lang/unfinished/zh_cn.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 @@ -516,6 +519,7 @@ db7279f05c1d89e21da8887a15d3a1cfff4a9cf2 assets/create/models/block/chiseled_dar 1deb93125b9a8cac79bec1f4ea5345d6ea857656 assets/create/models/block/chiseled_limestone.json 1cf4b68c8cf1885ede334fbfa54e52c76ba211b6 assets/create/models/block/chiseled_scoria.json 041a20dd674277ff4f1613a0a89600f05458edf4 assets/create/models/block/chiseled_weathered_limestone.json +4156227e18c0896ce83f260f71b939abbbf4f01e assets/create/models/block/chocolate.json 30fe120af3cb32faf0729df4d2cdf868f804be17 assets/create/models/block/clockwork_bearing.json 1f01a4b6608f75145734b60ddf4a33ce318425ff assets/create/models/block/copper_casing.json b2c528cfd24a5cb0cb96c45d0a914f1090f8c32b assets/create/models/block/copper_valve_handle.json @@ -627,7 +631,6 @@ dba1df027963cddf283d81ab014f9fc4a8efe5fb assets/create/models/block/dolomite_cob f09c30ce1edfa2e59b56d17a76243cefc1c78dd6 assets/create/models/block/dolomite_cobblestone_wall_side.json e38a985deccedf9eeff61ae268c181bb5bfff224 assets/create/models/block/dolomite_cobblestone_wall_side_tall.json 5e39ecedd6d79b5b858a10722df8d6bb35bf7de9 assets/create/models/block/dolomite_pillar.json -8ba670f71b3b7800a621eb39b8256bde18e2a416 assets/create/models/block/encased_fluid_pipe.json 489c20dc7506d73e128c3113d52912a651c5ced0 assets/create/models/block/fancy_andesite_bricks.json cbfafcd4723fb660637a631bfdcf014097c72b36 assets/create/models/block/fancy_andesite_bricks_slab.json 80054d5af2c6ac4cff85acec7060cff0e34e1381 assets/create/models/block/fancy_andesite_bricks_slab_top.json @@ -781,6 +784,7 @@ a68cd40ffb769b195437107f4a2c2188b222b74a assets/create/models/block/gray_sail.js 17b651233c62b928f0228562a7f6e7a2b7b2d6b7 assets/create/models/block/green_sail.json 1438b8ce54ac5557b8f10dcef94f3525eae19461 assets/create/models/block/green_seat.json cc7ce9b6bc687ad5027a67c3bf22bdf5bcd71674 assets/create/models/block/green_valve_handle.json +5163171ed77af879fa06f290bf24b1bb99735c94 assets/create/models/block/honey.json b1e94d2858c3a8807def6c5131b6f63fe586fb91 assets/create/models/block/horizontal_framed_glass.json d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/horizontal_framed_glass_pane_noside.json 3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/horizontal_framed_glass_pane_noside_alt.json @@ -1179,6 +1183,7 @@ d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bric 1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json 8861d656eb6f61320b4d80eb079105705c762079 assets/create/models/item/andesite_cobblestone_wall.json +bc6e7469744604e578200ea87690e4dd3b25e447 assets/create/models/item/andesite_encased_shaft.json 7490819e7e5445019b6b8cb2538f12a5b6717a46 assets/create/models/item/andesite_funnel.json 75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json 795541cf7205d90531a23cd5b388f93a03bbf925 assets/create/models/item/andesite_tunnel.json @@ -1194,6 +1199,7 @@ d537fffaede521efa525fb2a7f9863fe6a80054e assets/create/models/item/birch_window_ bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json 17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json +c723011e09203821b6b59cff9de22454c5e4395a assets/create/models/item/brass_encased_shaft.json 099961ca4a75b6ecfddd1db6dd29909276759f3b assets/create/models/item/brass_funnel.json 965f3f992fde899719506fd584f3fbbbf69af93c assets/create/models/item/brass_hand.json d5e8b577aee56671e117a4a2ac93e58680b51949 assets/create/models/item/brass_ingot.json @@ -1210,13 +1216,14 @@ afd697168c9786eb80e54eccdc6a23afa6c7fb0e assets/create/models/item/chiseled_gabb 0cb1692f6cdd007ac690fd1f0222dde3429d136f assets/create/models/item/chiseled_limestone.json a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scoria.json 70232ce9b88119fb383717e2c1ad113f7aad6a99 assets/create/models/item/chiseled_weathered_limestone.json +7a3737f6156213762e28a4dbedc4c6828dc1878c assets/create/models/item/chocolate_bucket.json fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets/create/models/item/chute.json 6680a68526576ded5dac2aa3bc9fb9de3e744146 assets/create/models/item/cinder_flour.json c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bearing.json 0a2a0f0aafeab0088172f77afd40c1fa2cc1f2b8 assets/create/models/item/clutch.json dcb09deae110077bcddf090996b51cc66e9a7de3 assets/create/models/item/cogwheel.json 7717e3b21cff39f497f07687c70c1fa40eaa756d assets/create/models/item/content_observer.json -affb7308b2ff8341d8be1d34c38ee2126d6b48b9 assets/create/models/item/controller_rail.json +e903818e22c6286af8e09dc01551335174a83fe0 assets/create/models/item/controller_rail.json 965a90a882d85dba93b30af9bce7ecf8e68ce747 assets/create/models/item/copper_block.json 759bcb5fe7dfdd628716f9b4ff19a5ab00393381 assets/create/models/item/copper_casing.json c2a320162daa2d24cef969d1d14a0cbd55eb574f assets/create/models/item/copper_ingot.json @@ -1232,10 +1239,19 @@ f7d06c52c3ca8c22ad67f5741471f06ac22e7fcb assets/create/models/item/creative_flui 5b39403f6c81f05e566b621b62e267267de47c41 assets/create/models/item/creative_motor.json 5680d7cee347c46bb29db8c77dc33f234a7eba41 assets/create/models/item/crimson_window.json cdcc4c773bdda431e2aef26e83c061db36e66bae assets/create/models/item/crimson_window_pane.json +e5f43ee61a7f434a487a5c91890d7eb295928d73 assets/create/models/item/crushed_aluminum_ore.json 6281a7439c92459761893835f91fde25467fae76 assets/create/models/item/crushed_brass.json cd148cb7e881091ecce2390dac0d9f545573c91c assets/create/models/item/crushed_copper_ore.json 5b701661c7b847dfe5b4cbc854b48f128f90090c assets/create/models/item/crushed_gold_ore.json 38181d7bf4284534666cfd62c1c9defed69d0788 assets/create/models/item/crushed_iron_ore.json +23bd807b2e667810c800ad56dc1133b96aa32726 assets/create/models/item/crushed_lead_ore.json +5a3e06b518bf5ba66366da2e01797f6d014ec003 assets/create/models/item/crushed_nickel_ore.json +635e874e6e07133786b19110f901363f18930187 assets/create/models/item/crushed_osmium_ore.json +d8af07fa338c986bcadaa3cec0ae9d36bd852f43 assets/create/models/item/crushed_platinum_ore.json +d99a0ad01203ed70cd110acda082a1d55a06b9a5 assets/create/models/item/crushed_quicksilver_ore.json +cecee6daf2619dcf035c7aea5fff1bd892f6ff06 assets/create/models/item/crushed_silver_ore.json +a8d3f330d312f82b0de59940581910090b2bd012 assets/create/models/item/crushed_tin_ore.json +b359064405d189e2802969715cd5f682ddbf0bb1 assets/create/models/item/crushed_uranium_ore.json 2bb791db62dce6bf2e2227f9b607c131828471fd assets/create/models/item/crushed_zinc_ore.json 823c91f63565db54ec3944a1e90e7aee18e41062 assets/create/models/item/crushing_wheel.json dae5cffa4e1263d6a113469f79fba8695fa8232a assets/create/models/item/cuckoo_clock.json @@ -1355,6 +1371,7 @@ ecb9f32f62d3fa43fb226ab85adc2eb229fdfb77 assets/create/models/item/green_valve_h 398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets/create/models/item/hand_crank.json cfab82a2cf7495d21778c1de9730a26afbdd523d assets/create/models/item/handheld_blockzapper.json dee43bf1a9c211a752fac2c07aeba123f7f0c914 assets/create/models/item/handheld_worldshaper.json +f0d5af58e23e2705b3ef675c30bdf85ed9567c57 assets/create/models/item/honey_bucket.json 955e8accadb47f9b360e5fd48cd959c507b00f2d assets/create/models/item/horizontal_framed_glass.json f0e3b2b8a553b6e61746c922c27302dabfff71b6 assets/create/models/item/horizontal_framed_glass_pane.json ff92f6a9dfb73a6ee1eaaed3279c89390ff04a80 assets/create/models/item/hose_pulley.json @@ -1618,10 +1635,46 @@ db8786e15e2ff39523705f4dd2ee4fb2e04d934b data/create/advancements/mechanical_saw 7f0847247a80ee930c23f551bce00bda74f81b0e data/create/advancements/overstressed.json 72025d8bf73ab8096c29f12d0c8d9a346f09cd64 data/create/advancements/polished_rose_quartz.json 62d29ec01eff5d21968636a0479361ecdc11ae30 data/create/advancements/press.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 +3f022f89aeb5034f2292ca71daa9f311e8af40ff data/create/advancements/recipes/building_blocks/blasting/ingot_lead_compat_immersiveengineering.json +b7232d0e659de3f227289a5275f76a5a2ec578bb data/create/advancements/recipes/building_blocks/blasting/ingot_nickel_compat_immersiveengineering.json +bf68b12cf828b64f5bb407bba6cf6ced8578327c data/create/advancements/recipes/building_blocks/blasting/ingot_silver_compat_immersiveengineering.json +84963b1e8eb81dd20df6a9680028f8b76fef2bae data/create/advancements/recipes/building_blocks/blasting/ingot_uranium_compat_immersiveengineering.json +744d8831fde05ee2598ccde10f9289512c45d55b data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_mysticalworld.json +4ef0ac97acddee1c49a0deb402b43feb40af1dc6 data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_silents_mechanisms.json +6a7c767957b8c1827ad58210b37321a2a6bb4018 data/create/advancements/recipes/building_blocks/blasting/nickel_ingot_compat_silents_mechanisms.json +075d793d172da2500e591af050176b1d3a0d26aa data/create/advancements/recipes/building_blocks/blasting/osmium_ingot_compat_mekanism.json +f994f545e3a1990448e852c556d94f7eaf9954a0 data/create/advancements/recipes/building_blocks/blasting/platinum_ingot_compat_silents_mechanisms.json +85b1a8c173ca7e5421f9d2bd0f3f997c8431d15c data/create/advancements/recipes/building_blocks/blasting/quicksilver_ingot_compat_mysticalworld.json +9b48187d487ddabcad4f4e4f75b67813f26a746d data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_mysticalworld.json +96bf046af4d23dddcca5915cfbfc04a46b0d2912 data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_silents_mechanisms.json +0c12fee4021c8095385f3df008bd187dd0baea0e data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mekanism.json +506ade70e5bcc111323823f195c3abe4869d4c69 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mysticalworld.json +a75f1162ac89cd50a1ca8e525dd059fb359a6550 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_silents_mechanisms.json +38410d4b3bbbf33c1c8913735abd1b3d71fb3829 data/create/advancements/recipes/building_blocks/blasting/uranium_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 295c5a61d6f175a65d25e19cbd7ca90d3b4a93b2 data/create/advancements/recipes/building_blocks/smelting/glass_from_horizontal_framed_glass.json d192e3f2185ad3cd8cd64f639dd6395aaec89563 data/create/advancements/recipes/building_blocks/smelting/glass_from_tiled_glass.json 98fe15c805f1d228f1db6a2b35426ef01e9747a8 data/create/advancements/recipes/building_blocks/smelting/glass_from_vertical_framed_glass.json +43d3d2c952f54fdf73e4df422554451ceff899d3 data/create/advancements/recipes/building_blocks/smelting/ingot_aluminum_compat_immersiveengineering.json +48439dd60a0a79f0ab6accc3773a3a8b64b7396e data/create/advancements/recipes/building_blocks/smelting/ingot_lead_compat_immersiveengineering.json +7d8325768f249a1ac5d79d60eb58b6eb32c51234 data/create/advancements/recipes/building_blocks/smelting/ingot_nickel_compat_immersiveengineering.json +d192714def52e54a58ae96f7592055e925d88bb8 data/create/advancements/recipes/building_blocks/smelting/ingot_silver_compat_immersiveengineering.json +6f0b67b3f49da5c3102a48e68e6c4f834d08b0e2 data/create/advancements/recipes/building_blocks/smelting/ingot_uranium_compat_immersiveengineering.json +847dc1a0bd2275a11ff02624b98cf7fdf0d8f47b data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_mysticalworld.json +79d5f852e9e48e9e8ff5cd42890fbc9ad29e9712 data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_silents_mechanisms.json +2be47fb3a33a7e92705767eb255d7586de56f4a5 data/create/advancements/recipes/building_blocks/smelting/nickel_ingot_compat_silents_mechanisms.json +1cebfdc52bfa34515144e651ba5a6d65e97a57a9 data/create/advancements/recipes/building_blocks/smelting/osmium_ingot_compat_mekanism.json +70d98f34671f09331f6765447b95cd00c3b8d4e5 data/create/advancements/recipes/building_blocks/smelting/platinum_ingot_compat_silents_mechanisms.json +8e5beb04ea241145f4e34320cba1745fd9d386e6 data/create/advancements/recipes/building_blocks/smelting/quicksilver_ingot_compat_mysticalworld.json +60fd25d05bfe101d83e3a13678cca9940665771c data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_mysticalworld.json +29685c6f05455faa657cb51433352d005b798cf4 data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_silents_mechanisms.json +787158553e0eac72dffffed787d2a2529754e8b0 data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mekanism.json +7677ff00e70a92e9c4b9035b0d706e0c255b7e26 data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mysticalworld.json +e98e6372bb065a0d82f44bea7169e8f40bd40920 data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_silents_mechanisms.json +8b47a4314f17dabe490ffc9bcd9b9d32640a6ef2 data/create/advancements/recipes/building_blocks/smelting/uranium_ingot_compat_silents_mechanisms.json 9db50289b778cbcdfd9cd8589361924a0f1bebad data/create/advancements/recipes/create.base/blasting/brass_ingot_from_crushed.json 9b7a18a8697ef7ea09538909df640af53d0b6ca7 data/create/advancements/recipes/create.base/blasting/copper_ingot_from_crushed.json c368cadffa9177fefb9e92ff4453b40bc8dd670d data/create/advancements/recipes/create.base/blasting/copper_ingot_from_ore.json @@ -1653,6 +1706,7 @@ d3ca638ffbca177b4970f046f6c42770e757e33e data/create/advancements/recipes/create a49a70403523bc9d4eadffdac5507806aca9fd9d data/create/advancements/recipes/create.base/crafting/kinetics/clockwork_bearing.json 403fd0da8ee42a52234e544cf532e454fb80137b data/create/advancements/recipes/create.base/crafting/kinetics/clutch.json 5bbaac432fce5435c8c3df56ec81d31a0b76a4ee data/create/advancements/recipes/create.base/crafting/kinetics/cogwheel.json +b42213bffce4e51618e1bba481959208d247c120 data/create/advancements/recipes/create.base/crafting/kinetics/controller_rail.json 27930edef02aac6e74bfab62128688ecfb575008 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json 512e4d45657f6df3df2639040e8c5e76f9119f17 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json 7b80f6b25e1e21e9545120592bc1a3561ee49603 data/create/advancements/recipes/create.base/crafting/kinetics/crafter_slot_cover.json @@ -2230,6 +2284,7 @@ cb36b039a511aca643fe674a63de8d6ad8478256 data/create/loot_tables/blocks/andesite a438bc69030589264e1d736bbd08662bdd123be3 data/create/loot_tables/blocks/andesite_cobblestone_slab.json 6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data/create/loot_tables/blocks/andesite_cobblestone_stairs.json 36d38c085d8e522fe15f0ef9bc64363e163f3de7 data/create/loot_tables/blocks/andesite_cobblestone_wall.json +b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/andesite_encased_shaft.json d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_funnel.json 6908f62c809ea2105bc92765d84d5655197346ab data/create/loot_tables/blocks/andesite_pillar.json 317aa99086127c649981b7b2fc85e66774a30f58 data/create/loot_tables/blocks/andesite_tunnel.json @@ -2247,6 +2302,7 @@ fcddccd1bf45c2f4ad5f1520e209a4f04487274a data/create/loot_tables/blocks/blue_val 1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_belt_funnel.json 70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data/create/loot_tables/blocks/brass_block.json 8a14258ad5d79d9e4dc5a318905644b446196420 data/create/loot_tables/blocks/brass_casing.json +b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/brass_encased_shaft.json 1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_funnel.json 6c8e784677d1a843b6c707484c79751acdb46ebc data/create/loot_tables/blocks/brass_tunnel.json 28ae0ee8a0b1fb6becae6264de687fe17940708e data/create/loot_tables/blocks/brown_sail.json @@ -2318,7 +2374,6 @@ d5fc5b3dc612cd748117e9d8b0ecda76e73f4514 data/create/loot_tables/blocks/dolomite 503a93787537b46f462d32b0382c3396f42bb1f6 data/create/loot_tables/blocks/encased_belt.json 9055d82b983b673e1638d17b712b9fcd1f5a52e6 data/create/loot_tables/blocks/encased_fan.json c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data/create/loot_tables/blocks/encased_fluid_pipe.json -b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/encased_shaft.json ddfc4764a6039d771e03af815ac4493da80d2e6b data/create/loot_tables/blocks/fancy_andesite_bricks.json 6de29951b4129dfd5c7fd6960e7dd8b8d371b451 data/create/loot_tables/blocks/fancy_andesite_bricks_slab.json 413c8bb80954679796cd9d18f808c28a7bdbe681 data/create/loot_tables/blocks/fancy_andesite_bricks_stairs.json @@ -2633,11 +2688,29 @@ a961cdd11e807bc4658bbdba6c278801b5981234 data/create/recipes/andesite_pillar.jso dcdad7a04838ef202b42f84a15243e3d2472b14e data/create/recipes/andesite_pillar_from_andesite_stonecutting.json 2b291b77860254b7ba8500cf2199a04ca1fca7b5 data/create/recipes/birch_window.json 288d80210f7efb4664e2e9c9d9111049863e5f60 data/create/recipes/birch_window_pane.json +a4a9159c349dba7269c6b32c481f1df90b9e805a data/create/recipes/blasting/aluminum_ingot_compat_silents_mechanisms.json adb384440f91411692689707d5c767c1065ac06c data/create/recipes/blasting/brass_ingot_from_crushed.json c21420fbf2080dba5f95bdc9a19743ba09e1f1c9 data/create/recipes/blasting/copper_ingot_from_crushed.json c6f0509618f703f1a48313e46d934bd862096699 data/create/recipes/blasting/copper_ingot_from_ore.json d9021504be855cd2d4d91503a82b84233052adb0 data/create/recipes/blasting/gold_ingot_from_crushed.json +f2307aa01ddf7accb3fe19c4d3f9b46dec1acf97 data/create/recipes/blasting/ingot_aluminum_compat_immersiveengineering.json +8315c188802bd64f7226a9e942be45173112c7ac data/create/recipes/blasting/ingot_lead_compat_immersiveengineering.json +368fd45a8e9d5d2fc0e1f8af1ffb48984b85601c data/create/recipes/blasting/ingot_nickel_compat_immersiveengineering.json +9b5a388f0f8a3a8fae9e6bbf6460913b7c1f6fe7 data/create/recipes/blasting/ingot_silver_compat_immersiveengineering.json +ba7498521a1e07b9bd46ec230d952fb232eaaba0 data/create/recipes/blasting/ingot_uranium_compat_immersiveengineering.json 69cda0f54c47cd44c296608cc379db855602410f data/create/recipes/blasting/iron_ingot_from_crushed.json +65a44735ffa0c3e471a1df30b987d8c3cf1764fc data/create/recipes/blasting/lead_ingot_compat_mysticalworld.json +aeb345e5b4c266ac9e2ef6929b153cb535468d01 data/create/recipes/blasting/lead_ingot_compat_silents_mechanisms.json +91691cb14043e8222c38a18bb103f874b39d30b1 data/create/recipes/blasting/nickel_ingot_compat_silents_mechanisms.json +453a6602d70bbd30e13033565eb6ce6fa8fde194 data/create/recipes/blasting/osmium_ingot_compat_mekanism.json +a99be7aae1706cce96a3b6fadd38295bb53d10b7 data/create/recipes/blasting/platinum_ingot_compat_silents_mechanisms.json +3419a88787e331d59e0da8b9084d8c8a72a84ec0 data/create/recipes/blasting/quicksilver_ingot_compat_mysticalworld.json +84b73c8ef561ab0ecc2954cd86160595975811d6 data/create/recipes/blasting/silver_ingot_compat_mysticalworld.json +3ce20049c90fc3ce446efac1d166b5e1b2855980 data/create/recipes/blasting/silver_ingot_compat_silents_mechanisms.json +3d0c3e23be0d237a37a1c9945a7d0021248ffc50 data/create/recipes/blasting/tin_ingot_compat_mekanism.json +44a31af2877854f1b22691eb9b0dd831f80628f0 data/create/recipes/blasting/tin_ingot_compat_mysticalworld.json +dd44cf0e09b1b34b4d2c254ab3d10d05a02717aa data/create/recipes/blasting/tin_ingot_compat_silents_mechanisms.json +363e231126694b3ed8dc539b9dfb1c949bacbf5e data/create/recipes/blasting/uranium_ingot_compat_silents_mechanisms.json 70b58fa5ee4ca088f5cd9d4bce2853b1bbf98780 data/create/recipes/blasting/zinc_ingot_from_crushed.json 397a2b5d5d3b072066c3d7a9546769560e4674a3 data/create/recipes/blasting/zinc_ingot_from_ore.json 339bcf4a9c4e7b36c15970aa671af8620703b23e data/create/recipes/campfire_cooking/bread.json @@ -2671,10 +2744,11 @@ c50077a130bc43cd3659faa02ce95789399478b2 data/create/recipes/crafting/kinetics/b a3c99b38fc8896c9971a5e9dcbae747786ff610d data/create/recipes/crafting/kinetics/brown_seat_from_other_seat.json 43233c87cfb80d57345a561c3dd2646c8d3c0d8a data/create/recipes/crafting/kinetics/brown_valve_handle_from_other_valve_handle.json 860796dce8756c4cd234f18bbe52108f3b2254c2 data/create/recipes/crafting/kinetics/cart_assembler.json -3bc3510b64e576d68b19f4ceb5d9bd6591dbcf6c data/create/recipes/crafting/kinetics/chute.json +abf8a28b4b8ae4ba15beed938736ef3a5a7b27ff data/create/recipes/crafting/kinetics/chute.json a80e3eabbeba2931d0d58dd9492018a0d78da8b5 data/create/recipes/crafting/kinetics/clockwork_bearing.json 501ad764d087b40ce36f3d4256b0d5ee25b2081e data/create/recipes/crafting/kinetics/clutch.json e46bcc6778ff5118252fe6371ef817ae1302253a data/create/recipes/crafting/kinetics/cogwheel.json +11fe2ccc11f470e5735c3e848a944f889697ff73 data/create/recipes/crafting/kinetics/controller_rail.json 3093be508f6597eee2f3230cd9072f12d2821a6f data/create/recipes/crafting/kinetics/copper_valve_handle.json 886caa21481e62d44d70fd103f8d29f9bac64d60 data/create/recipes/crafting/kinetics/copper_valve_handle_from_others.json 59db5170cec390fe6c20a27d6154deebe044580c data/create/recipes/crafting/kinetics/crafter_slot_cover.json @@ -2826,32 +2900,42 @@ fe95f8f5f15edb0a5ff8da5a4757c9f8910b51bd data/create/recipes/crafting/palettes/d 1a810338ea15ab5ac2f37e87579c56f72b2b371b data/create/recipes/crafting/schematics/schematicannon.json 4629d9a1a8a98a6b5b8b82c4507ca9e321c3a210 data/create/recipes/crimson_window.json 72cffde4281a1e34d77aa91c847e811833b68f21 data/create/recipes/crimson_window_pane.json +18ece8e366b73d19950f9a5a5c93a92c857da2e9 data/create/recipes/crushing/aluminum_ore.json 3da7a3cdb84f44e259b5399a94ddfbf94ebebd37 data/create/recipes/crushing/blaze_rod.json 5878767e89be5a522b8f28d6a2d7b2f8566cf0dd data/create/recipes/crushing/brass_block.json b83ef0af844ca068e0353330b8273bace5b6a8c3 data/create/recipes/crushing/coal_ore.json da4ed79975391ec9f263869936b84474f1f727d3 data/create/recipes/crushing/copper_block.json -d49472887067c871943de1b80887b169682eeca9 data/create/recipes/crushing/copper_ore.json +b576c6e51e5b6a0623e024ac90cdf4d3a9265e4b data/create/recipes/crushing/copper_ore.json 4c482db5575b74b4111800602d7fce22b2e6d32a data/create/recipes/crushing/diamond_horse_armor.json +28ba8cf655bd11bb6c600cd862b98349c812915f data/create/recipes/crushing/diamond_ore.json e1bb927c62c59f5bf5063bd110da9231de378a1f data/create/recipes/crushing/emerald_ore.json b26b1f0dccf2ffb194ce12173890a83e93369b39 data/create/recipes/crushing/glowstone.json -50e75cdde6996c47b5dc25f27b84367040249107 data/create/recipes/crushing/gold_ore.json +274ee397285ded906792a0a19e54faefc496a931 data/create/recipes/crushing/gold_ore.json 55c0656723bd5a87089965651fe268b2d2956771 data/create/recipes/crushing/golden_horse_armor.json 7ce0637578ab3198de54ac74111b6d458eaf08bd data/create/recipes/crushing/gravel.json a7c97582bae243ab04ff5ff9914b24af25d40d59 data/create/recipes/crushing/iron_horse_armor.json -15d2e42423fd9fbf37864de4a6dffc2f53a307a9 data/create/recipes/crushing/iron_ore.json +9ad2394a8835c0d59edd699d646ae64b266612f3 data/create/recipes/crushing/iron_ore.json 5be5d90f862da95d9fd15663b71bff126fd04441 data/create/recipes/crushing/lapis_ore.json +62e2768ae8f0de8d2e50a0916d4961f7836b5f04 data/create/recipes/crushing/lead_ore.json e870d049abc5cd5f389f70414c67e76ddc14060d data/create/recipes/crushing/leather_horse_armor.json 2bc66f89a751a440c93de5f1d28d54f9b5a0da77 data/create/recipes/crushing/nether_quartz_ore.json 2b9b8e1ab81f47c4f7fb79a007aef214af12a342 data/create/recipes/crushing/nether_wart_block_no_quark.json 70116a5a9d1f93ae377e1526ca99582190cf2e3e data/create/recipes/crushing/nether_wart_block_quark.json 8003e7db3ee11066b365c251f04f84028820de94 data/create/recipes/crushing/netherrack.json +7b4c7587374fb77088f226187771de520ada548b data/create/recipes/crushing/nickel_ore.json dd4b9e88a723f6c3f2456f36ef2354cd86d85433 data/create/recipes/crushing/obsidian.json +4a71aea480a6e6dd844c452155af1c30d70c5c09 data/create/recipes/crushing/osmium_ore.json +5e057c5e46f744fb63d9c1d51c113fd2bb95bfb7 data/create/recipes/crushing/platinum_ore.json 67197bbbb9667ab481410d21cb014bf9ca71ea60 data/create/recipes/crushing/prismarine_crystals.json +d068d6b1c0ffddf989188b826cf948e997af184d data/create/recipes/crushing/quicksilver_ore.json 03874de476273de5aab8758f23d1ae638847843b data/create/recipes/crushing/redstone_ore.json 2f48a98a44f01a014d4dd59030dc38afa234f3fc data/create/recipes/crushing/sand.json +2583968bd8227c0aa464741e2b5716367acd1536 data/create/recipes/crushing/silver_ore.json +e288b431c6a313a637cdc6208137faa17f6d8c4c data/create/recipes/crushing/tin_ore.json +307f30eb1180bca140572d08951c06b01a85beb0 data/create/recipes/crushing/uranium_ore.json b6b97f139ee0a06a4ec1ed9f43e1f845b3c502d3 data/create/recipes/crushing/wool.json 967bea8eabac8fab8de547ddd6670230f400c111 data/create/recipes/crushing/zinc_block.json -e4683ed7e28fbf502ca176513c43ee719a016d13 data/create/recipes/crushing/zinc_ore.json +0c9692950385949ba605065b6fbce32a75f9ee8a data/create/recipes/crushing/zinc_ore.json 86b1e391fe567ad1ca9f27c963e16c2f6e6b3bc9 data/create/recipes/cutting/acacia_log.json 3601e7100d6de215a524a12c641b5111c95d314c data/create/recipes/cutting/acacia_wood.json 68687da80b9dc7ea69729b0e16d3e75efed8679a data/create/recipes/cutting/andesite_alloy.json @@ -2927,6 +3011,8 @@ ddda28bb6efc43b7e3149756daf53e1664187283 data/create/recipes/dolomite_cobbleston 500ecdfdcf34e9d26256948e206aab4f0b79e659 data/create/recipes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json ff39e629b242ae91e23aec86b0a1f757dd938305 data/create/recipes/dolomite_pillar.json b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data/create/recipes/dolomite_pillar_from_dolomite_stonecutting.json +20b7c7c62fa2e33199e08188dd8836844a6d9cfd data/create/recipes/emptying/honey_bottle.json +28a0f9a45671de2e6db19fa66374e245feeed142 data/create/recipes/emptying/milk_bucket.json 0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data/create/recipes/fancy_andesite_bricks_from_andesite_stonecutting.json 8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json @@ -2990,6 +3076,8 @@ bd355332d17adcb0460b1d43146ca288efb78395 data/create/recipes/fancy_weathered_lim d2ab9ce73636773165564506580f2ec13bd1fc50 data/create/recipes/fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json 36947f27d2b2e57b00440fd5acd06a7554e5a387 data/create/recipes/fancy_weathered_limestone_bricks_wall.json 1d0e41ca98e48073c72adf4077610c96e592f9a5 data/create/recipes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json +c8ca74a6cd071308a1750a2ad1153e79422598a0 data/create/recipes/filling/honey_bottle.json +c83e77a9799b6ca34dd73aa76b56159f2103c48c data/create/recipes/filling/milk_bucket.json 5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json @@ -3061,6 +3149,7 @@ ce17f8ab6e051f45a12e55f1642ad1b8a0f8510f data/create/recipes/mechanical_crafting fc380bc241f3233700e91fe2947e1a5d6c70e7db data/create/recipes/mechanical_crafting/mechanical_arm.json 23bd72789e7be894c4ee8927a171c721afcc2084 data/create/recipes/mechanical_crafting/nixie_tube.json 98f877bf8f3f8a686fc6cf7479a0fba5744248ce data/create/recipes/milling/allium.json +8c7e1cbc87c7ca7df2bf949957e89422fef8ad94 data/create/recipes/milling/aluminum_ore.json bcff4d30ae09a0729bce8b2dbde4ddd6719a998b data/create/recipes/milling/andesite.json ac3f1c92115a113a1ea7e5543c1e061e3d2a0b36 data/create/recipes/milling/azure_bluet.json 95d673bb272d273c2ad25bf01723dd978642faed data/create/recipes/milling/blue_orchid.json @@ -3072,45 +3161,55 @@ e34c20506e9054da0e3b22fb27a093222eeb9a9c data/create/recipes/milling/clay.json ccce7e6d1ab703d6567046b9c99c254e8baa88f7 data/create/recipes/milling/coal.json 851e4f3b84f431003264bc902a3351b6d769c897 data/create/recipes/milling/cobblestone.json 929d5c69bfd4eefc33766954e1ed7cbc284180b6 data/create/recipes/milling/cocoa_beans.json -08f453ce32e4ea28e4ca3ac3e446fa8019e2bc58 data/create/recipes/milling/copper_ore.json +a1d947988d0c31be6a7f86db255328d704c90bda data/create/recipes/milling/copper_ore.json 31da5a1a6cc6f6cf90bf091d968d8b6f8555b292 data/create/recipes/milling/cornflower.json 623c1a134f8ce6b7d52476b6da8e8d210dba7bb1 data/create/recipes/milling/dandelion.json 62652b87e4f6435be9900afd4725e7a5782bc9d1 data/create/recipes/milling/diorite.json 28bad3c34cf0f5e20c48486c15130f6c552a93ec data/create/recipes/milling/fern.json -639469b734d0fed1583e963b461b01cbf04ec417 data/create/recipes/milling/gold_ore.json +9acaae7f887c815a5d2195e4847f276161e94fec data/create/recipes/milling/gold_ore.json 51d692a94c69e10e3b77542f9cd98500104d5a42 data/create/recipes/milling/granite.json 6f9d6891b2bc2e6f1dc24a7802f9a0f7982e9d20 data/create/recipes/milling/grass.json 407a82fb6ca49d8e6159b0e900f856021b1dd771 data/create/recipes/milling/gravel.json 7932570ab897c0afe71ca368372f7628cb2c9b31 data/create/recipes/milling/ink_sac.json -ad9857c18bbeaf838f389bbc69e2d33418245285 data/create/recipes/milling/iron_ore.json +b73e22d4234fa32a649c57d3a83a1b9c8f89f358 data/create/recipes/milling/iron_ore.json b2e80b5752eec591f4110f6a5fc5e052aeecab78 data/create/recipes/milling/lapis_lazuli.json 1720439fd1c8eb808d1a1d29510b71860afbdec2 data/create/recipes/milling/large_fern.json +63e4d80308ac542d36e82a4689267fce4d8c86bf data/create/recipes/milling/lead_ore.json 3c8a3b3d8c91e107c2ff64b2115f5cf94197fc91 data/create/recipes/milling/lilac.json f2a7518eeef43052785dff6c3bf305c8c74c4789 data/create/recipes/milling/lily_of_the_valley.json +051ccd86b1dc037c7c12a4abde6bd4f7e5bc7bb0 data/create/recipes/milling/nickel_ore.json 5ba9cd55d4a551350b64ecbbff6bfd32e130c00c data/create/recipes/milling/orange_tulip.json +856cb5f8aa2b4c3a292fb71348bd060b4cd5fe1d data/create/recipes/milling/osmium_ore.json e5f121e244cd0afa2fe3d76a1e15ca9974bee96b data/create/recipes/milling/oxeye_daisy.json 077edce210beb2cbe5e37062b0518be473784dc7 data/create/recipes/milling/peony.json 00c67bfbfc780b0d0343c9d31fda9f477341bc88 data/create/recipes/milling/pink_tulip.json +6b176880d75ab9f7fd80fa175d4c18c129c1dad7 data/create/recipes/milling/platinum_ore.json 47fabce9ae3fbc2cc888697b11e6d48748631ef5 data/create/recipes/milling/poppy.json +c338d5ad841673364d514800074268b83852e944 data/create/recipes/milling/quicksilver_ore.json ea6fb7e30fa22cd87ff4760288e11f909b78ac86 data/create/recipes/milling/red_tulip.json bda581c2039f41f7d55527814a46903f10da7e05 data/create/recipes/milling/rose_bush.json 54be62a1bf098a370d315f79068ec326e4f4d6c2 data/create/recipes/milling/saddle.json 8bc6124293f4efb5f2d0fa4a3166c6d00a88a14c data/create/recipes/milling/sand.json +87e30347cc28aa5fb2daefae4c25fa81ce92b0f1 data/create/recipes/milling/silver_ore.json 1e14bd30032aab6dfaff5bca50c791332ffc1aaa data/create/recipes/milling/sugar_cane.json af2beca9f934601ad029f34bad08be3cee07f6b4 data/create/recipes/milling/sunflower.json 949c7aa8f5172c07b0b5ea178d8046ffaac9f527 data/create/recipes/milling/tall_grass.json 542ffcedc9b1467ec41c6f4e162453e76fa1ead1 data/create/recipes/milling/terracotta.json +2af15c24fecb0c25017f23ec74f2f4a343b92c65 data/create/recipes/milling/tin_ore.json +aa0db51304fc877f9670e6c331a94bd38ca853ce data/create/recipes/milling/uranium_ore.json 4f61f0efbd980407d4e0fa1067dd320f01496c6c data/create/recipes/milling/wheat.json 0a598bfc39ad473856887703d7971ba3a70339f8 data/create/recipes/milling/white_tulip.json 19a16516ce26afddef5604b118899a50671a9a9a data/create/recipes/milling/wither_rose.json eec880075efd6008b604a4b8064d782752b4bad6 data/create/recipes/milling/wool.json -9f105242e06994f541236f669931a6bb983afadc data/create/recipes/milling/zinc_ore.json +2363962d6c8ad337b1fd9dfb2bd2c82388b911a5 data/create/recipes/milling/zinc_ore.json b3cc5e61bab40ca6135dc1f706f3ab447e9f78bf data/create/recipes/mixing/andesite_alloy.json ce9dc7dacb85cb23a7187c19a115b40e597ad36b data/create/recipes/mixing/andesite_alloy_from_zinc.json 3417f9399ce0fb32fc4bce94c772b40d780c9006 data/create/recipes/mixing/brass_ingot.json +ab602a53a5d8d057aad910dd1c5529cde2d587ab data/create/recipes/mixing/chocolate.json 0e29b4ce13750aab5a60ae54cbec8776569b35e0 data/create/recipes/mixing/chromatic_compound.json d9a3dff1288d675ab812eef1eb73cb27dcc71bd2 data/create/recipes/mixing/crushed_brass.json 00b165ea38d834c7955440e87062004a8182c3f8 data/create/recipes/mixing/gunpowder.json +0f89b3f2d81585591513619b8d1e8694eb874316 data/create/recipes/mixing/tea.json 3279bd1a34217a19bc9992a2ad87629390dd003f data/create/recipes/mixing/temp_cobble.json 3295a2195707f952a83deb3bed10b43570b215e5 data/create/recipes/mixing/temp_lava.json 1998c6f84f871d6da58ec29d729401d18f8f1aa1 data/create/recipes/mossy_andesite_from_andesite_stonecutting.json @@ -3269,6 +3368,7 @@ f7b7ff190929ae525297fecb3c116f32fc05fd88 data/create/recipes/scoria_cobblestone_ a9096822db9d12b6014d6d34e52de5821305c03f data/create/recipes/scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json a513468ce4d55fe3b3919bd76ba2bd5b6fac4d4e data/create/recipes/scoria_pillar.json 2e0ecbd3619f080d0fc6fe48307c5a5bcc2e91b4 data/create/recipes/scoria_pillar_from_scoria_stonecutting.json +4e817b521623966fa24186731a70f0e14c03168e data/create/recipes/smelting/aluminum_ingot_compat_silents_mechanisms.json ae90f50589bc06b44765ac8cbb9fbdc2b58fdb32 data/create/recipes/smelting/brass_ingot_from_crushed.json 64cbf425effba00ff2e31d95cffc2be2e0191932 data/create/recipes/smelting/bread.json 68aae31e827e192e28e1f950b0bfdeb4ec1860c7 data/create/recipes/smelting/copper_ingot_from_crushed.json @@ -3284,10 +3384,27 @@ daaa640dbfaa86685de636b89afe2fdd74cd0cf9 data/create/recipes/smelting/glass_pane 48bdeff8ca1ae7bf732fc870fb0fa294de56188a data/create/recipes/smelting/glass_pane_from_tiled_glass_pane.json 7035be7cce5a38c794d9cc872801329af81bac46 data/create/recipes/smelting/glass_pane_from_vertical_framed_glass_pane.json b032c79090adad2262ae94609e0b3747327d51a2 data/create/recipes/smelting/gold_ingot_from_crushed.json +5cd79470a32c77fc7347a04ad2096df08769a59f data/create/recipes/smelting/ingot_aluminum_compat_immersiveengineering.json +ce34f496dca15378b5e4b21c70505e9d1184848d data/create/recipes/smelting/ingot_lead_compat_immersiveengineering.json +428b3981a13c63381115384496d89375e3d20837 data/create/recipes/smelting/ingot_nickel_compat_immersiveengineering.json +456ec25989f6d882fc931764341d8217386cf9ab data/create/recipes/smelting/ingot_silver_compat_immersiveengineering.json +7ca0d75c667e171f2abc5faeb96ef17282b130ac data/create/recipes/smelting/ingot_uranium_compat_immersiveengineering.json fe3e4c244c34aa6948243fabd6b42f04f80d4992 data/create/recipes/smelting/iron_ingot_from_crushed.json +4a1e8041f44bb36d29ec624fc78bdfd0ac875953 data/create/recipes/smelting/lead_ingot_compat_mysticalworld.json +76433e1605c03dec670d95e9541770c53f4a5aaf data/create/recipes/smelting/lead_ingot_compat_silents_mechanisms.json bf0e5df5a88e583e39a4e14b006cbf33b99611e1 data/create/recipes/smelting/limestone.json +6a9ef35f3e5fc37602d887687924547ea77bffcd data/create/recipes/smelting/nickel_ingot_compat_silents_mechanisms.json +18d0f016d3dfa08789438e074626258932404898 data/create/recipes/smelting/osmium_ingot_compat_mekanism.json +86725fc9711c6e7971a4b396aa089ad191089bb3 data/create/recipes/smelting/platinum_ingot_compat_silents_mechanisms.json +92c308baf81fe2c8a63c90b0dfc7cf8cc2183c4b data/create/recipes/smelting/quicksilver_ingot_compat_mysticalworld.json 2c230522bb0946bde6a51442cb15c5efeea99b15 data/create/recipes/smelting/scoria.json f5317c85a9e10a5f9346e13aef8bb364a5203346 data/create/recipes/smelting/scoria_from_natural.json +96c2b799b812e469bb1785200d68c1e8f8cfacf7 data/create/recipes/smelting/silver_ingot_compat_mysticalworld.json +21c5fbce648ca8812d4c75e3c71934bc269e2216 data/create/recipes/smelting/silver_ingot_compat_silents_mechanisms.json +85116bc01ff8513f9e3122af0dcd32fbcd645828 data/create/recipes/smelting/tin_ingot_compat_mekanism.json +3e977195d8c825365753eb609e3bccca3302a0a3 data/create/recipes/smelting/tin_ingot_compat_mysticalworld.json +07bc2816c79de888e8f8f5954c6f917f6ab37176 data/create/recipes/smelting/tin_ingot_compat_silents_mechanisms.json +4284a72dcd1819d9a9a644a955d3398d489e10fe data/create/recipes/smelting/uranium_ingot_compat_silents_mechanisms.json a5d23be4cc959eb47d84b210190abaafcf41f022 data/create/recipes/smelting/zinc_ingot_from_crushed.json 2d8e448bbe841871c5d9a022149c5f34fd5c0df1 data/create/recipes/smelting/zinc_ingot_from_ore.json ce7c3c6e1da9d6684c9537d1a558423925d89f33 data/create/recipes/smoking/bread.json @@ -3304,18 +3421,36 @@ c4d680eed98791fe45fa93aeeae9e8dbd508d6f5 data/create/recipes/splashing/gravel.js 7af4d9ae50af13da0d4fc814687f9586ff872798 data/create/recipes/splashing/gray_concrete_powder.json 23fb61c0e4bcca58fa7241db9cbef07bf4bd9a9b data/create/recipes/splashing/green_concrete_powder.json 0a15fffe26190b78d2177c8302c92fc2232ce398 data/create/recipes/splashing/ice.json +1c978c74c949e9325a4078f25d8b39ed2d70f4a0 data/create/recipes/splashing/immersiveengineering/crushed_aluminum_ore.json +10ce4f124a8caf28027f4976f49a54561bfb7d18 data/create/recipes/splashing/immersiveengineering/crushed_lead_ore.json +ab433eb5d0739ca5932588f48308151d7e0bacc2 data/create/recipes/splashing/immersiveengineering/crushed_nickel_ore.json +690fe5c0fbdad61827862f21ee3a59dc385a0f93 data/create/recipes/splashing/immersiveengineering/crushed_silver_ore.json +0c8391170e5918872b06d371f694fcd72e173c5b data/create/recipes/splashing/immersiveengineering/crushed_uranium_ore.json 601e460575d3d1f45dca3e259f5a7c2701f45888 data/create/recipes/splashing/light_blue_concrete_powder.json 11792305bc949f08e7c1199ead8430f20848fa54 data/create/recipes/splashing/light_gray_concrete_powder.json a43d7c9a6369a48ef7d1396f2c11dc1f3704a61e data/create/recipes/splashing/lime_concrete_powder.json 67d97de29a9075a7ba8edb6e47c997b02600557e data/create/recipes/splashing/limestone.json 862f7b68bb107d7c4ecc82ddd10c788eb0a07b03 data/create/recipes/splashing/magenta_concrete_powder.json 004e05fed3684de8603905d9c9381cbbd789a882 data/create/recipes/splashing/magma_block.json +11e61710da12d73aa86660c1ea208f9533a7882c data/create/recipes/splashing/mekanism/crushed_osmium_ore.json +370c28fb8f2da4fbbb498ee3de11d1d21252957b data/create/recipes/splashing/mekanism/crushed_tin_ore.json +ea4a295149091e3b4b8388cb9d4dd2ab509d666e data/create/recipes/splashing/mysticalworld/crushed_lead_ore.json +1ecac82da1ccc381e303dc64e8033c13cf66fb59 data/create/recipes/splashing/mysticalworld/crushed_quicksilver_ore.json +fd1751c804bfc156c7bd97955fabb19f9a4b94ec data/create/recipes/splashing/mysticalworld/crushed_silver_ore.json +123db4bca699bf1d2571727f4b7fcf9d3ef82e37 data/create/recipes/splashing/mysticalworld/crushed_tin_ore.json 625c2d68ad722209523925375bc4f7494667feb2 data/create/recipes/splashing/orange_concrete_powder.json fb0c5fb2da0ac1fd236b19823747b9c15b536b02 data/create/recipes/splashing/pink_concrete_powder.json 2599fcd240eacdf4ace0dffe64f026d0bb4919d9 data/create/recipes/splashing/purple_concrete_powder.json 9c10bfdd047fb9ac17d51ebdd38bc8be0883d970 data/create/recipes/splashing/red_concrete_powder.json 87ddb764bcff88c12686d171540cea4cc6edaf16 data/create/recipes/splashing/red_sand.json 3a5dea804e0aec6fa8711eb07b006d8b1de098ff data/create/recipes/splashing/sand.json +94eb5e36f8f0f47d1846d6cd21a04f5ad39e4a67 data/create/recipes/splashing/silents_mechanisms/crushed_aluminum_ore.json +8ba14fdc6c3ebe54a8b70cedaf0f9951cbd756ed data/create/recipes/splashing/silents_mechanisms/crushed_lead_ore.json +8a4c5d280c423d1f1272a56abb7cc8cf36bf2486 data/create/recipes/splashing/silents_mechanisms/crushed_nickel_ore.json +fc9889cf6c0594b3635670b85f5cfec628a78537 data/create/recipes/splashing/silents_mechanisms/crushed_platinum_ore.json +14f525e426a5a14a5d5279afe07582896de90a96 data/create/recipes/splashing/silents_mechanisms/crushed_silver_ore.json +62c8dbed54fac6a95f89f18b6e68ddceb534dbd3 data/create/recipes/splashing/silents_mechanisms/crushed_tin_ore.json +4140a1f16467dd690e458561871c456f9f826f27 data/create/recipes/splashing/silents_mechanisms/crushed_uranium_ore.json cf0dcdb8ec3f3e75b315faa377eccef662dea71f data/create/recipes/splashing/soul_sand.json ba660fe5786c95a359a6ddfdeb73d7109cbebe5d data/create/recipes/splashing/stained_glass.json c7a51fd1b730d48991cf6b4f1b56da4144537f1d data/create/recipes/splashing/stained_glass_pane.json @@ -3347,7 +3482,7 @@ d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data/create/recipes/weathered_limestone 0f3c993eb6dd3f37953f304b8fad15bf60469ef4 data/create/recipes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json 6eceb25fabbb6b389ca35de3b829ad061c9c456a data/create/recipes/weathered_limestone_pillar.json 11667414f73bc2d00bda7c5c1a7d2934bf6e9165 data/create/recipes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json -f9ecec40e11a87de73c9dc7c2963c1cb10b1a180 data/create/tags/blocks/brittle.json +eedf31af7134d03656c5fa57229982f9c5bed07c data/create/tags/blocks/brittle.json 13b55d6e905a02403d2e95e9ba2357f99c5f2241 data/create/tags/blocks/fan_heaters.json 3bc64e3a1e7980237435b1770a9ba2102d57fcd4 data/create/tags/blocks/fan_transparent.json 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/blocks/non_movable.json @@ -3357,7 +3492,7 @@ c9ac7e3e5ec18554e7184168d65e9b8e44ef5610 data/create/tags/blocks/sails.json eac71740fb12bdb38b5dfaa2268613d7ba82b809 data/create/tags/blocks/windmill_sails.json 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/blocks/windowable.json 081f5aa35602fc27af2ca01ea9f2fd5e7eb284dc data/create/tags/items/create_ingots.json -d2dc4ff179ef7b2aa9276455c196e15d44aa95a8 data/create/tags/items/crushed_ores.json +94c62bf22678ef55b2b8a5398a7960e5b00682dc data/create/tags/items/crushed_ores.json 6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/items/seats.json abbe5d7cc9d1705509257888154ed7ca23292586 data/create/tags/items/upright_on_belt.json 50936b211d94167a35ec78c89954082a336b6269 data/create/tags/items/valve_handles.json @@ -3370,6 +3505,8 @@ d5ea262a0f5fb210612d22521818e26cf08e591a data/forge/tags/blocks/ores/zinc.json ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/blocks/storage_blocks/brass.json f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/blocks/storage_blocks/copper.json 7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/blocks/storage_blocks/zinc.json +391c9b2be5740aea943a8a5fe27eb327e2d973b0 data/forge/tags/fluids/honey.json +aa729fedc4fcca0f0a18bf7b00075af06bf5357f data/forge/tags/fluids/milk.json d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json 05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json 16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/items/glass/colorless.json @@ -3385,11 +3522,12 @@ cc82188fe8d986f4457301ed4f75ae833d263601 data/forge/tags/items/nuggets/brass.jso 4b700ee8aa748c2ec70c29ef1589844879c0deae data/forge/tags/items/ores.json 4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data/forge/tags/items/ores/copper.json d5ea262a0f5fb210612d22521818e26cf08e591a data/forge/tags/items/ores/zinc.json -5d5ec04a61ff2b1ad19210e2859a9c96cc246ef8 data/forge/tags/items/plates.json +0ecf8a5392faf244b8cab3c7ddd45d5b34954050 data/forge/tags/items/plates.json 39f0d70ec10597e85df7c4783bbc5e0e4a5ffb80 data/forge/tags/items/plates/brass.json c3dab5fe379bc1b7b10d4a0ba7009eee1b75a27c data/forge/tags/items/plates/copper.json fb9bfb4c84ed9cf2da8c4b2fbc4cd4d9f37d3016 data/forge/tags/items/plates/gold.json 04d947ed7a5066f3cfe75a8dc564fe2dca8a9c93 data/forge/tags/items/plates/iron.json +4d598b23d07b6a0bfd89da11a30ce119a8660632 data/forge/tags/items/plates/lapis_lazuli.json 508730d3822c54d355329bf6a33d58071653afad data/forge/tags/items/storage_blocks.json ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/items/storage_blocks/brass.json f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/copper.json @@ -3400,6 +3538,7 @@ f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/co 29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/blocks/slabs.json 0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/blocks/stairs.json 92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/blocks/walls.json +09d26bcd0f94459f945219997277c4fbf14adeb7 data/minecraft/tags/fluids/water.json 29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/items/slabs.json 0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/items/stairs.json 92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/items/walls.json diff --git a/src/generated/resources/assets/create/blockstates/andesite_encased_shaft.json b/src/generated/resources/assets/create/blockstates/andesite_encased_shaft.json new file mode 100644 index 000000000..c78b4a1c4 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/andesite_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "create:block/encased_shaft/block_andesite", + "x": 90, + "y": 90, + "uvlock": true + }, + "axis=y": { + "model": "create:block/encased_shaft/block_andesite", + "uvlock": true + }, + "axis=z": { + "model": "create:block/encased_shaft/block_andesite", + "x": 90, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/brass_encased_shaft.json b/src/generated/resources/assets/create/blockstates/brass_encased_shaft.json new file mode 100644 index 000000000..af3983628 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/brass_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "create:block/encased_shaft/block_brass", + "x": 90, + "y": 90, + "uvlock": true + }, + "axis=y": { + "model": "create:block/encased_shaft/block_brass", + "uvlock": true + }, + "axis=z": { + "model": "create:block/encased_shaft/block_brass", + "x": 90, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/chocolate.json b/src/generated/resources/assets/create/blockstates/chocolate.json new file mode 100644 index 000000000..d373c6e9b --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/chocolate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "create:block/chocolate" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/controller_rail.json b/src/generated/resources/assets/create/blockstates/controller_rail.json index 65f6ee81b..033305478 100644 --- a/src/generated/resources/assets/create/blockstates/controller_rail.json +++ b/src/generated/resources/assets/create/blockstates/controller_rail.json @@ -1,724 +1,49 @@ { "variants": { - "backwards=false,power=0,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_off" + "backwards=false,shape=north_south": { + "model": "create:block/controller_rail/block_north_south" }, - "backwards=true,power=0,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_off", + "backwards=true,shape=north_south": { + "model": "create:block/controller_rail/block_north_south", "y": 180 }, - "backwards=false,power=1,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" + "backwards=false,shape=east_west": { + "model": "create:block/controller_rail/block_north_south", + "y": 270 }, - "backwards=true,power=1,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", + "backwards=true,shape=east_west": { + "model": "create:block/controller_rail/block_north_south", + "y": 90 + }, + "backwards=false,shape=ascending_east": { + "model": "create:block/controller_rail/block_ascending_south", + "y": 270 + }, + "backwards=true,shape=ascending_east": { + "model": "create:block/controller_rail/block_ascending_north", + "y": 90 + }, + "backwards=false,shape=ascending_west": { + "model": "create:block/controller_rail/block_ascending_north", + "y": 270 + }, + "backwards=true,shape=ascending_west": { + "model": "create:block/controller_rail/block_ascending_south", + "y": 90 + }, + "backwards=false,shape=ascending_north": { + "model": "create:block/controller_rail/block_ascending_north" + }, + "backwards=true,shape=ascending_north": { + "model": "create:block/controller_rail/block_ascending_south", "y": 180 }, - "backwards=false,power=2,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" + "backwards=false,shape=ascending_south": { + "model": "create:block/controller_rail/block_ascending_south" }, - "backwards=true,power=2,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", + "backwards=true,shape=ascending_south": { + "model": "create:block/controller_rail/block_ascending_north", "y": 180 - }, - "backwards=false,power=3,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=3,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=4,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=4,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=5,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=5,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=6,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=6,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=7,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=7,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=8,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=8,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=9,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=9,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=10,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=10,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=11,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=11,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=12,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=12,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=13,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=13,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=14,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog" - }, - "backwards=true,power=14,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 180 - }, - "backwards=false,power=15,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_on" - }, - "backwards=true,power=15,shape=north_south": { - "model": "create:block/controller_rail/block_north_south_on", - "y": 180 - }, - "backwards=false,power=0,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_off", - "y": 270 - }, - "backwards=true,power=0,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_off", - "y": 90 - }, - "backwards=false,power=1,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=1,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=2,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=2,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=3,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=3,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=4,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=4,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=5,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=5,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=6,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=6,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=7,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=7,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=8,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=8,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=9,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=9,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=10,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=10,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=11,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=11,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=12,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=12,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=13,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=13,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=14,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 270 - }, - "backwards=true,power=14,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_analog", - "y": 90 - }, - "backwards=false,power=15,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_on", - "y": 270 - }, - "backwards=true,power=15,shape=east_west": { - "model": "create:block/controller_rail/block_north_south_on", - "y": 90 - }, - "backwards=false,power=0,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_off", - "y": 90 - }, - "backwards=true,power=0,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_off", - "y": 270 - }, - "backwards=false,power=1,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=1,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=2,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=2,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=3,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=3,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=4,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=4,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=5,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=5,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=6,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=6,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=7,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=7,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=8,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=8,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=9,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=9,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=10,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=10,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=11,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=11,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=12,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=12,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=13,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=13,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=14,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 90 - }, - "backwards=true,power=14,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 270 - }, - "backwards=false,power=15,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_north_on", - "y": 90 - }, - "backwards=true,power=15,shape=ascending_east": { - "model": "create:block/controller_rail/block_ascending_south_on", - "y": 270 - }, - "backwards=false,power=0,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_off", - "y": 270 - }, - "backwards=true,power=0,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_off", - "y": 90 - }, - "backwards=false,power=1,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=1,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=2,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=2,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=3,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=3,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=4,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=4,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=5,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=5,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=6,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=6,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=7,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=7,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=8,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=8,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=9,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=9,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=10,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=10,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=11,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=11,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=12,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=12,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=13,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=13,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=14,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 270 - }, - "backwards=true,power=14,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 90 - }, - "backwards=false,power=15,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_north_on", - "y": 270 - }, - "backwards=true,power=15,shape=ascending_west": { - "model": "create:block/controller_rail/block_ascending_south_on", - "y": 90 - }, - "backwards=false,power=0,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_off" - }, - "backwards=true,power=0,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_off", - "y": 180 - }, - "backwards=false,power=1,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=1,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=2,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=2,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=3,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=3,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=4,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=4,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=5,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=5,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=6,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=6,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=7,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=7,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=8,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=8,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=9,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=9,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=10,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=10,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=11,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=11,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=12,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=12,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=13,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=13,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=14,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_analog" - }, - "backwards=true,power=14,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_analog", - "y": 180 - }, - "backwards=false,power=15,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_north_on" - }, - "backwards=true,power=15,shape=ascending_north": { - "model": "create:block/controller_rail/block_ascending_south_on", - "y": 180 - }, - "backwards=false,power=0,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_off", - "y": 180 - }, - "backwards=true,power=0,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_off" - }, - "backwards=false,power=1,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=1,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=2,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=2,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=3,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=3,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=4,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=4,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=5,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=5,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=6,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=6,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=7,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=7,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=8,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=8,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=9,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=9,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=10,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=10,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=11,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=11,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=12,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=12,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=13,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=13,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=14,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_analog", - "y": 180 - }, - "backwards=true,power=14,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_analog" - }, - "backwards=false,power=15,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_north_on", - "y": 180 - }, - "backwards=true,power=15,shape=ascending_south": { - "model": "create:block/controller_rail/block_ascending_south_on" } } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/encased_fluid_pipe.json b/src/generated/resources/assets/create/blockstates/encased_fluid_pipe.json index 129e39baa..dc11492f3 100644 --- a/src/generated/resources/assets/create/blockstates/encased_fluid_pipe.json +++ b/src/generated/resources/assets/create/blockstates/encased_fluid_pipe.json @@ -1,17 +1,110 @@ { - "variants": { - "axis=x": { - "model": "create:block/encased_fluid_pipe", - "x": 90, - "y": 90 + "multipart": [ + { + "when": { + "down": "false" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_flat", + "x": -90 + } }, - "axis=y": { - "model": "create:block/encased_fluid_pipe" + { + "when": { + "up": "false" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_flat", + "x": 90 + } }, - "axis=z": { - "model": "create:block/encased_fluid_pipe", - "x": 90, - "y": 180 + { + "when": { + "north": "false" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_flat", + "y": 180 + } + }, + { + "when": { + "south": "false" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_flat" + } + }, + { + "when": { + "west": "false" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_flat", + "y": 90 + } + }, + { + "when": { + "east": "false" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_flat", + "y": 270 + } + }, + { + "when": { + "down": "true" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_open", + "x": -90 + } + }, + { + "when": { + "up": "true" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_open", + "x": 90 + } + }, + { + "when": { + "north": "true" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_open", + "y": 180 + } + }, + { + "when": { + "south": "true" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_open" + } + }, + { + "when": { + "west": "true" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_open", + "y": 90 + } + }, + { + "when": { + "east": "true" + }, + "apply": { + "model": "create:block/encased_fluid_pipe/block_open", + "y": 270 + } } - } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/encased_shaft.json b/src/generated/resources/assets/create/blockstates/encased_shaft.json deleted file mode 100644 index b630e5edf..000000000 --- a/src/generated/resources/assets/create/blockstates/encased_shaft.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "variants": { - "axis=x,casing=andesite": { - "model": "create:block/encased_shaft/andesite", - "x": 90, - "y": 90 - }, - "axis=y,casing=andesite": { - "model": "create:block/encased_shaft/andesite" - }, - "axis=z,casing=andesite": { - "model": "create:block/encased_shaft/andesite", - "x": 90, - "y": 180 - }, - "axis=x,casing=brass": { - "model": "create:block/encased_shaft/brass", - "x": 90, - "y": 90 - }, - "axis=y,casing=brass": { - "model": "create:block/encased_shaft/brass" - }, - "axis=z,casing=brass": { - "model": "create:block/encased_shaft/brass", - "x": 90, - "y": 180 - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/fluid_pipe.json b/src/generated/resources/assets/create/blockstates/fluid_pipe.json index a4cffcde7..a8a9a60dc 100644 --- a/src/generated/resources/assets/create/blockstates/fluid_pipe.json +++ b/src/generated/resources/assets/create/blockstates/fluid_pipe.json @@ -60,10 +60,10 @@ }, { "when": { - "down": "false", + "south": "false", "north": "true", - "up": "true", - "south": "false" + "down": "false", + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/lu_x" @@ -71,10 +71,10 @@ }, { "when": { - "down": "false", + "south": "true", "north": "false", - "up": "true", - "south": "true" + "down": "false", + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/ru_x" @@ -82,10 +82,10 @@ }, { "when": { - "down": "true", + "south": "false", "north": "true", - "up": "false", - "south": "false" + "down": "true", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/ld_x" @@ -93,10 +93,10 @@ }, { "when": { - "down": "true", + "south": "true", "north": "false", - "up": "false", - "south": "true" + "down": "true", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/rd_x" @@ -104,10 +104,10 @@ }, { "when": { + "south": "false", + "north": "false", "down": "true", - "north": "false", - "up": "true", - "south": "false" + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_x" @@ -115,10 +115,10 @@ }, { "when": { + "south": "false", + "north": "false", "down": "false", - "north": "false", - "up": "true", - "south": "false" + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_x" @@ -126,10 +126,10 @@ }, { "when": { + "south": "false", + "north": "false", "down": "true", - "north": "false", - "up": "false", - "south": "false" + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_x" @@ -137,10 +137,10 @@ }, { "when": { - "down": "false", + "south": "true", "north": "true", - "up": "false", - "south": "true" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_x" @@ -148,10 +148,10 @@ }, { "when": { - "down": "false", + "south": "false", "north": "true", - "up": "false", - "south": "false" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_x" @@ -159,10 +159,10 @@ }, { "when": { - "down": "false", + "south": "true", "north": "false", - "up": "false", - "south": "true" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_x" @@ -170,10 +170,10 @@ }, { "when": { - "down": "false", + "south": "false", "north": "false", - "up": "false", - "south": "false" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/none_x" @@ -181,10 +181,10 @@ }, { "when": { + "south": "true", "west": "true", - "east": "false", "north": "false", - "south": "true" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/lu_y" @@ -192,10 +192,10 @@ }, { "when": { + "south": "true", "west": "false", - "east": "true", "north": "false", - "south": "true" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/ru_y" @@ -203,10 +203,10 @@ }, { "when": { + "south": "false", "west": "true", - "east": "false", "north": "true", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ld_y" @@ -214,10 +214,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "true", "north": "true", - "south": "false" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/rd_y" @@ -225,10 +225,10 @@ }, { "when": { + "south": "true", "west": "false", - "east": "false", "north": "true", - "south": "true" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -236,10 +236,10 @@ }, { "when": { + "south": "true", "west": "false", - "east": "false", "north": "false", - "south": "true" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -247,10 +247,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "false", "north": "true", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -258,10 +258,10 @@ }, { "when": { + "south": "false", "west": "true", - "east": "true", "north": "false", - "south": "false" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -269,10 +269,10 @@ }, { "when": { + "south": "false", "west": "true", - "east": "false", "north": "false", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -280,10 +280,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "true", "north": "false", - "south": "false" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -291,10 +291,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "false", "north": "false", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/none_y" @@ -303,8 +303,8 @@ { "when": { "west": "false", - "down": "false", "east": "true", + "down": "false", "up": "true" }, "apply": { @@ -314,8 +314,8 @@ { "when": { "west": "true", - "down": "false", "east": "false", + "down": "false", "up": "true" }, "apply": { @@ -325,8 +325,8 @@ { "when": { "west": "false", - "down": "true", "east": "true", + "down": "true", "up": "false" }, "apply": { @@ -336,8 +336,8 @@ { "when": { "west": "true", - "down": "true", "east": "false", + "down": "true", "up": "false" }, "apply": { @@ -347,8 +347,8 @@ { "when": { "west": "false", - "down": "true", "east": "false", + "down": "true", "up": "true" }, "apply": { @@ -358,8 +358,8 @@ { "when": { "west": "false", - "down": "false", "east": "false", + "down": "false", "up": "true" }, "apply": { @@ -369,8 +369,8 @@ { "when": { "west": "false", - "down": "true", "east": "false", + "down": "true", "up": "false" }, "apply": { @@ -380,8 +380,8 @@ { "when": { "west": "true", - "down": "false", "east": "true", + "down": "false", "up": "false" }, "apply": { @@ -391,8 +391,8 @@ { "when": { "west": "false", - "down": "false", "east": "true", + "down": "false", "up": "false" }, "apply": { @@ -402,8 +402,8 @@ { "when": { "west": "true", - "down": "false", "east": "false", + "down": "false", "up": "false" }, "apply": { @@ -413,8 +413,8 @@ { "when": { "west": "false", - "down": "false", "east": "false", + "down": "false", "up": "false" }, "apply": { diff --git a/src/generated/resources/assets/create/blockstates/gearbox.json b/src/generated/resources/assets/create/blockstates/gearbox.json index 74cffdb7d..2c7b4ca20 100644 --- a/src/generated/resources/assets/create/blockstates/gearbox.json +++ b/src/generated/resources/assets/create/blockstates/gearbox.json @@ -3,15 +3,18 @@ "axis=x": { "model": "create:block/gearbox/block", "x": 90, - "y": 90 + "y": 90, + "uvlock": true }, "axis=y": { - "model": "create:block/gearbox/block" + "model": "create:block/gearbox/block", + "uvlock": true }, "axis=z": { "model": "create:block/gearbox/block", "x": 90, - "y": 180 + "y": 180, + "uvlock": true } } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/honey.json b/src/generated/resources/assets/create/blockstates/honey.json new file mode 100644 index 000000000..60b561e56 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/honey.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "create:block/honey" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/radial_chassis.json b/src/generated/resources/assets/create/blockstates/radial_chassis.json index 9d00ea8b1..899486339 100644 --- a/src/generated/resources/assets/create/blockstates/radial_chassis.json +++ b/src/generated/resources/assets/create/blockstates/radial_chassis.json @@ -89,8 +89,8 @@ }, { "when": { - "sticky_west": "true", - "axis": "x" + "axis": "x", + "sticky_west": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -99,8 +99,8 @@ }, { "when": { - "sticky_west": "true", - "axis": "y" + "axis": "y", + "sticky_west": "true" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky", @@ -109,8 +109,8 @@ }, { "when": { - "sticky_west": "true", - "axis": "z" + "axis": "z", + "sticky_west": "true" }, "apply": { "model": "create:block/radial_chassis_side_z_sticky", @@ -119,8 +119,8 @@ }, { "when": { - "sticky_west": "false", - "axis": "x" + "axis": "x", + "sticky_west": "false" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -129,8 +129,8 @@ }, { "when": { - "sticky_west": "false", - "axis": "y" + "axis": "y", + "sticky_west": "false" }, "apply": { "model": "create:block/radial_chassis_side_y", @@ -139,8 +139,8 @@ }, { "when": { - "sticky_west": "false", - "axis": "z" + "axis": "z", + "sticky_west": "false" }, "apply": { "model": "create:block/radial_chassis_side_z", @@ -149,8 +149,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "x" + "axis": "x", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky" @@ -158,8 +158,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "y" + "axis": "y", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky", @@ -168,8 +168,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "z" + "axis": "z", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -178,8 +178,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "x" + "axis": "x", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_x" @@ -187,8 +187,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "y" + "axis": "y", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_y", @@ -197,8 +197,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "z" + "axis": "z", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_x", diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index 3ebfed1c9..2e6b381f7 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -16,6 +16,7 @@ "block.create.andesite_cobblestone_slab": "q\u0250\u05DFS \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", + "block.create.andesite_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_funnel": "\u05DF\u01DDuun\u2132 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_tunnel": "\u05DF\u01DDuun\u27D8 \u01DD\u0287\u0131s\u01DDpu\u2C6F", @@ -33,6 +34,7 @@ "block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA", "block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA", "block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA", + "block.create.brass_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E ss\u0250\u0279\u15FA", "block.create.brass_funnel": "\u05DF\u01DDuun\u2132 ss\u0250\u0279\u15FA", "block.create.brass_tunnel": "\u05DF\u01DDuun\u27D8 ss\u0250\u0279\u15FA", "block.create.brown_sail": "\u05DF\u0131\u0250S u\u028Do\u0279\u15FA", @@ -45,6 +47,7 @@ "block.create.chiseled_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", "block.create.chiseled_scoria": "\u0250\u0131\u0279o\u0254S p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", "block.create.chiseled_weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", + "block.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186", "block.create.chute": "\u01DD\u0287n\u0265\u0186", "block.create.clockwork_bearing": "bu\u0131\u0279\u0250\u01DD\u15FA \u029E\u0279o\u028D\u029E\u0254o\u05DF\u0186", "block.create.clutch": "\u0265\u0254\u0287n\u05DF\u0186", @@ -104,7 +107,6 @@ "block.create.encased_belt": "\u0287\u05DF\u01DD\u15FA p\u01DDs\u0250\u0254u\u018E", "block.create.encased_fan": "u\u0250\u2132 p\u01DDs\u0250\u0254u\u018E", "block.create.encased_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 p\u01DDs\u0250\u0254u\u018E", - "block.create.encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E", "block.create.fancy_andesite_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132", "block.create.fancy_andesite_bricks_slab": "q\u0250\u05DFS s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132", "block.create.fancy_andesite_bricks_stairs": "s\u0279\u0131\u0250\u0287S s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132", @@ -177,6 +179,7 @@ "block.create.green_seat": "\u0287\u0250\u01DDS u\u01DD\u01DD\u0279\u2141", "block.create.green_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B u\u01DD\u01DD\u0279\u2141", "block.create.hand_crank": "\u029Eu\u0250\u0279\u0186 pu\u0250H", + "block.create.honey": "\u028E\u01DDuoH", "block.create.horizontal_framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH", "block.create.horizontal_framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH", "block.create.hose_pulley": "\u028E\u01DD\u05DF\u05DFn\u0500 \u01DDsoH", @@ -403,7 +406,11 @@ "entity.create.seat": "\u0287\u0250\u01DDS", "entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S", "entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS", - "fluid.create.flowing_potion": "uo\u0131\u0287o\u0500", + "fluid.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186", + "fluid.create.honey": "\u028E\u01DDuoH", + "fluid.create.milk": "\u029E\u05DF\u0131W", + "fluid.create.potion": "uo\u0131\u0287o\u0500", + "fluid.create.tea": "\u0250\u01DD\u27D8 s,\u0279\u01DDp\u05DF\u0131n\u15FA", "item.create.andesite_alloy": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F", "item.create.attribute_filter": "\u0279\u01DD\u0287\u05DF\u0131\u2132 \u01DD\u0287nq\u0131\u0279\u0287\u0287\u2C6F", "item.create.belt_connector": "\u0287\u05DF\u01DD\u15FA \u05DF\u0250\u0254\u0131u\u0250\u0265\u0254\u01DDW", @@ -413,16 +420,26 @@ "item.create.brass_nugget": "\u0287\u01DDbbnN ss\u0250\u0279\u15FA", "item.create.brass_sheet": "\u0287\u01DD\u01DD\u0265S ss\u0250\u0279\u15FA", "item.create.chest_minecart_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W \u0287s\u01DD\u0265\u0186", + "item.create.chocolate_bucket": "\u0287\u01DD\u029E\u0254n\u15FA \u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186", "item.create.chromatic_compound": "punod\u026Fo\u0186 \u0254\u0131\u0287\u0250\u026Fo\u0279\u0265\u0186", "item.create.cinder_flour": "\u0279no\u05DF\u2132 \u0279\u01DDpu\u0131\u0186", "item.create.copper_ingot": "\u0287obuI \u0279\u01DDddo\u0186", "item.create.copper_nugget": "\u0287\u01DDbbnN \u0279\u01DDddo\u0186", "item.create.copper_sheet": "\u0287\u01DD\u01DD\u0265S \u0279\u01DDddo\u0186", "item.create.crafter_slot_cover": "\u0279\u01DD\u028Co\u0186 \u0287o\u05DFS \u0279\u01DD\u0287\u025F\u0250\u0279\u0186", + "item.create.crushed_aluminum_ore": "\u01DD\u0279O \u026Fnu\u0131\u026Fn\u05DF\u2C6F p\u01DD\u0265sn\u0279\u0186", "item.create.crushed_brass": "ss\u0250\u0279\u15FA p\u01DD\u0265sn\u0279\u0186", "item.create.crushed_copper_ore": "\u01DD\u0279O \u0279\u01DDddo\u0186 p\u01DD\u0265sn\u0279\u0186", "item.create.crushed_gold_ore": "\u01DD\u0279O p\u05DFo\u2141 p\u01DD\u0265sn\u0279\u0186", "item.create.crushed_iron_ore": "\u01DD\u0279O uo\u0279I p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_lead_ore": "\u01DD\u0279O p\u0250\u01DD\uA780 p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_nickel_ore": "\u01DD\u0279O \u05DF\u01DD\u029E\u0254\u0131N p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_osmium_ore": "\u01DD\u0279O \u026Fn\u0131\u026FsO p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_platinum_ore": "\u01DD\u0279O \u026Fnu\u0131\u0287\u0250\u05DF\u0500 p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_quicksilver_ore": "\u01DD\u0279O \u0279\u01DD\u028C\u05DF\u0131s\u029E\u0254\u0131n\u1F49 p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_silver_ore": "\u01DD\u0279O \u0279\u01DD\u028C\u05DF\u0131S p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_tin_ore": "\u01DD\u0279O u\u0131\u27D8 p\u01DD\u0265sn\u0279\u0186", + "item.create.crushed_uranium_ore": "\u01DD\u0279O \u026Fn\u0131u\u0250\u0279\u2229 p\u01DD\u0265sn\u0279\u0186", "item.create.crushed_zinc_ore": "\u01DD\u0279O \u0254u\u0131Z p\u01DD\u0265sn\u0279\u0186", "item.create.deforester": "\u0279\u01DD\u0287s\u01DD\u0279o\u025F\u01DD\u15E1", "item.create.dough": "\u0265bno\u15E1", @@ -436,6 +453,7 @@ "item.create.golden_sheet": "\u0287\u01DD\u01DD\u0265S u\u01DDp\u05DFo\u2141", "item.create.handheld_blockzapper": "\u0279\u01DDdd\u0250z\u029E\u0254o\u05DF\u15FA p\u05DF\u01DD\u0265pu\u0250H", "item.create.handheld_worldshaper": "\u0279\u01DDd\u0250\u0265sp\u05DF\u0279oM p\u05DF\u01DD\u0265pu\u0250H", + "item.create.honey_bucket": "\u0287\u01DD\u029E\u0254n\u15FA \u028E\u01DDuoH", "item.create.integrated_circuit": "\u0287\u0131n\u0254\u0279\u0131\u0186 p\u01DD\u0287\u0250\u0279b\u01DD\u0287uI", "item.create.iron_sheet": "\u0287\u01DD\u01DD\u0265S uo\u0279I", "item.create.lapis_sheet": "\u0287\u01DD\u01DD\u0265S s\u0131d\u0250\uA780", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index e9a1b628d..b753d54ce 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -19,6 +19,7 @@ "block.create.andesite_cobblestone_slab": "Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "Andesite Encased Shaft", "block.create.andesite_funnel": "Andesite Funnel", "block.create.andesite_pillar": "Andesite Pillar", "block.create.andesite_tunnel": "Andesite Tunnel", @@ -36,6 +37,7 @@ "block.create.brass_belt_funnel": "Brass Belt Funnel", "block.create.brass_block": "Brass Block", "block.create.brass_casing": "Brass Casing", + "block.create.brass_encased_shaft": "Brass Encased Shaft", "block.create.brass_funnel": "Brass Funnel", "block.create.brass_tunnel": "Brass Tunnel", "block.create.brown_sail": "Brown Sail", @@ -48,6 +50,7 @@ "block.create.chiseled_limestone": "Chiseled Limestone", "block.create.chiseled_scoria": "Chiseled Scoria", "block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone", + "block.create.chocolate": "Chocolate", "block.create.chute": "Chute", "block.create.clockwork_bearing": "Clockwork Bearing", "block.create.clutch": "Clutch", @@ -107,7 +110,6 @@ "block.create.encased_belt": "Encased Belt", "block.create.encased_fan": "Encased Fan", "block.create.encased_fluid_pipe": "Encased Fluid Pipe", - "block.create.encased_shaft": "Encased Shaft", "block.create.fancy_andesite_bricks": "Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "Fancy Andesite Bricks Stairs", @@ -180,6 +182,7 @@ "block.create.green_seat": "Green Seat", "block.create.green_valve_handle": "Green Valve Handle", "block.create.hand_crank": "Hand Crank", + "block.create.honey": "Honey", "block.create.horizontal_framed_glass": "Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane", "block.create.hose_pulley": "Hose Pulley", @@ -408,7 +411,11 @@ "entity.create.stationary_contraption": "Stationary Contraption", "entity.create.super_glue": "Super Glue", - "fluid.create.flowing_potion": "Potion", + "fluid.create.chocolate": "Chocolate", + "fluid.create.honey": "Honey", + "fluid.create.milk": "Milk", + "fluid.create.potion": "Potion", + "fluid.create.tea": "Builder's Tea", "item.create.andesite_alloy": "Andesite Alloy", "item.create.attribute_filter": "Attribute Filter", @@ -419,16 +426,26 @@ "item.create.brass_nugget": "Brass Nugget", "item.create.brass_sheet": "Brass Sheet", "item.create.chest_minecart_contraption": "Chest Minecart Contraption", + "item.create.chocolate_bucket": "Chocolate Bucket", "item.create.chromatic_compound": "Chromatic Compound", "item.create.cinder_flour": "Cinder Flour", "item.create.copper_ingot": "Copper Ingot", "item.create.copper_nugget": "Copper Nugget", "item.create.copper_sheet": "Copper Sheet", "item.create.crafter_slot_cover": "Crafter Slot Cover", + "item.create.crushed_aluminum_ore": "Crushed Aluminum Ore", "item.create.crushed_brass": "Crushed Brass", "item.create.crushed_copper_ore": "Crushed Copper Ore", "item.create.crushed_gold_ore": "Crushed Gold Ore", "item.create.crushed_iron_ore": "Crushed Iron Ore", + "item.create.crushed_lead_ore": "Crushed Lead Ore", + "item.create.crushed_nickel_ore": "Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "Crushed Silver Ore", + "item.create.crushed_tin_ore": "Crushed Tin Ore", + "item.create.crushed_uranium_ore": "Crushed Uranium Ore", "item.create.crushed_zinc_ore": "Crushed Zinc Ore", "item.create.deforester": "Deforester", "item.create.dough": "Dough", @@ -442,6 +459,7 @@ "item.create.golden_sheet": "Golden Sheet", "item.create.handheld_blockzapper": "Handheld Blockzapper", "item.create.handheld_worldshaper": "Handheld Worldshaper", + "item.create.honey_bucket": "Honey Bucket", "item.create.integrated_circuit": "Integrated Circuit", "item.create.iron_sheet": "Iron Sheet", "item.create.lapis_sheet": "Lapis Sheet", @@ -726,6 +744,7 @@ "create.gui.goggles.generator_stats": "Generator Stats:", "create.gui.goggles.kinetic_stats": "Kinetic Stats:", "create.gui.goggles.at_current_speed": "at current speed", + "create.gui.goggles.pole_length": "Pole Length:", "create.gui.gauge.info_header": "Gauge Information:", "create.gui.speedometer.title": "Rotation Speed", "create.gui.stressometer.title": "Network Stress", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 00435465a..c947f02b8 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1055", + "_": "Missing Localizations: 1075", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_casing": "UNLOCALIZED: Brass Casing", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clutch": "Kupplung", @@ -108,7 +111,6 @@ "block.create.encased_belt": "Eingeschlossener Riemen", "block.create.encased_fan": "Eingeschlossener Propeller", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "Eingeschlossene Welle", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "UNLOCALIZED: Hand Crank", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "UNLOCALIZED: Brass Nugget", "item.create.brass_sheet": "UNLOCALIZED: Brass Sheet", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "UNLOCALIZED: Copper Ingot", "item.create.copper_nugget": "UNLOCALIZED: Copper Nugget", "item.create.copper_sheet": "UNLOCALIZED: Copper Sheet", "item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "UNLOCALIZED: Crushed Brass", "item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.deforester": "UNLOCALIZED: Deforester", "item.create.dough": "Teig", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blockpistole", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.iron_sheet": "Eisenblech", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "UNLOCALIZED: Generator Stats:", "create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:", "create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:", "create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed", "create.gui.stressometer.title": "UNLOCALIZED: Network Stress", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 7f9ba7a08..bfc287e06 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 685", + "_": "Missing Localizations: 705", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_casing": "Boîtier en laiton", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "Roulement mécanique horloger", "block.create.clutch": "Embrayage", @@ -108,7 +111,6 @@ "block.create.encased_belt": "Tapis roulant enfermé", "block.create.encased_fan": "Ventilateur enfermé", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "Arbre mécanique enfermé", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "Manivelle", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "Fenêtre en verre horizontale", "block.create.horizontal_framed_glass_pane": "Vitre encadrée horizontale", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "Alliage d'andésite", "item.create.attribute_filter": "Filtre d'attribut", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "Pépite de laiton", "item.create.brass_sheet": "Plaques de laiton", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "Composé chromatique", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Lingot de cuivre", "item.create.copper_nugget": "Pépite de cuivre", "item.create.copper_sheet": "Plaques de cuivre", "item.create.crafter_slot_cover": "Couvercle", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "Laiton concassé", "item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.deforester": "Déforesteur", "item.create.dough": "Pâte", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blockzappeur portable", "item.create.handheld_worldshaper": "Térraformeur portable", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "Circuit intégré", "item.create.iron_sheet": "Plaque de Fer", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "Statistiques du générateur:", "create.gui.goggles.kinetic_stats": "Statistiques cinétiques:", "create.gui.goggles.at_current_speed": "À la vitesse actuelle", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "Informations sur la jauge:", "create.gui.speedometer.title": "Vitesse de rotation", "create.gui.stressometer.title": "Stress du réseau", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index 59d1352fb..b458630f2 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 669", + "_": "Missing Localizations: 689", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "Blocco di Ottone", "block.create.brass_casing": "Involucro di Ottone", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "Supporto del Orologio", "block.create.clutch": "Frizione", @@ -108,7 +111,6 @@ "block.create.encased_belt": "Nastro Incassato", "block.create.encased_fan": "Ventilatore incassato", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "Albero Incassato", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "Manovella", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "Finestra Orizzontale Vetro", "block.create.horizontal_framed_glass_pane": "Pannello di Finestra Orizzontale Vetro", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "Lega di Andesite", "item.create.attribute_filter": "Filtro Attributi", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "Pepita di Ottone", "item.create.brass_sheet": "Lamiera di Ottone", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "Composto Cromatico", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Lingotto di Rame", "item.create.copper_nugget": "Pepita di Rame", "item.create.copper_sheet": "Lamiera di Rame", "item.create.crafter_slot_cover": "Rivestimento Slot Creazione", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "Ottone Frantumato", "item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.deforester": "Deforestatore", "item.create.dough": "Impasto", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Zapper di Blocchi Portatile", "item.create.handheld_worldshaper": "Plasmatore del Mondo Portatile", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "Circuito Integrato", "item.create.iron_sheet": "Lamiera di Ferro", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "Statistiche del Generatore:", "create.gui.goggles.kinetic_stats": "Statistiche Cinetiche:", "create.gui.goggles.at_current_speed": "Alla velocità Attuale", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "Informazioni sul Calibro:", "create.gui.speedometer.title": "Velocità di Rotazione", "create.gui.stressometer.title": "Stress della Rete", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index 94356e4e4..f3ddb7f7c 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 668", + "_": "Missing Localizations: 688", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "真鍮ブロック", "block.create.brass_casing": "真鍮ケーシング", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "時計仕掛けのベアリング", "block.create.clutch": "クラッチ", @@ -108,7 +111,6 @@ "block.create.encased_belt": "ケース入りベルト", "block.create.encased_fan": "ケース入りファン", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "ケース入りシャフト", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "ハンドクランク", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "横型ガラス窓", "block.create.horizontal_framed_glass_pane": "横型ガラス窓板", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "安山岩合金", "item.create.attribute_filter": "属性フィルター", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "真鍮ナゲット", "item.create.brass_sheet": "真鍮シート", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "色彩の化合物", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "銅インゴット", "item.create.copper_nugget": "銅塊", "item.create.copper_sheet": "銅板", "item.create.crafter_slot_cover": "クラフタースロットカバー", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "砕いた真鍮", "item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.deforester": "デフォレスター", "item.create.dough": "生地", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "携帯型ブロックザッパー", "item.create.handheld_worldshaper": "携帯型ワールドシェイパー", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "集積回路", "item.create.iron_sheet": "鉄板", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "ジェネレータの統計:", "create.gui.goggles.kinetic_stats": "動力の統計:", "create.gui.goggles.at_current_speed": "現在の速度", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "計器の情報:", "create.gui.speedometer.title": "回転速度", "create.gui.stressometer.title": "ネットワークの応力", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index 2ef9d6918..788ac2a38 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 669", + "_": "Missing Localizations: 689", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "황동 블럭", "block.create.brass_casing": "황동 케이스", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "시계 베어링", "block.create.clutch": "클러치", @@ -108,7 +111,6 @@ "block.create.encased_belt": "덮힌 벨트", "block.create.encased_fan": "덮힌 환풍기", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "덮힌 축", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "핸드 크랭크", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "수평 유리", "block.create.horizontal_framed_glass_pane": "수평 유리판", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "안산암 합금", "item.create.attribute_filter": "속성 필터 틀", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "황동 조각", "item.create.brass_sheet": "황동 판", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "색채 혼합물", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "구리 주괴", "item.create.copper_nugget": "구리 조각", "item.create.copper_sheet": "구리 판", "item.create.crafter_slot_cover": "작업대 슬롯 덮개", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "분쇄된 황동", "item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.deforester": "산림파괴자", "item.create.dough": "반죽", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "휴대용 블럭발사기", "item.create.handheld_worldshaper": "휴대용 세계편집기", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "집적 회로", "item.create.iron_sheet": "철 판", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "발전 상태:", "create.gui.goggles.kinetic_stats": "가동 상태:", "create.gui.goggles.at_current_speed": "현재 속도", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "게이지 정보:", "create.gui.speedometer.title": "회전 속도", "create.gui.stressometer.title": "네트워크 부하", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index 842f13835..97167bddb 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 996", + "_": "Missing Localizations: 1016", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_casing": "UNLOCALIZED: Brass Casing", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clutch": "Koppeling", @@ -108,7 +111,6 @@ "block.create.encased_belt": "Omhulsde Transportband", "block.create.encased_fan": "Omhulsde Ventilator", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "Omhulsde Drijfas", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "UNLOCALIZED: Hand Crank", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "Brons klompje", "item.create.brass_sheet": "Brons Platen", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Koperstaaf", "item.create.copper_nugget": "Koper klompje", "item.create.copper_sheet": "UNLOCALIZED: Copper Sheet", "item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "Gemalen Brons", "item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.deforester": "Ontbosser", "item.create.dough": "Deeg", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blokzapper", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.iron_sheet": "IJzeren Platen", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "UNLOCALIZED: Generator Stats:", "create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:", "create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:", "create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed", "create.gui.stressometer.title": "UNLOCALIZED: Network Stress", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index 841825d1a..23bf31c81 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1062", + "_": "Missing Localizations: 1082", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_casing": "UNLOCALIZED: Brass Casing", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clutch": "Embreagem", @@ -108,7 +111,6 @@ "block.create.encased_belt": "Esteira Revestida", "block.create.encased_fan": "Ventilador Revestida", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "Eixo Revestido", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "UNLOCALIZED: Hand Crank", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "UNLOCALIZED: Brass Nugget", "item.create.brass_sheet": "UNLOCALIZED: Brass Sheet", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "UNLOCALIZED: Copper Ingot", "item.create.copper_nugget": "UNLOCALIZED: Copper Nugget", "item.create.copper_sheet": "UNLOCALIZED: Copper Sheet", "item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "UNLOCALIZED: Crushed Brass", "item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.deforester": "UNLOCALIZED: Deforester", "item.create.dough": "Massa", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blockzapper Portátil", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.iron_sheet": "Placas de Ferro", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "UNLOCALIZED: Generator Stats:", "create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:", "create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:", "create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed", "create.gui.stressometer.title": "UNLOCALIZED: Network Stress", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 152917390..e95a208df 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 338", + "_": "Missing Localizations: 358", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита", "block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени", "block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "Андезитовая колонна", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "Латунный блок", "block.create.brass_casing": "Латунный корпус", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "Резной известняк", "block.create.chiseled_scoria": "Резной пепел", "block.create.chiseled_weathered_limestone": "Выветренный резной известняк", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "Часовой механизм", "block.create.clutch": "Сцепление", @@ -108,7 +111,6 @@ "block.create.encased_belt": "Конвейерный привод", "block.create.encased_fan": "Вентилятор в кожухе", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "Вал в кожухе", "block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич", "block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича", "block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "Рукоятка", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "Горизонтальное обрамлённое стекло", "block.create.horizontal_framed_glass_pane": "Горизонтальная обрамлённая стеклянная панель", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "Стационарная штуковина", "entity.create.super_glue": "Супер клей", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "Андезитовый сплав", "item.create.attribute_filter": "Фильтр атрибутов", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "Кусочек латуни", "item.create.brass_sheet": "Латунный лист", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "Хроматический компаунд", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Медный слиток", "item.create.copper_nugget": "Кусочек меди", "item.create.copper_sheet": "Медный лист", "item.create.crafter_slot_cover": "Крышка на слот крафтера", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "Дробленая латунь", "item.create.crushed_copper_ore": "Измельчённая медная руда", "item.create.crushed_gold_ore": "Измельчённая золотая руда", "item.create.crushed_iron_ore": "Измельчённая железная руда", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "Измельчённая цинковая руда", "item.create.deforester": "Уничтожитель леса", "item.create.dough": "Тесто", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "Золотой лист", "item.create.handheld_blockzapper": "Ручная блоковая пушка", "item.create.handheld_worldshaper": "Ручной редактор мира", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "Интегральная схема", "item.create.iron_sheet": "Железный лист", "item.create.lapis_sheet": "Лазуритовый лист", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "Статистика генератора:", "create.gui.goggles.kinetic_stats": "Кинетическая статистика:", "create.gui.goggles.at_current_speed": "На текущей скорости", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "Калибровочная информация:", "create.gui.speedometer.title": "Скорость вращения", "create.gui.stressometer.title": "Сетевой момент", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index 0f3911df7..68d9c51b1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 351", + "_": "Missing Localizations: 371", "_": "->------------------------] Game Elements [------------------------<-", @@ -20,6 +20,7 @@ "block.create.andesite_cobblestone_slab": "安山岩圆石台阶", "block.create.andesite_cobblestone_stairs": "安山岩圆石楼梯", "block.create.andesite_cobblestone_wall": "安山岩圆石墙", + "block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_pillar": "竖纹安山岩", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", @@ -37,6 +38,7 @@ "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "黄铜块", "block.create.brass_casing": "黄铜机壳", + "block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", @@ -49,6 +51,7 @@ "block.create.chiseled_limestone": "錾制石灰岩", "block.create.chiseled_scoria": "錾制熔渣", "block.create.chiseled_weathered_limestone": "錾制风化石灰岩", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "时钟轴承", "block.create.clutch": "离合器", @@ -108,7 +111,6 @@ "block.create.encased_belt": "连携齿轮箱", "block.create.encased_fan": "鼓风机", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", - "block.create.encased_shaft": "齿轮箱", "block.create.fancy_andesite_bricks": "方纹安山岩砖", "block.create.fancy_andesite_bricks_slab": "方纹安山岩砖台阶", "block.create.fancy_andesite_bricks_stairs": "方纹安山岩砖楼梯", @@ -181,6 +183,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "手摇曲柄", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "竖直边框玻璃", "block.create.horizontal_framed_glass_pane": "竖直边框玻璃板", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -409,7 +412,11 @@ "entity.create.stationary_contraption": "固定结构", "entity.create.super_glue": "强力胶", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "安山合金", "item.create.attribute_filter": "属性过滤器", @@ -420,16 +427,26 @@ "item.create.brass_nugget": "黄铜粒", "item.create.brass_sheet": "黄铜板", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "异彩化合物", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "铜锭", "item.create.copper_nugget": "铜粒", "item.create.copper_sheet": "铜板", "item.create.crafter_slot_cover": "制造器盖板", + "item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_brass": "粉碎黄铜", "item.create.crushed_copper_ore": "粉碎铜矿石", "item.create.crushed_gold_ore": "粉碎金矿石", "item.create.crushed_iron_ore": "粉碎铁矿石", + "item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", + "item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", + "item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", + "item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", + "item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", + "item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", + "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", + "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "粉碎锌矿石", "item.create.deforester": "树林毁灭者", "item.create.dough": "面团", @@ -443,6 +460,7 @@ "item.create.golden_sheet": "金板", "item.create.handheld_blockzapper": "手持式方块放置器", "item.create.handheld_worldshaper": "手持式环境塑形器", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "集成电路板", "item.create.iron_sheet": "铁板", "item.create.lapis_sheet": "青金石板", @@ -727,6 +745,7 @@ "create.gui.goggles.generator_stats": "产能器状态:", "create.gui.goggles.kinetic_stats": "动能状态:", "create.gui.goggles.at_current_speed": "当前速度应力值", + "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:", "create.gui.gauge.info_header": "仪表信息:", "create.gui.speedometer.title": "旋转速度", "create.gui.stressometer.title": "网络应力", diff --git a/src/generated/resources/assets/create/models/block/chocolate.json b/src/generated/resources/assets/create/models/block/chocolate.json new file mode 100644 index 000000000..1baf010f2 --- /dev/null +++ b/src/generated/resources/assets/create/models/block/chocolate.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "create:fluid/chocolate_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/encased_fluid_pipe.json b/src/generated/resources/assets/create/models/block/encased_fluid_pipe.json deleted file mode 100644 index fe5fda11b..000000000 --- a/src/generated/resources/assets/create/models/block/encased_fluid_pipe.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "side": "create:block/copper_casing", - "end": "create:block/encased_pipe" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/honey.json b/src/generated/resources/assets/create/models/block/honey.json new file mode 100644 index 000000000..079948a71 --- /dev/null +++ b/src/generated/resources/assets/create/models/block/honey.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "create:fluid/honey_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/andesite_encased_shaft.json b/src/generated/resources/assets/create/models/item/andesite_encased_shaft.json new file mode 100644 index 000000000..6edf0c3e5 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/andesite_encased_shaft.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/encased_shaft/item_andesite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/brass_encased_shaft.json b/src/generated/resources/assets/create/models/item/brass_encased_shaft.json new file mode 100644 index 000000000..aa516d10d --- /dev/null +++ b/src/generated/resources/assets/create/models/item/brass_encased_shaft.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/encased_shaft/item_brass" +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/chocolate_bucket.json b/src/generated/resources/assets/create/models/item/chocolate_bucket.json new file mode 100644 index 000000000..755bc2583 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/chocolate_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/chocolate_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/controller_rail.json b/src/generated/resources/assets/create/models/item/controller_rail.json index 5812829bc..3e4d4be29 100644 --- a/src/generated/resources/assets/create/models/item/controller_rail.json +++ b/src/generated/resources/assets/create/models/item/controller_rail.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "create:block/controller_rail_analog" + "layer0": "create:block/controller_rail_item" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_aluminum_ore.json b/src/generated/resources/assets/create/models/item/crushed_aluminum_ore.json new file mode 100644 index 000000000..662060f98 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_aluminum_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_aluminum_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_lead_ore.json b/src/generated/resources/assets/create/models/item/crushed_lead_ore.json new file mode 100644 index 000000000..1c2c6911b --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_lead_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_lead_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_nickel_ore.json b/src/generated/resources/assets/create/models/item/crushed_nickel_ore.json new file mode 100644 index 000000000..4a47620f7 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_nickel_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_nickel_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_osmium_ore.json b/src/generated/resources/assets/create/models/item/crushed_osmium_ore.json new file mode 100644 index 000000000..bffaad165 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_osmium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_osmium_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_platinum_ore.json b/src/generated/resources/assets/create/models/item/crushed_platinum_ore.json new file mode 100644 index 000000000..6b2d3a4a1 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_platinum_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_platinum_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_quicksilver_ore.json b/src/generated/resources/assets/create/models/item/crushed_quicksilver_ore.json new file mode 100644 index 000000000..755ae5489 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_quicksilver_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_quicksilver_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_silver_ore.json b/src/generated/resources/assets/create/models/item/crushed_silver_ore.json new file mode 100644 index 000000000..98054fe18 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_silver_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_silver_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_tin_ore.json b/src/generated/resources/assets/create/models/item/crushed_tin_ore.json new file mode 100644 index 000000000..6e0bb6e65 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_tin_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_tin_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crushed_uranium_ore.json b/src/generated/resources/assets/create/models/item/crushed_uranium_ore.json new file mode 100644 index 000000000..b377d5915 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/crushed_uranium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/crushed_uranium_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/honey_bucket.json b/src/generated/resources/assets/create/models/item/honey_bucket.json new file mode 100644 index 000000000..5e0db1bc5 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/honey_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/honey_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/aluminum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/aluminum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..da856538c --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/aluminum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/aluminum_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_aluminum_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/aluminum_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_aluminum_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_aluminum_compat_immersiveengineering.json new file mode 100644 index 000000000..fb63b0eb7 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_aluminum_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/ingot_aluminum_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_aluminum_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/ingot_aluminum_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_lead_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_lead_compat_immersiveengineering.json new file mode 100644 index 000000000..9e3d45634 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_lead_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/ingot_lead_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_lead_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/ingot_lead_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_nickel_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_nickel_compat_immersiveengineering.json new file mode 100644 index 000000000..f0e0c5f2a --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_nickel_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/ingot_nickel_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_nickel_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/ingot_nickel_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_silver_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_silver_compat_immersiveengineering.json new file mode 100644 index 000000000..1c3df65ab --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_silver_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/ingot_silver_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_silver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/ingot_silver_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_uranium_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_uranium_compat_immersiveengineering.json new file mode 100644 index 000000000..3124305fa --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/ingot_uranium_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/ingot_uranium_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_uranium_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/ingot_uranium_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..7db99d24f --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/lead_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_lead_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/lead_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..9baf5c094 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/lead_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/lead_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_lead_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/lead_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/nickel_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/nickel_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..0dd0f330a --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/nickel_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/nickel_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_nickel_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/nickel_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/osmium_ingot_compat_mekanism.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/osmium_ingot_compat_mekanism.json new file mode 100644 index 000000000..1aa1197f7 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/osmium_ingot_compat_mekanism.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/osmium_ingot_compat_mekanism" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_osmium_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/osmium_ingot_compat_mekanism" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/platinum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/platinum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..cee7a6143 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/platinum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/platinum_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_platinum_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/platinum_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/quicksilver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/quicksilver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..703399829 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/quicksilver_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/quicksilver_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_quicksilver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/quicksilver_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..1c89bad02 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/silver_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_silver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/silver_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..916b7198d --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/silver_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/silver_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_silver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/silver_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mekanism.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mekanism.json new file mode 100644 index 000000000..1c1029415 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mekanism.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/tin_ingot_compat_mekanism" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_tin_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/tin_ingot_compat_mekanism" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..8097c78c9 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/tin_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_tin_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/tin_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..4ab948dc1 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/tin_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_tin_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/tin_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/uranium_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/uranium_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..b9deb38e0 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/blasting/uranium_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:blasting/uranium_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_uranium_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:blasting/uranium_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/aluminum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/aluminum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..989a17b16 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/aluminum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/aluminum_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_aluminum_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/aluminum_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_aluminum_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_aluminum_compat_immersiveengineering.json new file mode 100644 index 000000000..d93e8f57b --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_aluminum_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/ingot_aluminum_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_aluminum_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/ingot_aluminum_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_lead_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_lead_compat_immersiveengineering.json new file mode 100644 index 000000000..e0556cd50 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_lead_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/ingot_lead_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_lead_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/ingot_lead_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_nickel_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_nickel_compat_immersiveengineering.json new file mode 100644 index 000000000..e008f432a --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_nickel_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/ingot_nickel_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_nickel_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/ingot_nickel_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_silver_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_silver_compat_immersiveengineering.json new file mode 100644 index 000000000..a359a6511 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_silver_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/ingot_silver_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_silver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/ingot_silver_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_uranium_compat_immersiveengineering.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_uranium_compat_immersiveengineering.json new file mode 100644 index 000000000..67762dc69 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/ingot_uranium_compat_immersiveengineering.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/ingot_uranium_compat_immersiveengineering" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_uranium_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/ingot_uranium_compat_immersiveengineering" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..59611d7a7 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/lead_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_lead_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/lead_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..5854e4350 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/lead_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/lead_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_lead_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/lead_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/nickel_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/nickel_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..30cf3ee8d --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/nickel_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/nickel_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_nickel_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/nickel_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/osmium_ingot_compat_mekanism.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/osmium_ingot_compat_mekanism.json new file mode 100644 index 000000000..8ef5a05d5 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/osmium_ingot_compat_mekanism.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/osmium_ingot_compat_mekanism" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_osmium_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/osmium_ingot_compat_mekanism" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/platinum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/platinum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..2e3bea005 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/platinum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/platinum_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_platinum_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/platinum_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/quicksilver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/quicksilver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..2ec4a4e04 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/quicksilver_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/quicksilver_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_quicksilver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/quicksilver_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..e01b36550 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/silver_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_silver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/silver_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..85c393349 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/silver_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/silver_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_silver_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/silver_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mekanism.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mekanism.json new file mode 100644 index 000000000..be2f789a2 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mekanism.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/tin_ingot_compat_mekanism" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_tin_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/tin_ingot_compat_mekanism" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..c91bf7f7e --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_mysticalworld.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/tin_ingot_compat_mysticalworld" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_tin_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/tin_ingot_compat_mysticalworld" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..f5a627d65 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/tin_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/tin_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_tin_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/tin_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/uranium_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/uranium_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..173237f69 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/smelting/uranium_ingot_compat_silents_mechanisms.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:smelting/uranium_ingot_compat_silents_mechanisms" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:crushed_uranium_ore" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:smelting/uranium_ingot_compat_silents_mechanisms" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/controller_rail.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/controller_rail.json new file mode 100644 index 000000000..0e88c3224 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/controller_rail.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:crafting/kinetics/controller_rail" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "minecraft:powered_rail" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:crafting/kinetics/controller_rail" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/loot_tables/blocks/encased_shaft.json b/src/generated/resources/data/create/loot_tables/blocks/andesite_encased_shaft.json similarity index 100% rename from src/generated/resources/data/create/loot_tables/blocks/encased_shaft.json rename to src/generated/resources/data/create/loot_tables/blocks/andesite_encased_shaft.json diff --git a/src/generated/resources/data/create/loot_tables/blocks/brass_encased_shaft.json b/src/generated/resources/data/create/loot_tables/blocks/brass_encased_shaft.json new file mode 100644 index 000000000..84f976dfb --- /dev/null +++ b/src/generated/resources/data/create/loot_tables/blocks/brass_encased_shaft.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/aluminum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/blasting/aluminum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..fd2790eab --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/aluminum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_aluminum_ore" + }, + "result": "silents_mechanisms:aluminum_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/ingot_aluminum_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/blasting/ingot_aluminum_compat_immersiveengineering.json new file mode 100644 index 000000000..df88850d4 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/ingot_aluminum_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_aluminum_ore" + }, + "result": "immersiveengineering:ingot_aluminum", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/ingot_lead_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/blasting/ingot_lead_compat_immersiveengineering.json new file mode 100644 index 000000000..74f359db2 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/ingot_lead_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_lead_ore" + }, + "result": "immersiveengineering:ingot_lead", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/ingot_nickel_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/blasting/ingot_nickel_compat_immersiveengineering.json new file mode 100644 index 000000000..8ad2bf41b --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/ingot_nickel_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_nickel_ore" + }, + "result": "immersiveengineering:ingot_nickel", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/ingot_silver_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/blasting/ingot_silver_compat_immersiveengineering.json new file mode 100644 index 000000000..4b0fac0c8 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/ingot_silver_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_silver_ore" + }, + "result": "immersiveengineering:ingot_silver", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/ingot_uranium_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/blasting/ingot_uranium_compat_immersiveengineering.json new file mode 100644 index 000000000..52c435ebf --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/ingot_uranium_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_uranium_ore" + }, + "result": "immersiveengineering:ingot_uranium", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/lead_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/blasting/lead_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..beae6055d --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/lead_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_lead_ore" + }, + "result": "mysticalworld:lead_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/lead_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/blasting/lead_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..84f5d58b0 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/lead_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_lead_ore" + }, + "result": "silents_mechanisms:lead_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/nickel_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/blasting/nickel_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..fcae2b6e6 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/nickel_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_nickel_ore" + }, + "result": "silents_mechanisms:nickel_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/osmium_ingot_compat_mekanism.json b/src/generated/resources/data/create/recipes/blasting/osmium_ingot_compat_mekanism.json new file mode 100644 index 000000000..65bbfe190 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/osmium_ingot_compat_mekanism.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_osmium_ore" + }, + "result": "mekanism:osmium_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "mekanism", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/platinum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/blasting/platinum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..2c6c22847 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/platinum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_platinum_ore" + }, + "result": "silents_mechanisms:platinum_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/quicksilver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/blasting/quicksilver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..9e0bff2a7 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/quicksilver_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_quicksilver_ore" + }, + "result": "mysticalworld:quicksilver_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/silver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/blasting/silver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..ffa5dbf2f --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/silver_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_silver_ore" + }, + "result": "mysticalworld:silver_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/silver_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/blasting/silver_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..aeb193365 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/silver_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_silver_ore" + }, + "result": "silents_mechanisms:silver_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_mekanism.json b/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_mekanism.json new file mode 100644 index 000000000..182dec6ef --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_mekanism.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_tin_ore" + }, + "result": "mekanism:tin_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "mekanism", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..039044d63 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_tin_ore" + }, + "result": "mysticalworld:tin_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..200ff3924 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/tin_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_tin_ore" + }, + "result": "silents_mechanisms:tin_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/blasting/uranium_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/blasting/uranium_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..b160e2511 --- /dev/null +++ b/src/generated/resources/data/create/recipes/blasting/uranium_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "create:crushed_uranium_ore" + }, + "result": "silents_mechanisms:uranium_ingot", + "experience": 0.1, + "cookingtime": 100, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/chute.json b/src/generated/resources/data/create/recipes/crafting/kinetics/chute.json index 9b272de35..e8bddbe4b 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/chute.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/chute.json @@ -13,6 +13,7 @@ } }, "result": { - "item": "create:chute" + "item": "create:chute", + "count": 4 } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/controller_rail.json b/src/generated/resources/data/create/recipes/crafting/kinetics/controller_rail.json new file mode 100644 index 000000000..fadc95421 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/controller_rail.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "A A", + "ASA", + "AEA" + ], + "key": { + "A": { + "tag": "forge:ingots/gold" + }, + "E": { + "item": "create:electron_tube" + }, + "S": { + "tag": "forge:rods/wooden" + } + }, + "result": { + "item": "create:controller_rail", + "count": 6 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/aluminum_ore.json b/src/generated/resources/data/create/recipes/crushing/aluminum_ore.json new file mode 100644 index 000000000..7c6472470 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/aluminum_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/aluminum" + } + ], + "results": [ + { + "item": "create:crushed_aluminum_ore" + }, + { + "item": "create:crushed_aluminum_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/aluminum", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/copper_ore.json b/src/generated/resources/data/create/recipes/crushing/copper_ore.json index 8619d352d..cc80390c1 100644 --- a/src/generated/resources/data/create/recipes/crushing/copper_ore.json +++ b/src/generated/resources/data/create/recipes/crushing/copper_ore.json @@ -19,5 +19,14 @@ "chance": 0.125 } ], - "processingTime": 350 + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/copper", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/diamond_ore.json b/src/generated/resources/data/create/recipes/crushing/diamond_ore.json new file mode 100644 index 000000000..f16220528 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/diamond_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:diamond_ore" + } + ], + "results": [ + { + "item": "minecraft:diamond", + "count": 2 + }, + { + "item": "minecraft:diamond", + "chance": 0.25 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 500 +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/gold_ore.json b/src/generated/resources/data/create/recipes/crushing/gold_ore.json index 9e0cce547..8545c7d32 100644 --- a/src/generated/resources/data/create/recipes/crushing/gold_ore.json +++ b/src/generated/resources/data/create/recipes/crushing/gold_ore.json @@ -19,5 +19,14 @@ "chance": 0.125 } ], - "processingTime": 300 + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/gold", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/iron_ore.json b/src/generated/resources/data/create/recipes/crushing/iron_ore.json index bdc80fc6e..d67f352ee 100644 --- a/src/generated/resources/data/create/recipes/crushing/iron_ore.json +++ b/src/generated/resources/data/create/recipes/crushing/iron_ore.json @@ -19,5 +19,14 @@ "chance": 0.125 } ], - "processingTime": 400 + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/iron", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/lead_ore.json b/src/generated/resources/data/create/recipes/crushing/lead_ore.json new file mode 100644 index 000000000..adbefb9f7 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/lead_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/lead" + } + ], + "results": [ + { + "item": "create:crushed_lead_ore" + }, + { + "item": "create:crushed_lead_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/lead", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/nickel_ore.json b/src/generated/resources/data/create/recipes/crushing/nickel_ore.json new file mode 100644 index 000000000..22a5579ee --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/nickel_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/nickel" + } + ], + "results": [ + { + "item": "create:crushed_nickel_ore" + }, + { + "item": "create:crushed_nickel_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/nickel", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/osmium_ore.json b/src/generated/resources/data/create/recipes/crushing/osmium_ore.json new file mode 100644 index 000000000..2620b7fd3 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/osmium_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/osmium" + } + ], + "results": [ + { + "item": "create:crushed_osmium_ore" + }, + { + "item": "create:crushed_osmium_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/osmium", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/platinum_ore.json b/src/generated/resources/data/create/recipes/crushing/platinum_ore.json new file mode 100644 index 000000000..edaa78261 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/platinum_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/platinum" + } + ], + "results": [ + { + "item": "create:crushed_platinum_ore" + }, + { + "item": "create:crushed_platinum_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/platinum", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/quicksilver_ore.json b/src/generated/resources/data/create/recipes/crushing/quicksilver_ore.json new file mode 100644 index 000000000..05484d91e --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/quicksilver_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/quicksilver" + } + ], + "results": [ + { + "item": "create:crushed_quicksilver_ore" + }, + { + "item": "create:crushed_quicksilver_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/quicksilver", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/silver_ore.json b/src/generated/resources/data/create/recipes/crushing/silver_ore.json new file mode 100644 index 000000000..5358eba8d --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/silver_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/silver" + } + ], + "results": [ + { + "item": "create:crushed_silver_ore" + }, + { + "item": "create:crushed_silver_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/silver", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/tin_ore.json b/src/generated/resources/data/create/recipes/crushing/tin_ore.json new file mode 100644 index 000000000..59bae1b52 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/tin_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/tin" + } + ], + "results": [ + { + "item": "create:crushed_tin_ore" + }, + { + "item": "create:crushed_tin_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/tin", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/uranium_ore.json b/src/generated/resources/data/create/recipes/crushing/uranium_ore.json new file mode 100644 index 000000000..a00f7f03e --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/uranium_ore.json @@ -0,0 +1,32 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "tag": "forge:ores/uranium" + } + ], + "results": [ + { + "item": "create:crushed_uranium_ore" + }, + { + "item": "create:crushed_uranium_ore", + "count": 2, + "chance": 0.3 + }, + { + "item": "minecraft:cobblestone", + "chance": 0.125 + } + ], + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/uranium", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/zinc_ore.json b/src/generated/resources/data/create/recipes/crushing/zinc_ore.json index 9ae4fe46d..751c69559 100644 --- a/src/generated/resources/data/create/recipes/crushing/zinc_ore.json +++ b/src/generated/resources/data/create/recipes/crushing/zinc_ore.json @@ -19,5 +19,14 @@ "chance": 0.125 } ], - "processingTime": 350 + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/zinc", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/emptying/honey_bottle.json b/src/generated/resources/data/create/recipes/emptying/honey_bottle.json new file mode 100644 index 000000000..de62bb4a3 --- /dev/null +++ b/src/generated/resources/data/create/recipes/emptying/honey_bottle.json @@ -0,0 +1,17 @@ +{ + "type": "create:emptying", + "ingredients": [ + { + "item": "minecraft:honey_bottle" + } + ], + "results": [ + { + "item": "minecraft:glass_bottle" + }, + { + "fluid": "create:honey", + "amount": 250 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/emptying/milk_bucket.json b/src/generated/resources/data/create/recipes/emptying/milk_bucket.json new file mode 100644 index 000000000..be95f4c33 --- /dev/null +++ b/src/generated/resources/data/create/recipes/emptying/milk_bucket.json @@ -0,0 +1,17 @@ +{ + "type": "create:emptying", + "ingredients": [ + { + "item": "minecraft:milk_bucket" + } + ], + "results": [ + { + "item": "minecraft:bucket" + }, + { + "fluid": "create:milk", + "amount": 1000 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/filling/honey_bottle.json b/src/generated/resources/data/create/recipes/filling/honey_bottle.json new file mode 100644 index 000000000..dd1f62eb2 --- /dev/null +++ b/src/generated/resources/data/create/recipes/filling/honey_bottle.json @@ -0,0 +1,17 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:glass_bottle" + }, + { + "fluidTag": "forge:honey", + "amount": 250 + } + ], + "results": [ + { + "item": "minecraft:honey_bottle" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/filling/milk_bucket.json b/src/generated/resources/data/create/recipes/filling/milk_bucket.json new file mode 100644 index 000000000..ab968ec8d --- /dev/null +++ b/src/generated/resources/data/create/recipes/filling/milk_bucket.json @@ -0,0 +1,17 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "fluidTag": "forge:milk", + "amount": 1000 + } + ], + "results": [ + { + "item": "minecraft:milk_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/aluminum_ore.json b/src/generated/resources/data/create/recipes/milling/aluminum_ore.json new file mode 100644 index 000000000..a0e94e54b --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/aluminum_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/aluminum" + } + ], + "results": [ + { + "item": "create:crushed_aluminum_ore" + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/aluminum", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/copper_ore.json b/src/generated/resources/data/create/recipes/milling/copper_ore.json index 4d84da701..e8a1ffc78 100644 --- a/src/generated/resources/data/create/recipes/milling/copper_ore.json +++ b/src/generated/resources/data/create/recipes/milling/copper_ore.json @@ -10,5 +10,14 @@ "item": "create:crushed_copper_ore" } ], - "processingTime": 350 + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/copper", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/gold_ore.json b/src/generated/resources/data/create/recipes/milling/gold_ore.json index 35fe22b01..c80b0d4fd 100644 --- a/src/generated/resources/data/create/recipes/milling/gold_ore.json +++ b/src/generated/resources/data/create/recipes/milling/gold_ore.json @@ -10,5 +10,14 @@ "item": "create:crushed_gold_ore" } ], - "processingTime": 300 + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/gold", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/iron_ore.json b/src/generated/resources/data/create/recipes/milling/iron_ore.json index df42a64e6..ddbe1a20d 100644 --- a/src/generated/resources/data/create/recipes/milling/iron_ore.json +++ b/src/generated/resources/data/create/recipes/milling/iron_ore.json @@ -10,5 +10,14 @@ "item": "create:crushed_iron_ore" } ], - "processingTime": 400 + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/iron", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/lead_ore.json b/src/generated/resources/data/create/recipes/milling/lead_ore.json new file mode 100644 index 000000000..7daad6dfa --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/lead_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/lead" + } + ], + "results": [ + { + "item": "create:crushed_lead_ore" + } + ], + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/lead", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/nickel_ore.json b/src/generated/resources/data/create/recipes/milling/nickel_ore.json new file mode 100644 index 000000000..3e113bbe3 --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/nickel_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/nickel" + } + ], + "results": [ + { + "item": "create:crushed_nickel_ore" + } + ], + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/nickel", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/osmium_ore.json b/src/generated/resources/data/create/recipes/milling/osmium_ore.json new file mode 100644 index 000000000..b6969f922 --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/osmium_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/osmium" + } + ], + "results": [ + { + "item": "create:crushed_osmium_ore" + } + ], + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/osmium", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/platinum_ore.json b/src/generated/resources/data/create/recipes/milling/platinum_ore.json new file mode 100644 index 000000000..9f71f1a4c --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/platinum_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/platinum" + } + ], + "results": [ + { + "item": "create:crushed_platinum_ore" + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/platinum", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/quicksilver_ore.json b/src/generated/resources/data/create/recipes/milling/quicksilver_ore.json new file mode 100644 index 000000000..14e920f10 --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/quicksilver_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/quicksilver" + } + ], + "results": [ + { + "item": "create:crushed_quicksilver_ore" + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/quicksilver", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/silver_ore.json b/src/generated/resources/data/create/recipes/milling/silver_ore.json new file mode 100644 index 000000000..57c73480f --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/silver_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/silver" + } + ], + "results": [ + { + "item": "create:crushed_silver_ore" + } + ], + "processingTime": 300, + "conditions": [ + { + "value": { + "tag": "forge:ores/silver", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/tin_ore.json b/src/generated/resources/data/create/recipes/milling/tin_ore.json new file mode 100644 index 000000000..1c2178db4 --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/tin_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/tin" + } + ], + "results": [ + { + "item": "create:crushed_tin_ore" + } + ], + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/tin", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/uranium_ore.json b/src/generated/resources/data/create/recipes/milling/uranium_ore.json new file mode 100644 index 000000000..38da4894d --- /dev/null +++ b/src/generated/resources/data/create/recipes/milling/uranium_ore.json @@ -0,0 +1,23 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "tag": "forge:ores/uranium" + } + ], + "results": [ + { + "item": "create:crushed_uranium_ore" + } + ], + "processingTime": 400, + "conditions": [ + { + "value": { + "tag": "forge:ores/uranium", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/milling/zinc_ore.json b/src/generated/resources/data/create/recipes/milling/zinc_ore.json index 2b8242927..f2ff77f97 100644 --- a/src/generated/resources/data/create/recipes/milling/zinc_ore.json +++ b/src/generated/resources/data/create/recipes/milling/zinc_ore.json @@ -10,5 +10,14 @@ "item": "create:crushed_zinc_ore" } ], - "processingTime": 350 + "processingTime": 350, + "conditions": [ + { + "value": { + "tag": "forge:ores/zinc", + "type": "forge:tag_empty" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/mixing/chocolate.json b/src/generated/resources/data/create/recipes/mixing/chocolate.json new file mode 100644 index 000000000..e15f7307d --- /dev/null +++ b/src/generated/resources/data/create/recipes/mixing/chocolate.json @@ -0,0 +1,22 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "minecraft:sugar" + }, + { + "item": "minecraft:cocoa_beans" + }, + { + "fluidTag": "forge:milk", + "amount": 250 + } + ], + "results": [ + { + "fluid": "create:chocolate", + "amount": 250 + } + ], + "heatRequirement": "heated" +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/mixing/tea.json b/src/generated/resources/data/create/recipes/mixing/tea.json new file mode 100644 index 000000000..40ccbf50a --- /dev/null +++ b/src/generated/resources/data/create/recipes/mixing/tea.json @@ -0,0 +1,24 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "tag": "minecraft:leaves" + }, + { + "fluid": "minecraft:water", + "nbt": {}, + "amount": 250 + }, + { + "fluidTag": "forge:milk", + "amount": 250 + } + ], + "results": [ + { + "fluid": "create:tea", + "amount": 500 + } + ], + "heatRequirement": "heated" +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/aluminum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/smelting/aluminum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..5844e4fd8 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/aluminum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_aluminum_ore" + }, + "result": "silents_mechanisms:aluminum_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/ingot_aluminum_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/smelting/ingot_aluminum_compat_immersiveengineering.json new file mode 100644 index 000000000..e76df0c7d --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/ingot_aluminum_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_aluminum_ore" + }, + "result": "immersiveengineering:ingot_aluminum", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/ingot_lead_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/smelting/ingot_lead_compat_immersiveengineering.json new file mode 100644 index 000000000..c204213ef --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/ingot_lead_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_lead_ore" + }, + "result": "immersiveengineering:ingot_lead", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/ingot_nickel_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/smelting/ingot_nickel_compat_immersiveengineering.json new file mode 100644 index 000000000..1beebd355 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/ingot_nickel_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_nickel_ore" + }, + "result": "immersiveengineering:ingot_nickel", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/ingot_silver_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/smelting/ingot_silver_compat_immersiveengineering.json new file mode 100644 index 000000000..02570ae93 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/ingot_silver_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_silver_ore" + }, + "result": "immersiveengineering:ingot_silver", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/ingot_uranium_compat_immersiveengineering.json b/src/generated/resources/data/create/recipes/smelting/ingot_uranium_compat_immersiveengineering.json new file mode 100644 index 000000000..a036fdfa2 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/ingot_uranium_compat_immersiveengineering.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_uranium_ore" + }, + "result": "immersiveengineering:ingot_uranium", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/lead_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/smelting/lead_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..389c5124f --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/lead_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_lead_ore" + }, + "result": "mysticalworld:lead_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/lead_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/smelting/lead_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..de1333398 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/lead_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_lead_ore" + }, + "result": "silents_mechanisms:lead_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/nickel_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/smelting/nickel_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..536c7c08f --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/nickel_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_nickel_ore" + }, + "result": "silents_mechanisms:nickel_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/osmium_ingot_compat_mekanism.json b/src/generated/resources/data/create/recipes/smelting/osmium_ingot_compat_mekanism.json new file mode 100644 index 000000000..b522da67c --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/osmium_ingot_compat_mekanism.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_osmium_ore" + }, + "result": "mekanism:osmium_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "mekanism", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/platinum_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/smelting/platinum_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..1261866bb --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/platinum_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_platinum_ore" + }, + "result": "silents_mechanisms:platinum_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/quicksilver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/smelting/quicksilver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..987ed26a8 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/quicksilver_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_quicksilver_ore" + }, + "result": "mysticalworld:quicksilver_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/silver_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/smelting/silver_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..e59c959e7 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/silver_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_silver_ore" + }, + "result": "mysticalworld:silver_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/silver_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/smelting/silver_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..6e2cfbce5 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/silver_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_silver_ore" + }, + "result": "silents_mechanisms:silver_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_mekanism.json b/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_mekanism.json new file mode 100644 index 000000000..c5f7205c7 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_mekanism.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_tin_ore" + }, + "result": "mekanism:tin_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "mekanism", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_mysticalworld.json b/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_mysticalworld.json new file mode 100644 index 000000000..2249b2127 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_mysticalworld.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_tin_ore" + }, + "result": "mysticalworld:tin_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..3b8f7f777 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/tin_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_tin_ore" + }, + "result": "silents_mechanisms:tin_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/smelting/uranium_ingot_compat_silents_mechanisms.json b/src/generated/resources/data/create/recipes/smelting/uranium_ingot_compat_silents_mechanisms.json new file mode 100644 index 000000000..3084e8b05 --- /dev/null +++ b/src/generated/resources/data/create/recipes/smelting/uranium_ingot_compat_silents_mechanisms.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "create:crushed_uranium_ore" + }, + "result": "silents_mechanisms:uranium_ingot", + "experience": 0.1, + "cookingtime": 200, + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_aluminum_ore.json b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_aluminum_ore.json new file mode 100644 index 000000000..e88525be6 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_aluminum_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_aluminum_ore" + } + ], + "results": [ + { + "item": "immersiveengineering:nugget_aluminum", + "count": 10 + }, + { + "item": "immersiveengineering:nugget_aluminum", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_lead_ore.json b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_lead_ore.json new file mode 100644 index 000000000..71bcde052 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_lead_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_lead_ore" + } + ], + "results": [ + { + "item": "immersiveengineering:nugget_lead", + "count": 10 + }, + { + "item": "immersiveengineering:nugget_lead", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_nickel_ore.json b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_nickel_ore.json new file mode 100644 index 000000000..03d9eaa3e --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_nickel_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_nickel_ore" + } + ], + "results": [ + { + "item": "immersiveengineering:nugget_nickel", + "count": 10 + }, + { + "item": "immersiveengineering:nugget_nickel", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_silver_ore.json b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_silver_ore.json new file mode 100644 index 000000000..5b24d6a99 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_silver_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_silver_ore" + } + ], + "results": [ + { + "item": "immersiveengineering:nugget_silver", + "count": 10 + }, + { + "item": "immersiveengineering:nugget_silver", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_uranium_ore.json b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_uranium_ore.json new file mode 100644 index 000000000..8407663b3 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/immersiveengineering/crushed_uranium_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_uranium_ore" + } + ], + "results": [ + { + "item": "immersiveengineering:nugget_uranium", + "count": 10 + }, + { + "item": "immersiveengineering:nugget_uranium", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "immersiveengineering", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/mekanism/crushed_osmium_ore.json b/src/generated/resources/data/create/recipes/splashing/mekanism/crushed_osmium_ore.json new file mode 100644 index 000000000..a01ea54c9 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/mekanism/crushed_osmium_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_osmium_ore" + } + ], + "results": [ + { + "item": "mekanism:osmium_nugget", + "count": 10 + }, + { + "item": "mekanism:osmium_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "mekanism", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/mekanism/crushed_tin_ore.json b/src/generated/resources/data/create/recipes/splashing/mekanism/crushed_tin_ore.json new file mode 100644 index 000000000..4f04dbf57 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/mekanism/crushed_tin_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_tin_ore" + } + ], + "results": [ + { + "item": "mekanism:tin_nugget", + "count": 10 + }, + { + "item": "mekanism:tin_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "mekanism", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_lead_ore.json b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_lead_ore.json new file mode 100644 index 000000000..3361263fd --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_lead_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_lead_ore" + } + ], + "results": [ + { + "item": "mysticalworld:lead_nugget", + "count": 10 + }, + { + "item": "mysticalworld:lead_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_quicksilver_ore.json b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_quicksilver_ore.json new file mode 100644 index 000000000..817c1636d --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_quicksilver_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_quicksilver_ore" + } + ], + "results": [ + { + "item": "mysticalworld:quicksilver_nugget", + "count": 10 + }, + { + "item": "mysticalworld:quicksilver_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_silver_ore.json b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_silver_ore.json new file mode 100644 index 000000000..6f08f1cf9 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_silver_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_silver_ore" + } + ], + "results": [ + { + "item": "mysticalworld:silver_nugget", + "count": 10 + }, + { + "item": "mysticalworld:silver_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_tin_ore.json b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_tin_ore.json new file mode 100644 index 000000000..d2b63a94f --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/mysticalworld/crushed_tin_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_tin_ore" + } + ], + "results": [ + { + "item": "mysticalworld:tin_nugget", + "count": 10 + }, + { + "item": "mysticalworld:tin_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "mysticalworld", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_aluminum_ore.json b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_aluminum_ore.json new file mode 100644 index 000000000..ebc8ed9a3 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_aluminum_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_aluminum_ore" + } + ], + "results": [ + { + "item": "silents_mechanisms:aluminum_nugget", + "count": 10 + }, + { + "item": "silents_mechanisms:aluminum_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_lead_ore.json b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_lead_ore.json new file mode 100644 index 000000000..5da948065 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_lead_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_lead_ore" + } + ], + "results": [ + { + "item": "silents_mechanisms:lead_nugget", + "count": 10 + }, + { + "item": "silents_mechanisms:lead_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_nickel_ore.json b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_nickel_ore.json new file mode 100644 index 000000000..9015c0579 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_nickel_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_nickel_ore" + } + ], + "results": [ + { + "item": "silents_mechanisms:nickel_nugget", + "count": 10 + }, + { + "item": "silents_mechanisms:nickel_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_platinum_ore.json b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_platinum_ore.json new file mode 100644 index 000000000..4a463a10a --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_platinum_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_platinum_ore" + } + ], + "results": [ + { + "item": "silents_mechanisms:platinum_nugget", + "count": 10 + }, + { + "item": "silents_mechanisms:platinum_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_silver_ore.json b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_silver_ore.json new file mode 100644 index 000000000..77d1b5b24 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_silver_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_silver_ore" + } + ], + "results": [ + { + "item": "silents_mechanisms:silver_nugget", + "count": 10 + }, + { + "item": "silents_mechanisms:silver_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_tin_ore.json b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_tin_ore.json new file mode 100644 index 000000000..5ebf55141 --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_tin_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_tin_ore" + } + ], + "results": [ + { + "item": "silents_mechanisms:tin_nugget", + "count": 10 + }, + { + "item": "silents_mechanisms:tin_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_uranium_ore.json b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_uranium_ore.json new file mode 100644 index 000000000..5da13a4ac --- /dev/null +++ b/src/generated/resources/data/create/recipes/splashing/silents_mechanisms/crushed_uranium_ore.json @@ -0,0 +1,25 @@ +{ + "type": "create:splashing", + "ingredients": [ + { + "item": "create:crushed_uranium_ore" + } + ], + "results": [ + { + "item": "silents_mechanisms:uranium_nugget", + "count": 10 + }, + { + "item": "silents_mechanisms:uranium_nugget", + "count": 5, + "chance": 0.5 + } + ], + "conditions": [ + { + "modid": "silents_mechanisms", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/blocks/brittle.json b/src/generated/resources/data/create/tags/blocks/brittle.json index 07cbfbb2c..c028ad70c 100644 --- a/src/generated/resources/data/create/tags/blocks/brittle.json +++ b/src/generated/resources/data/create/tags/blocks/brittle.json @@ -26,6 +26,7 @@ "create:redstone_link", "#minecraft:doors", "minecraft:flower_pot", - "minecraft:bell" + "minecraft:bell", + "minecraft:cocoa" ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/items/crushed_ores.json b/src/generated/resources/data/create/tags/items/crushed_ores.json index 86d103722..69cc6ed10 100644 --- a/src/generated/resources/data/create/tags/items/crushed_ores.json +++ b/src/generated/resources/data/create/tags/items/crushed_ores.json @@ -5,6 +5,15 @@ "create:crushed_gold_ore", "create:crushed_copper_ore", "create:crushed_zinc_ore", - "create:crushed_brass" + "create:crushed_brass", + "create:crushed_osmium_ore", + "create:crushed_platinum_ore", + "create:crushed_silver_ore", + "create:crushed_tin_ore", + "create:crushed_lead_ore", + "create:crushed_quicksilver_ore", + "create:crushed_aluminum_ore", + "create:crushed_uranium_ore", + "create:crushed_nickel_ore" ] } \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/fluids/honey.json b/src/generated/resources/data/forge/tags/fluids/honey.json new file mode 100644 index 000000000..6fab599f2 --- /dev/null +++ b/src/generated/resources/data/forge/tags/fluids/honey.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "create:flowing_honey", + "create:honey" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/fluids/milk.json b/src/generated/resources/data/forge/tags/fluids/milk.json new file mode 100644 index 000000000..6860027e8 --- /dev/null +++ b/src/generated/resources/data/forge/tags/fluids/milk.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "create:flowing_milk", + "create:milk" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/plates.json b/src/generated/resources/data/forge/tags/items/plates.json index c294488df..3ba58600a 100644 --- a/src/generated/resources/data/forge/tags/items/plates.json +++ b/src/generated/resources/data/forge/tags/items/plates.json @@ -4,6 +4,7 @@ "create:copper_sheet", "create:brass_sheet", "create:iron_sheet", - "create:golden_sheet" + "create:golden_sheet", + "create:lapis_sheet" ] } \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/items/plates/lapis_lazuli.json b/src/generated/resources/data/forge/tags/items/plates/lapis_lazuli.json new file mode 100644 index 000000000..b9f6147a1 --- /dev/null +++ b/src/generated/resources/data/forge/tags/items/plates/lapis_lazuli.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "create:lapis_sheet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/fluids/water.json b/src/generated/resources/data/minecraft/tags/fluids/water.json new file mode 100644 index 000000000..01d633e97 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/fluids/water.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "create:flowing_honey", + "create:honey", + "create:flowing_chocolate", + "create:chocolate" + ] +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 79aaac79a..2978e8732 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -62,6 +62,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pis import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonExtensionPoleBlock; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock; import com.simibubi.create.content.contraptions.components.tracks.ControllerRailBlock; +import com.simibubi.create.content.contraptions.components.tracks.ControllerRailGenerator; import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; import com.simibubi.create.content.contraptions.components.turntable.TurntableBlock; import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelBlock; @@ -104,6 +105,7 @@ import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyB import com.simibubi.create.content.contraptions.relays.encased.ClutchBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltGenerator; +import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; import com.simibubi.create.content.contraptions.relays.encased.GearshiftBlock; import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock; @@ -238,22 +240,24 @@ public class AllBlocks { .build() .register(); - public static final BlockEntry ENCASED_SHAFT = - REGISTRATE.block("encased_shaft", EncasedShaftBlock::new) - .initialProperties(SharedProperties::stone) - .properties(AbstractBlock.Properties::nonOpaque) - .transform(StressConfigDefaults.setNoImpact()) - .blockstate((c, p) -> axisBlock(c, p, blockState -> p.models() - .getExistingFile(p.modLoc("block/encased_shaft/" + blockState.get(EncasedShaftBlock.CASING) - .getString())))) - .loot((p, b) -> p.registerDropping(b, SHAFT.get())) + public static final BlockEntry ANDESITE_ENCASED_SHAFT = + REGISTRATE.block("andesite_encased_shaft", EncasedShaftBlock::andesite) + .transform(BuilderTransformers.encasedShaft("andesite", AllSpriteShifts.ANDESITE_CASING)) + .register(); + + public static final BlockEntry BRASS_ENCASED_SHAFT = + REGISTRATE.block("brass_encased_shaft", EncasedShaftBlock::brass) + .transform(BuilderTransformers.encasedShaft("brass", AllSpriteShifts.BRASS_CASING)) .register(); public static final BlockEntry GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new) .initialProperties(SharedProperties::stone) .properties(AbstractBlock.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) - .blockstate(BlockStateGen.axisBlockProvider(true)) + .onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(AllSpriteShifts.ANDESITE_CASING))) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.ANDESITE_CASING, + (s, f) -> f.getAxis() == s.get(GearboxBlock.AXIS)))) + .blockstate((c, p) -> axisBlock(c, p, $ -> AssetLookup.partialBaseModel(c, p), true)) .item() .transform(customItemModel()) .register(); @@ -516,8 +520,11 @@ public class AllBlocks { public static final BlockEntry ENCASED_FLUID_PIPE = REGISTRATE.block("encased_fluid_pipe", EncasedPipeBlock::new) .initialProperties(SharedProperties::softMetal) - .blockstate((c, p) -> BlockStateGen.axisBlock(c, p, state -> p.models() - .cubeColumn(c.getName(), p.modLoc("block/copper_casing"), p.modLoc("block/encased_pipe")))) + .properties(Block.Properties::nonOpaque) + .blockstate(BlockStateGen.encasedPipe()) + .onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING))) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING, + (s, f) -> !s.get(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f))))) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) .loot((p, b) -> p.registerDropping(b, FLUID_PIPE.get())) .register(); @@ -740,12 +747,14 @@ public class AllBlocks { public static final BlockEntry CONTROLLER_RAIL = REGISTRATE.block("controller_rail", ControllerRailBlock::new) .initialProperties(() -> Blocks.POWERED_RAIL) - .blockstate(BlockStateGen.controllerRail()) + .blockstate(new ControllerRailGenerator()::generate) .addLayer(() -> RenderType::getCutoutMipped) + .onRegister(CreateRegistrate.blockColors(() -> AllColorHandlers::getRedstonePower)) .tag(BlockTags.RAILS) .item() - .model((c, p) -> p.generated(c, Create.asResource("block/controller_rail_analog"))) - .build().register(); + .model((c, p) -> p.generated(c, Create.asResource("block/" + c.getName() + "_item"))) + .build() + .register(); public static final BlockEntry MINECART_ANCHOR = REGISTRATE.block("minecart_anchor", MinecartAnchorBlock::new) diff --git a/src/main/java/com/simibubi/create/AllColorHandlers.java b/src/main/java/com/simibubi/create/AllColorHandlers.java index 6c0b87d6f..a72c7701c 100644 --- a/src/main/java/com/simibubi/create/AllColorHandlers.java +++ b/src/main/java/com/simibubi/create/AllColorHandlers.java @@ -1,30 +1,31 @@ package com.simibubi.create; -import java.util.HashMap; -import java.util.Map; - import com.simibubi.create.foundation.block.IBlockVertexColor; import com.simibubi.create.foundation.block.render.ColoredVertexModel; - import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.block.RedstoneWireBlock; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.color.BlockColors; import net.minecraft.client.renderer.color.IBlockColor; import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.client.renderer.color.ItemColors; import net.minecraft.item.ItemStack; +import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.util.IItemProvider; import net.minecraft.util.math.BlockPos; import net.minecraft.world.GrassColors; import net.minecraft.world.IBlockDisplayReader; import net.minecraft.world.biome.BiomeColors; +import java.util.HashMap; +import java.util.Map; + public class AllColorHandlers { - private Map coloredVertexBlocks = new HashMap<>(); - private Map coloredBlocks = new HashMap<>(); - private Map coloredItems = new HashMap<>(); + private final Map coloredVertexBlocks = new HashMap<>(); + private final Map coloredBlocks = new HashMap<>(); + private final Map coloredItems = new HashMap<>(); // @@ -38,6 +39,12 @@ public class AllColorHandlers { return new ItemColor((stack, layer) -> GrassColors.get(0.5D, 1.0D)); } + public static IBlockColor getRedstonePower() { + return new BlockColor( + (state, world, pos, layer) -> RedstoneWireBlock.getWireColor(pos != null && world != null ? state.get(BlockStateProperties.POWER_0_15) : 0) + ); + } + // public void register(Block block, IBlockColor color) { diff --git a/src/main/java/com/simibubi/create/AllFluids.java b/src/main/java/com/simibubi/create/AllFluids.java index dba2a7919..635921009 100644 --- a/src/main/java/com/simibubi/create/AllFluids.java +++ b/src/main/java/com/simibubi/create/AllFluids.java @@ -1,21 +1,110 @@ package com.simibubi.create; +import javax.annotation.Nullable; + +import com.simibubi.create.content.contraptions.fluids.VirtualFluid; import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid; import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes; +import com.simibubi.create.content.palettes.AllPaletteBlocks; import com.simibubi.create.foundation.data.CreateRegistrate; import com.tterrag.registrate.util.entry.RegistryEntry; +import net.minecraft.block.BlockState; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.RenderTypeLookup; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.FluidState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockDisplayReader; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.fluids.FluidAttributes; +import net.minecraftforge.fluids.ForgeFlowingFluid; + public class AllFluids { private static final CreateRegistrate REGISTRATE = Create.registrate(); public static RegistryEntry POTION = REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new) - .lang(f -> "fluid.create.flowing_potion", "Potion") + .lang(f -> "fluid.create.potion", "Potion") + .register(); + + public static RegistryEntry TEA = REGISTRATE.virtualFluid("tea") + .lang(f -> "fluid.create.tea", "Builder's Tea") + .register(); + + public static RegistryEntry MILK = REGISTRATE.virtualFluid("milk") + .lang(f -> "fluid.create.milk", "Milk") + .tag(AllTags.forgeFluidTag("milk")) + .register(); + + public static RegistryEntry HONEY = + REGISTRATE.standardFluid("honey", NoColorFluidAttributes::new) + .lang(f -> "fluid.create.honey", "Honey") + .attributes(b -> b.viscosity(500) + .density(1400)) + .properties(p -> p.levelDecreasePerBlock(2) + .tickRate(25) + .slopeFindDistance(3) + .explosionResistance(100f)) + .tag(AllTags.forgeFluidTag("honey")) + .register(); + + public static RegistryEntry CHOCOLATE = + REGISTRATE.standardFluid("chocolate", NoColorFluidAttributes::new) + .lang(f -> "fluid.create.chocolate", "Chocolate") + .attributes(b -> b.viscosity(500) + .density(1400)) + .properties(p -> p.levelDecreasePerBlock(2) + .tickRate(25) + .slopeFindDistance(3) + .explosionResistance(100f)) .register(); // Load this class public static void register() {} + @OnlyIn(Dist.CLIENT) + public static void assignRenderLayers() {} + + @OnlyIn(Dist.CLIENT) + private static void makeTranslucent(RegistryEntry entry) { + ForgeFlowingFluid fluid = entry.get(); + RenderTypeLookup.setRenderLayer(fluid, RenderType.getTranslucent()); + RenderTypeLookup.setRenderLayer(fluid.getStillFluid(), RenderType.getTranslucent()); + } + + @Nullable + public static BlockState getLavaInteraction(FluidState fluidState) { + Fluid fluid = fluidState.getFluid(); + if (fluid.isEquivalentTo(HONEY.get())) + return fluidState.isSource() ? AllPaletteBlocks.LIMESTONE.getDefaultState() + : AllPaletteBlocks.LIMESTONE_VARIANTS.registeredBlocks.get(0) + .getDefaultState(); + if (fluid.isEquivalentTo(CHOCOLATE.get())) + return fluidState.isSource() ? AllPaletteBlocks.SCORIA.getDefaultState() + : AllPaletteBlocks.SCORIA_VARIANTS.registeredBlocks.get(0) + .getDefaultState(); + return null; + } + + /** + * Removing alpha from tint prevents optifine from forcibly applying biome + * colors to modded fluids (Makes translucent fluids disappear) + */ + private static class NoColorFluidAttributes extends FluidAttributes { + + protected NoColorFluidAttributes(Builder builder, Fluid fluid) { + super(builder, fluid); + } + + @Override + public int getColor(IBlockDisplayReader world, BlockPos pos) { + return 0x00ffffff; + } + + } + } diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index d8a95e21a..9cd3b1e19 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -11,6 +11,7 @@ import static com.simibubi.create.content.AllSections.LOGISTICS; import static com.simibubi.create.content.AllSections.MATERIALS; import static com.simibubi.create.content.AllSections.SCHEMATICS; +import com.simibubi.create.AllTags.AllItemTags; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueItem; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MinecartContraptionItem; import com.simibubi.create.content.contraptions.components.structureMovement.train.MinecartCouplingItem; @@ -43,12 +44,14 @@ import com.simibubi.create.content.schematics.item.SchematicAndQuillItem; import com.simibubi.create.content.schematics.item.SchematicItem; import com.simibubi.create.foundation.data.AssetLookup; import com.simibubi.create.foundation.data.CreateRegistrate; +import com.simibubi.create.foundation.item.TagDependentIngredientItem; import com.simibubi.create.foundation.item.TooltipHelper; import com.tterrag.registrate.util.entry.ItemEntry; import net.minecraft.item.Item; import net.minecraft.item.Rarity; import net.minecraft.tags.ITag; +import net.minecraft.util.ResourceLocation; public class AllItems { @@ -70,14 +73,26 @@ public class AllItems { BRASS_SHEET = taggedIngredient("brass_sheet", forgeItemTag("plates/brass"), PLATES.tag), IRON_SHEET = taggedIngredient("iron_sheet", forgeItemTag("plates/iron"), PLATES.tag), GOLDEN_SHEET = taggedIngredient("golden_sheet", forgeItemTag("plates/gold"), PLATES.tag), - LAPIS_SHEET = ingredient("lapis_sheet"), + LAPIS_SHEET = taggedIngredient("lapis_sheet", forgeItemTag("plates/lapis_lazuli"), PLATES.tag), CRUSHED_IRON = taggedIngredient("crushed_iron_ore", CRUSHED_ORES.tag), CRUSHED_GOLD = taggedIngredient("crushed_gold_ore", CRUSHED_ORES.tag), CRUSHED_COPPER = taggedIngredient("crushed_copper_ore", CRUSHED_ORES.tag), CRUSHED_ZINC = taggedIngredient("crushed_zinc_ore", CRUSHED_ORES.tag), - CRUSHED_BRASS = taggedIngredient("crushed_brass", CRUSHED_ORES.tag), + CRUSHED_BRASS = taggedIngredient("crushed_brass", CRUSHED_ORES.tag); + public static final ItemEntry + CRUSHED_OSMIUM = compatCrushedOre("osmium"), + CRUSHED_PLATINUM = compatCrushedOre("platinum"), + CRUSHED_SILVER = compatCrushedOre("silver"), + CRUSHED_TIN = compatCrushedOre("tin"), + CRUSHED_LEAD = compatCrushedOre("lead"), + CRUSHED_QUICKSILVER = compatCrushedOre("quicksilver"), + CRUSHED_BAUXITE = compatCrushedOre("aluminum"), + CRUSHED_URANIUM = compatCrushedOre("uranium"), + CRUSHED_NICKEL = compatCrushedOre("nickel"); + + public static final ItemEntry ANDESITE_ALLOY = ingredient("andesite_alloy"), COPPER_INGOT = taggedIngredient("copper_ingot", forgeItemTag("ingots/copper"), CREATE_INGOTS.tag), ZINC_INGOT = taggedIngredient("zinc_ingot", forgeItemTag("ingots/zinc"), CREATE_INGOTS.tag), @@ -258,6 +273,14 @@ public class AllItems { .register(); } + private static ItemEntry compatCrushedOre(String metalName) { + return REGISTRATE + .item("crushed_" + metalName + "_ore", + props -> new TagDependentIngredientItem(props, new ResourceLocation("forge", "ores/" + metalName))) + .tag(AllItemTags.CRUSHED_ORES.tag) + .register(); + } + // Load this class public static void register() {} diff --git a/src/main/java/com/simibubi/create/AllTags.java b/src/main/java/com/simibubi/create/AllTags.java index 053bec1d7..e1a4f89af 100644 --- a/src/main/java/com/simibubi/create/AllTags.java +++ b/src/main/java/com/simibubi/create/AllTags.java @@ -18,12 +18,14 @@ import com.tterrag.registrate.util.nullness.NonNullFunction; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.fluid.Fluid; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ITag; +import net.minecraft.tags.FluidTags; import net.minecraft.tags.ItemTags; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.ModList; @@ -46,6 +48,10 @@ public class AllTags { public static ITag.INamedTag forgeItemTag(String name) { return forgeTag(ItemTags::makeWrapperTag, name); } + + public static ITag.INamedTag forgeFluidTag(String name) { + return forgeTag(FluidTags::makeWrapperTag, name); + } public static ITag.INamedTag forgeTag(Function> wrapperFactory, String name) { return tag(wrapperFactory, "forge", name); @@ -161,7 +167,7 @@ public class AllTags { AllBlockTags.WINDMILL_SAILS.includeAll(BlockTags.WOOL); AllBlockTags.BRITTLE.includeAll(BlockTags.DOORS); - AllBlockTags.BRITTLE.add(Blocks.FLOWER_POT, Blocks.BELL); + AllBlockTags.BRITTLE.add(Blocks.FLOWER_POT, Blocks.BELL, Blocks.COCOA); AllBlockTags.FAN_TRANSPARENT.includeAll(BlockTags.FENCES); AllBlockTags.FAN_TRANSPARENT.add(Blocks.IRON_BARS); diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index aba35da40..2d6f2513c 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -131,7 +131,7 @@ public class AllTileEntities { // Kinetics public static final TileEntityEntry SIMPLE_KINETIC = Create.registrate() .tileEntity("simple_kinetic", SimpleKineticTileEntity::new) - .validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL, AllBlocks.ENCASED_SHAFT) + .validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL) .renderer(() -> KineticTileEntityRenderer::new) .register(); @@ -149,7 +149,7 @@ public class AllTileEntities { public static final TileEntityEntry ENCASED_SHAFT = Create.registrate() .tileEntity("encased_shaft", EncasedShaftTileEntity::new) - .validBlocks(AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT) + .validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_BELT) .renderer(() -> EncasedShaftRenderer::new) .register(); @@ -219,8 +219,8 @@ public class AllTileEntities { .validBlocks(AllBlocks.FLUID_PIPE) .register(); - public static final TileEntityEntry ENCASED_FLUID_PIPE = Create.registrate() - .tileEntity("encased_fluid_pipe", StraightPipeTileEntity::new) + public static final TileEntityEntry ENCASED_FLUID_PIPE = Create.registrate() + .tileEntity("encased_fluid_pipe", FluidPipeTileEntity::new) .validBlocks(AllBlocks.ENCASED_FLUID_PIPE) .register(); diff --git a/src/main/java/com/simibubi/create/CreateClient.java b/src/main/java/com/simibubi/create/CreateClient.java index 0892ba960..26c91360b 100644 --- a/src/main/java/com/simibubi/create/CreateClient.java +++ b/src/main/java/com/simibubi/create/CreateClient.java @@ -7,6 +7,7 @@ import java.util.function.Function; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionRenderer; +import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity; import com.simibubi.create.content.schematics.ClientSchematicLoader; import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler; import com.simibubi.create.content.schematics.client.SchematicHandler; @@ -47,6 +48,7 @@ public class CreateClient { private static CustomItemModels customItemModels; private static CustomRenderedItems customRenderedItems; private static AllColorHandlers colorHandlers; + private static CasingConnectivity casingConnectivity; public static void addClientListeners(IEventBus modEventBus) { modEventBus.addListener(CreateClient::clientInit); @@ -71,6 +73,7 @@ public class CreateClient { //AllTileEntities.registerRenderers(); AllEntityTypes.registerRenderers(); getColorHandler().init(); + AllFluids.assignRenderLayers(); IResourceManager resourceManager = Minecraft.getInstance() .getResourceManager(); @@ -162,5 +165,11 @@ public class CreateClient { colorHandlers = new AllColorHandlers(); return colorHandlers; } + + public static CasingConnectivity getCasingConnectivity() { + if (casingConnectivity == null) + casingConnectivity = new CasingConnectivity(); + return casingConnectivity; + } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java index 62fef4898..a29066465 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/PortableStorageInterfaceMovement.java @@ -142,7 +142,7 @@ public class PortableStorageInterfaceMovement extends MovementBehaviour { .getDirectionVec()); directionVec = context.rotation.apply(directionVec); Direction facingFromVector = Direction.getFacingFromVector(directionVec.x, directionVec.y, directionVec.z); - if (directionVec.distanceTo(Vector3d.of(facingFromVector.getDirectionVec())) > 1 / 8f) + if (directionVec.distanceTo(Vector3d.of(facingFromVector.getDirectionVec())) > 1 / 2f) return Optional.empty(); return Optional.of(facingFromVector); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java index d0d2bd2f7..3e692a233 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java @@ -113,7 +113,8 @@ public abstract class Contraption { private List pendingSubContraptions; // Client - public Map renderedTileEntities; + public Map presentTileEntities; + public List renderedTileEntities; public Contraption() { blocks = new HashMap<>(); @@ -125,7 +126,8 @@ public abstract class Contraption { fluidStorage = new HashMap<>(); glueToRemove = new ArrayList<>(); initialPassengers = new HashMap<>(); - renderedTileEntities = new HashMap<>(); + presentTileEntities = new HashMap<>(); + renderedTileEntities = new ArrayList<>(); pendingSubContraptions = new ArrayList<>(); stabilizedSubContraptions = new HashMap<>(); } @@ -513,6 +515,7 @@ public abstract class Contraption { public void readNBT(World world, CompoundNBT nbt, boolean spawnData) { blocks.clear(); + presentTileEntities.clear(); renderedTileEntities.clear(); nbt.getList("Blocks", 10) @@ -550,7 +553,8 @@ public abstract class Contraption { if (te instanceof KineticTileEntity) ((KineticTileEntity) te).setSpeed(0); te.getBlockState(); - renderedTileEntities.put(info.pos, te); + presentTileEntities.put(info.pos, te); + renderedTileEntities.add(te); } }); @@ -588,7 +592,7 @@ public abstract class Contraption { if (spawnData) fluidStorage.forEach((pos, mfs) -> { - TileEntity tileEntity = renderedTileEntities.get(pos); + TileEntity tileEntity = presentTileEntities.get(pos); if (!(tileEntity instanceof FluidTankTileEntity)) return; FluidTankTileEntity tank = (FluidTankTileEntity) tileEntity; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionRenderer.java index 609b1ec85..f019ae8e4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionRenderer.java @@ -71,7 +71,7 @@ public class ContraptionRenderer { private static void renderTileEntities(World world, Contraption c, MatrixStack ms, MatrixStack msLocal, IRenderTypeBuffer buffer) { - TileEntityRenderHelper.renderTileEntities(world, c.renderedTileEntities.values(), ms, msLocal, buffer); + TileEntityRenderHelper.renderTileEntities(world, c.renderedTileEntities, ms, msLocal, buffer); } private static SuperByteBuffer buildStructureBuffer(Contraption c, RenderType layer) { @@ -86,7 +86,7 @@ public class ContraptionRenderer { Random random = new Random(); BufferBuilder builder = new BufferBuilder(DefaultVertexFormats.BLOCK.getIntegerSize()); builder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); - renderWorld.setTileEntities(c.renderedTileEntities.values()); + renderWorld.setTileEntities(c.presentTileEntities.values()); for (BlockInfo info : c.getBlocks() .values()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java index d9572871e..c0028a5e7 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/StructureTransform.java @@ -251,6 +251,8 @@ public class StructureTransform { newDirection = direction; if (direction.getAxis() == rotationAxis) newSlope = BeltSlope.SIDEWAYS; + else if (direction.getAxis() != Axis.Z) + newDirection = direction.getOpposite(); } state = state.with(BeltBlock.HORIZONTAL_FACING, newDirection); @@ -333,8 +335,7 @@ public class StructureTransform { int readAngle = buffer.readInt(); int axisIndex = buffer.readVarInt(); int rotationIndex = buffer.readVarInt(); - return new StructureTransform(readBlockPos, readAngle, - axisIndex == -1 ? null : Axis.values()[axisIndex], + return new StructureTransform(readBlockPos, readAngle, axisIndex == -1 ? null : Axis.values()[axisIndex], rotationIndex == -1 ? null : Rotation.values()[rotationIndex]); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java index 94ae89035..ca0487ad0 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java @@ -209,7 +209,7 @@ public class MinecartContraptionItem extends Item { OrientedContraptionEntity contraption = (OrientedContraptionEntity) passengers.get(0); if (!event.getWorld().isRemote) { - player.inventory.placeItemBackInInventory(event.getWorld(), create(type, contraption)); + player.inventory.placeItemBackInInventory(event.getWorld(), create(type, contraption).setDisplayName(entity.getCustomName())); contraption.remove(); entity.remove(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java index 4c49bee1c..c96fa2e68 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonExtensionPoleBlock.java @@ -36,130 +36,119 @@ import net.minecraft.world.IWorld; import net.minecraft.world.World; public class PistonExtensionPoleBlock extends ProperDirectionalBlock implements IWrenchable, IWaterLoggable { + public PistonExtensionPoleBlock(Properties properties) { + super(properties); + setDefaultState(getDefaultState().with(FACING, Direction.UP).with(BlockStateProperties.WATERLOGGED, false)); + } - public PistonExtensionPoleBlock(Properties properties) { - super(properties); - setDefaultState(getDefaultState().with(FACING, Direction.UP) - .with(BlockStateProperties.WATERLOGGED, false)); - } + @Override + public PushReaction getPushReaction(BlockState state) { + return PushReaction.NORMAL; + } - @Override - public PushReaction getPushReaction(BlockState state) { - return PushReaction.NORMAL; - } + @Override + public void onBlockHarvested(World worldIn, BlockPos pos, BlockState state, PlayerEntity player) { + Axis axis = state.get(FACING) + .getAxis(); + Direction direction = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis); + BlockPos pistonHead = null; + BlockPos pistonBase = null; - @Override - public void onBlockHarvested(World worldIn, BlockPos pos, BlockState state, PlayerEntity player) { - Axis axis = state.get(FACING) - .getAxis(); - Direction direction = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis); - BlockPos pistonHead = null; - BlockPos pistonBase = null; + for (int modifier : new int[]{1, -1}) { + for (int offset = modifier; modifier * offset < MechanicalPistonBlock.maxAllowedPistonPoles(); offset += + modifier) { + BlockPos currentPos = pos.offset(direction, offset); + BlockState block = worldIn.getBlockState(currentPos); - for (int modifier : new int[] { 1, -1 }) { - for (int offset = modifier; modifier * offset < MechanicalPistonBlock.maxAllowedPistonPoles(); offset += - modifier) { - BlockPos currentPos = pos.offset(direction, offset); - BlockState block = worldIn.getBlockState(currentPos); + if (isExtensionPole(block) && axis == block.get(FACING) + .getAxis()) + continue; - if (isExtensionPole(block) && axis == block.get(FACING) - .getAxis()) - continue; + if (isPiston(block) && block.get(BlockStateProperties.FACING) + .getAxis() == axis) + pistonBase = currentPos; - if (isPiston(block) && block.get(BlockStateProperties.FACING) - .getAxis() == axis) - pistonBase = currentPos; + if (isPistonHead(block) && block.get(BlockStateProperties.FACING) + .getAxis() == axis) + pistonHead = currentPos; - if (isPistonHead(block) && block.get(BlockStateProperties.FACING) - .getAxis() == axis) - pistonHead = currentPos; + break; + } + } - break; - } - } + if (pistonHead != null && pistonBase != null && worldIn.getBlockState(pistonHead) + .get(BlockStateProperties.FACING) == worldIn.getBlockState(pistonBase) + .get(BlockStateProperties.FACING)) { - if (pistonHead != null && pistonBase != null && worldIn.getBlockState(pistonHead) - .get(BlockStateProperties.FACING) == worldIn.getBlockState(pistonBase) - .get(BlockStateProperties.FACING)) { + final BlockPos basePos = pistonBase; + BlockPos.getAllInBox(pistonBase, pistonHead) + .filter(p -> !p.equals(pos) && !p.equals(basePos)) + .forEach(p -> worldIn.destroyBlock(p, !player.isCreative())); + worldIn.setBlockState(basePos, worldIn.getBlockState(basePos) + .with(MechanicalPistonBlock.STATE, PistonState.RETRACTED)); + } - final BlockPos basePos = pistonBase; - BlockPos.getAllInBox(pistonBase, pistonHead) - .filter(p -> !p.equals(pos) && !p.equals(basePos)) - .forEach(p -> worldIn.destroyBlock(p, !player.isCreative())); - worldIn.setBlockState(basePos, worldIn.getBlockState(basePos) - .with(MechanicalPistonBlock.STATE, PistonState.RETRACTED)); - } + super.onBlockHarvested(worldIn, pos, state, player); + } - super.onBlockHarvested(worldIn, pos, state, player); - } + @Override + public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { + return AllShapes.FOUR_VOXEL_POLE.get(state.get(FACING) + .getAxis()); + } - @Override - public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { - return AllShapes.FOUR_VOXEL_POLE.get(state.get(FACING) - .getAxis()); - } + @Override + public BlockState getStateForPlacement(BlockItemUseContext context) { + FluidState ifluidstate = context.getWorld().getFluidState(context.getPos()); + return getDefaultState().with(FACING, context.getFace().getOpposite()) + .with(BlockStateProperties.WATERLOGGED, Boolean.valueOf(ifluidstate.getFluid() == Fluids.WATER)); + } - @Override - public BlockState getStateForPlacement(BlockItemUseContext context) { - FluidState FluidState = context.getWorld() - .getFluidState(context.getPos()); - return getDefaultState().with(FACING, context.getFace() - .getOpposite()) - .with(BlockStateProperties.WATERLOGGED, Boolean.valueOf(FluidState.getFluid() == Fluids.WATER)); - } + @Override + public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult ray) { + ItemStack heldItem = player.getHeldItem(hand); - @Override - public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, - BlockRayTraceResult ray) { - ItemStack heldItem = player.getHeldItem(hand); + if (AllBlocks.PISTON_EXTENSION_POLE.isIn(heldItem) && !player.isSneaking()) { + Pair offset = PistonPolePlacementHelper.getPlacementOffset(world, state.get(FACING).getAxis(), pos, ray.getHitVec()); - if (AllBlocks.PISTON_EXTENSION_POLE.isIn(heldItem) && !player.isSneaking()) { - Pair offset = PistonPolePlacementHelper.getPlacementOffset(world, state.get(FACING) - .getAxis(), pos, ray.getHitVec()); + if (offset == null || offset.getSecond() == 0) + return ActionResultType.PASS; - if (offset == null || offset.getSecond() == 0) - return ActionResultType.PASS; + BlockPos newPos = pos.offset(offset.getFirst(), offset.getSecond()); - BlockPos newPos = pos.offset(offset.getFirst(), offset.getSecond()); + if (!world.getBlockState(newPos).getMaterial().isReplaceable()) + return ActionResultType.PASS; - if (!world.getBlockState(newPos) - .getMaterial() - .isReplaceable()) - return ActionResultType.PASS; + if (world.isRemote) + return ActionResultType.SUCCESS; - if (world.isRemote) - return ActionResultType.SUCCESS; + world.setBlockState(newPos, AllBlocks.PISTON_EXTENSION_POLE.getDefaultState().with(FACING, state.get(FACING))); + if (!player.isCreative()) + heldItem.shrink(1); - world.setBlockState(newPos, AllBlocks.PISTON_EXTENSION_POLE.getDefaultState() - .with(FACING, offset.getFirst())); - if (!player.isCreative()) - heldItem.shrink(1); + return ActionResultType.SUCCESS; + } - return ActionResultType.SUCCESS; - } + return ActionResultType.PASS; + } - return ActionResultType.PASS; - } + @Override + public FluidState getFluidState(BlockState state) { + return state.get(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getStillFluidState(false) : Fluids.EMPTY.getDefaultState(); + } - @Override - public FluidState getFluidState(BlockState state) { - return state.get(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getStillFluidState(false) - : Fluids.EMPTY.getDefaultState(); - } + @Override + protected void fillStateContainer(Builder builder) { + builder.add(BlockStateProperties.WATERLOGGED); + super.fillStateContainer(builder); + } - @Override - protected void fillStateContainer(Builder builder) { - builder.add(BlockStateProperties.WATERLOGGED); - super.fillStateContainer(builder); - } - - @Override - public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState neighbourState, - IWorld world, BlockPos pos, BlockPos neighbourPos) { - if (state.get(BlockStateProperties.WATERLOGGED)) { - world.getPendingFluidTicks() - .scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); - } - return state; - } + @Override + public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState neighbourState, + IWorld world, BlockPos pos, BlockPos neighbourPos) { + if (state.get(BlockStateProperties.WATERLOGGED)) { + world.getPendingFluidTicks().scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); + } + return state; + } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonPolePlacementHelper.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonPolePlacementHelper.java index 0669c661d..6b28d3b0a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonPolePlacementHelper.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/piston/PistonPolePlacementHelper.java @@ -33,7 +33,10 @@ public class PistonPolePlacementHelper { BlockRayTraceResult ray = (BlockRayTraceResult) mc.objectMouseOver; - if (!isHoldingPole(mc.player)) + if (mc.player != null && !isHoldingPole(mc.player)) + return; + + if (mc.player.isSneaking()) return; BlockPos pos = ray.getPos(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ControllerRailBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ControllerRailBlock.java index 48c2f7735..7cc6825ef 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ControllerRailBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ControllerRailBlock.java @@ -1,12 +1,22 @@ package com.simibubi.create.content.contraptions.components.tracks; +import static net.minecraft.state.properties.RailShape.NORTH_SOUTH; + +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; + +import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.wrench.IWrenchable; +import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.VecHelper; + import mcp.MethodsReturnNonnullByDefault; import net.minecraft.block.AbstractRailBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; import net.minecraft.entity.item.minecart.AbstractMinecartEntity; +import net.minecraft.entity.item.minecart.FurnaceMinecartEntity; import net.minecraft.item.BlockItemUseContext; import net.minecraft.item.ItemUseContext; import net.minecraft.state.*; @@ -14,6 +24,8 @@ import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.RailShape; import net.minecraft.util.ActionResultType; import net.minecraft.util.Direction; +import net.minecraft.util.Direction.Axis; +import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.Mirror; import net.minecraft.util.Rotation; import net.minecraft.util.math.BlockPos; @@ -23,58 +35,94 @@ import net.minecraft.util.math.vector.Vector3i; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; -import javax.annotation.Nullable; -import javax.annotation.ParametersAreNonnullByDefault; - -import static net.minecraft.state.properties.RailShape.*; - - @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -@SuppressWarnings("deprecation") public class ControllerRailBlock extends AbstractRailBlock implements IWrenchable { - public static final EnumProperty SHAPE = BlockStateProperties.RAIL_SHAPE_STRAIGHT; - public static final IntegerProperty POWER = BlockStateProperties.POWER_0_15; - public static final BooleanProperty BACKWARDS = BooleanProperty.create("backwards"); - public ControllerRailBlock(Properties p_i48444_2_) { - super(true, p_i48444_2_); - this.setDefaultState(this.stateContainer.getBaseState().with(POWER, 0).with(BACKWARDS, false).with(SHAPE, NORTH_SOUTH)); + public static final EnumProperty SHAPE = BlockStateProperties.RAIL_SHAPE_STRAIGHT; + public static final BooleanProperty BACKWARDS = BooleanProperty.create("backwards"); + public static final IntegerProperty POWER = BlockStateProperties.POWER_0_15; + + public ControllerRailBlock(Properties properties) { + super(true, properties); + this.setDefaultState(this.stateContainer.getBaseState() + .with(POWER, 0) + .with(BACKWARDS, false) + .with(SHAPE, NORTH_SOUTH)); } private static Vector3i getAccelerationVector(BlockState state) { Direction pointingTo = getPointingTowards(state); - return (state.get(BACKWARDS) ? pointingTo.getOpposite() : pointingTo).getDirectionVec(); + return (isStateBackwards(state) ? pointingTo.getOpposite() : pointingTo).getDirectionVec(); } private static Direction getPointingTowards(BlockState state) { switch (state.get(SHAPE)) { - case ASCENDING_WEST: - case EAST_WEST: - return Direction.WEST; - case ASCENDING_EAST: - return Direction.EAST; - case ASCENDING_SOUTH: - return Direction.SOUTH; - default: - return Direction.NORTH; + case ASCENDING_WEST: + case EAST_WEST: + return Direction.WEST; + case ASCENDING_EAST: + return Direction.EAST; + case ASCENDING_SOUTH: + return Direction.SOUTH; + default: + return Direction.NORTH; } } + @Override + protected BlockState getUpdatedState(World world, BlockPos pos, BlockState state, boolean p_208489_4_) { + BlockState updatedState = super.getUpdatedState(world, pos, state, p_208489_4_); + if (updatedState.get(SHAPE) == state.get(SHAPE)) + return updatedState; + BlockState reversedUpdatedState = updatedState; + + // Rails snapping to others at 90 degrees should follow their direction + if (getPointingTowards(state).getAxis() != getPointingTowards(updatedState).getAxis()) { + for (boolean opposite : Iterate.trueAndFalse) { + Direction offset = getPointingTowards(updatedState); + if (opposite) + offset = offset.getOpposite(); + for (BlockPos adjPos : Iterate.hereBelowAndAbove(pos.offset(offset))) { + BlockState adjState = world.getBlockState(adjPos); + if (!AllBlocks.CONTROLLER_RAIL.has(adjState)) + continue; + if (getPointingTowards(adjState).getAxis() != offset.getAxis()) + continue; + if (adjState.get(BACKWARDS) != reversedUpdatedState.get(BACKWARDS)) + reversedUpdatedState = reversedUpdatedState.cycle(BACKWARDS); + } + } + } + + // Replace if changed + if (reversedUpdatedState != updatedState) + world.setBlockState(pos, reversedUpdatedState); + return reversedUpdatedState; + } + private static void decelerateCart(BlockPos pos, AbstractMinecartEntity cart) { - Vector3d diff = VecHelper.getCenterOf(pos).subtract(cart.getPositionVec()); + Vector3d diff = VecHelper.getCenterOf(pos) + .subtract(cart.getPositionVec()); cart.setMotion(diff.x / 16f, 0, diff.z / 16f); + + if (cart instanceof FurnaceMinecartEntity) { + FurnaceMinecartEntity fme = (FurnaceMinecartEntity) cart; + fme.pushX = fme.pushZ = 0; + } } private static boolean isStableWith(BlockState testState, IBlockReader world, BlockPos pos) { - return hasSolidSideOnTop(world, pos.down()) && (!testState.get(SHAPE).isAscending() || hasSolidSideOnTop(world, pos.offset(getPointingTowards(testState)))); + return hasSolidSideOnTop(world, pos.down()) && (!testState.get(SHAPE) + .isAscending() || hasSolidSideOnTop(world, pos.offset(getPointingTowards(testState)))); } @Override public BlockState getStateForPlacement(BlockItemUseContext p_196258_1_) { Direction direction = p_196258_1_.getPlacementHorizontalFacing(); BlockState base = super.getStateForPlacement(p_196258_1_); - return (base == null ? getDefaultState() : base).with(BACKWARDS, direction == Direction.SOUTH || direction == Direction.EAST); + return (base == null ? getDefaultState() : base).with(BACKWARDS, + direction.getAxisDirection() == AxisDirection.POSITIVE); } @Override @@ -92,8 +140,16 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl if (world.isRemote) return; Vector3d accelerationVec = Vector3d.of(getAccelerationVector(state)); - double targetSpeed = cart.getMaxSpeedWithRail() * state.get(POWER) / 15.; - if ((cart.getMotion().dotProduct(accelerationVec) >= 0 || cart.getMotion().lengthSquared() < 0.0001) && targetSpeed > 0) + double targetSpeed = cart.getMaxSpeedWithRail() * state.get(POWER) / 15f; + + if (cart instanceof FurnaceMinecartEntity) { + FurnaceMinecartEntity fme = (FurnaceMinecartEntity) cart; + fme.pushX = accelerationVec.x; + fme.pushZ = accelerationVec.z; + } + + Vector3d motion = cart.getMotion(); + if ((motion.dotProduct(accelerationVec) >= 0 || motion.lengthSquared() < 0.0001) && targetSpeed > 0) cart.setMotion(accelerationVec.scale(targetSpeed)); else decelerateCart(pos, cart); @@ -138,105 +194,27 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl if (backwardsPower != 0) break; } + if (forwardDistance > 8 && backwardsDistance > 8) return 0; - else if (backwardsPower == 0 && forwardDistance <= 8) + if (backwardsPower == 0 && forwardDistance <= 8) return forwardPower; - else if (forwardPower == 0 && backwardsDistance <= 8) + if (forwardPower == 0 && backwardsDistance <= 8) return backwardsPower; - else if (backwardsPower != 0 && forwardPower != 0) - return MathHelper.ceil((backwardsPower * forwardDistance + forwardPower * backwardsDistance) / (double) (forwardDistance + backwardsDistance)); + if (backwardsPower != 0 && forwardPower != 0) + return MathHelper.ceil((backwardsPower * forwardDistance + forwardPower * backwardsDistance) + / (double) (forwardDistance + backwardsDistance)); return 0; } - @Override - public BlockState rotate(BlockState p_185499_1_, Rotation p_185499_2_) { - switch (p_185499_2_) { - case CLOCKWISE_180: - switch (p_185499_1_.get(SHAPE)) { - case ASCENDING_EAST: - return p_185499_1_.with(SHAPE, ASCENDING_WEST); - case ASCENDING_WEST: - return p_185499_1_.with(SHAPE, ASCENDING_EAST); - case ASCENDING_NORTH: - return p_185499_1_.with(SHAPE, ASCENDING_SOUTH); - case ASCENDING_SOUTH: - return p_185499_1_.with(SHAPE, ASCENDING_NORTH); - default: - return p_185499_1_.with(BACKWARDS, !p_185499_1_.get(BACKWARDS)); - } - case COUNTERCLOCKWISE_90: - switch (p_185499_1_.get(SHAPE)) { - case ASCENDING_EAST: - return p_185499_1_.with(SHAPE, ASCENDING_NORTH); - case ASCENDING_WEST: - return p_185499_1_.with(SHAPE, ASCENDING_SOUTH); - case ASCENDING_NORTH: - return p_185499_1_.with(SHAPE, ASCENDING_WEST); - case ASCENDING_SOUTH: - return p_185499_1_.with(SHAPE, ASCENDING_EAST); - case NORTH_SOUTH: - return p_185499_1_.with(SHAPE, EAST_WEST); - case EAST_WEST: - return p_185499_1_.with(SHAPE, NORTH_SOUTH).with(BACKWARDS, !p_185499_1_.get(BACKWARDS)); - } - case CLOCKWISE_90: - switch (p_185499_1_.get(SHAPE)) { - case ASCENDING_EAST: - return p_185499_1_.with(SHAPE, ASCENDING_SOUTH); - case ASCENDING_WEST: - return p_185499_1_.with(SHAPE, ASCENDING_NORTH); - case ASCENDING_NORTH: - return p_185499_1_.with(SHAPE, ASCENDING_EAST); - case ASCENDING_SOUTH: - return p_185499_1_.with(SHAPE, ASCENDING_WEST); - case NORTH_SOUTH: - return p_185499_1_.with(SHAPE, EAST_WEST).with(BACKWARDS, !p_185499_1_.get(BACKWARDS)); - case EAST_WEST: - return p_185499_1_.with(SHAPE, NORTH_SOUTH); - } - default: - return p_185499_1_; - } - } - - @Override - public BlockState mirror(BlockState p_185471_1_, Mirror p_185471_2_) { - RailShape railshape = p_185471_1_.get(SHAPE); - switch (p_185471_2_) { - case LEFT_RIGHT: - switch (railshape) { - case ASCENDING_NORTH: - return p_185471_1_.with(SHAPE, RailShape.ASCENDING_SOUTH); - case ASCENDING_SOUTH: - return p_185471_1_.with(SHAPE, RailShape.ASCENDING_NORTH); - case NORTH_SOUTH: - return p_185471_1_.with(BACKWARDS, !p_185471_1_.get(BACKWARDS)); - default: - return super.mirror(p_185471_1_, p_185471_2_); - } - case FRONT_BACK: - switch (railshape) { - case ASCENDING_EAST: - return p_185471_1_.with(SHAPE, RailShape.ASCENDING_WEST); - case ASCENDING_WEST: - return p_185471_1_.with(SHAPE, RailShape.ASCENDING_EAST); - case EAST_WEST: - return p_185471_1_.with(BACKWARDS, !p_185471_1_.get(BACKWARDS)); - default: - break; - } - } - return super.mirror(p_185471_1_, p_185471_2_); - } - @Override public ActionResultType onWrenched(BlockState state, ItemUseContext context) { World world = context.getWorld(); if (world.isRemote) return ActionResultType.SUCCESS; BlockPos pos = context.getPos(); - for (Rotation testRotation : new Rotation[]{Rotation.CLOCKWISE_90, Rotation.CLOCKWISE_180, Rotation.COUNTERCLOCKWISE_90}) { + for (Rotation testRotation : new Rotation[] { Rotation.CLOCKWISE_90, Rotation.CLOCKWISE_180, + Rotation.COUNTERCLOCKWISE_90 }) { BlockState testState = rotate(state, testRotation); if (isStableWith(testState, world, pos)) { placeAndNotify(testState, pos, world); @@ -259,7 +237,8 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl private void placeAndNotify(BlockState state, BlockPos pos, World world) { world.setBlockState(pos, state, 3); world.notifyNeighborsOfStateChange(pos.down(), this); - if (state.get(SHAPE).isAscending()) + if (state.get(SHAPE) + .isAscending()) world.notifyNeighborsOfStateChange(pos.up(), this); } @@ -270,11 +249,13 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl return null; Vector3i accelerationVec = getAccelerationVector(current); BlockPos baseTestPos = reversed ? from.subtract(accelerationVec) : from.add(accelerationVec); - for (BlockPos testPos : new BlockPos[]{baseTestPos, baseTestPos.down(), baseTestPos.up()}) { - if (testPos.getY() > from.getY() && !current.get(SHAPE).isAscending()) + for (BlockPos testPos : Iterate.hereBelowAndAbove(baseTestPos)) { + if (testPos.getY() > from.getY() && !current.get(SHAPE) + .isAscending()) continue; BlockState testState = world.getBlockState(testPos); - if (testState.getBlock() instanceof ControllerRailBlock && getAccelerationVector(testState).equals(accelerationVec)) + if (testState.getBlock() instanceof ControllerRailBlock + && getAccelerationVector(testState).equals(accelerationVec)) return testPos; } return null; @@ -289,4 +270,47 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl public int getComparatorInputOverride(BlockState state, World world, BlockPos pos) { return state.get(POWER); } + + @Override + public BlockState rotate(BlockState state, Rotation rotation) { + if (rotation == Rotation.NONE) + return state; + + RailShape railshape = Blocks.POWERED_RAIL.getDefaultState() + .with(SHAPE, state.get(SHAPE)) + .rotate(rotation) + .get(SHAPE); + state = state.with(SHAPE, railshape); + + if (rotation == Rotation.CLOCKWISE_180 + || (getPointingTowards(state).getAxis() == Axis.Z) == (rotation == Rotation.COUNTERCLOCKWISE_90)) + return state.cycle(BACKWARDS); + + return state; + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror) { + if (mirror == Mirror.NONE) + return state; + + RailShape railshape = Blocks.POWERED_RAIL.getDefaultState() + .with(SHAPE, state.get(SHAPE)) + .mirror(mirror) + .get(SHAPE); + state = state.with(SHAPE, railshape); + + if ((getPointingTowards(state).getAxis() == Axis.Z) == (mirror == Mirror.LEFT_RIGHT)) + return state.cycle(BACKWARDS); + + return state; + } + + public static boolean isStateBackwards(BlockState state) { + return state.get(BACKWARDS) ^ isReversedSlope(state); + } + + public static boolean isReversedSlope(BlockState state) { + return state.get(SHAPE) == RailShape.ASCENDING_SOUTH || state.get(SHAPE) == RailShape.ASCENDING_EAST; + } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ControllerRailGenerator.java b/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ControllerRailGenerator.java new file mode 100644 index 000000000..cc961ac13 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ControllerRailGenerator.java @@ -0,0 +1,55 @@ +package com.simibubi.create.content.contraptions.components.tracks; + +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.state.Property; +import net.minecraft.state.properties.RailShape; +import net.minecraftforge.client.model.generators.ModelFile; + +public class ControllerRailGenerator extends SpecialBlockStateGen { + + @Override + protected Property[] getIgnoredProperties() { + return new Property[] { ControllerRailBlock.POWER }; + } + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + RailShape shape = state.get(ControllerRailBlock.SHAPE); + boolean backwards = ControllerRailBlock.isStateBackwards(state); + int rotation = backwards ? 180 : 0; + + switch (shape) { + case EAST_WEST: + case ASCENDING_WEST: + return rotation + 270; + case ASCENDING_EAST: + return rotation + 90; + case ASCENDING_SOUTH: + return rotation + 180; + default: + return rotation; + } + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + RailShape shape = state.get(ControllerRailBlock.SHAPE); + boolean backwards = ControllerRailBlock.isStateBackwards(state); + + String model = shape.isAscending() ? backwards ? "ascending_south" : "ascending_north" : "north_south"; + return AssetLookup.partialBaseModel(ctx, prov, model); + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeAttachmentBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeAttachmentBehaviour.java index fab9f37f4..3353b3dc6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeAttachmentBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeAttachmentBehaviour.java @@ -26,6 +26,10 @@ public class FluidPipeAttachmentBehaviour extends BracketedTileEntityBehaviour { .getAxis() == direction.getAxis()) return AttachmentTypes.NONE; + if (AllBlocks.ENCASED_FLUID_PIPE.has(facingState) + && facingState.get(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(direction.getOpposite()))) + return AttachmentTypes.NONE; + if (FluidPropagator.hasFluidCapability(facingState, world, offsetPos, direction) && !AllBlocks.HOSE_PULLEY.has(facingState)) return AttachmentTypes.DRAIN; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java index 42fcae505..7c5e12f69 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java @@ -8,7 +8,7 @@ import java.util.Random; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour.AttachmentTypes; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; -import com.simibubi.create.foundation.block.render.WrappedBakedModel; +import com.simibubi.create.foundation.block.connected.BakedModelWrapperWithData; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; @@ -21,9 +21,10 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockDisplayReader; import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.ModelDataMap; +import net.minecraftforge.client.model.data.ModelDataMap.Builder; import net.minecraftforge.client.model.data.ModelProperty; -public class PipeAttachmentModel extends WrappedBakedModel { +public class PipeAttachmentModel extends BakedModelWrapperWithData { private static ModelProperty PIPE_PROPERTY = new ModelProperty<>(); @@ -32,7 +33,7 @@ public class PipeAttachmentModel extends WrappedBakedModel { } @Override - public IModelData getModelData(IBlockDisplayReader world, BlockPos pos, BlockState state, IModelData tileData) { + protected Builder gatherModelData(Builder builder, IBlockDisplayReader world, BlockPos pos, BlockState state) { PipeModelData data = new PipeModelData(); FluidPipeAttachmentBehaviour attachmentBehaviour = TileEntityBehaviour.get(world, pos, FluidPipeAttachmentBehaviour.TYPE); @@ -44,8 +45,7 @@ public class PipeAttachmentModel extends WrappedBakedModel { } data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state)); - return new ModelDataMap.Builder().withInitial(PIPE_PROPERTY, data) - .build(); + return builder.withInitial(PIPE_PROPERTY, data); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/VirtualFluid.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/VirtualFluid.java new file mode 100644 index 000000000..9ab196582 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/VirtualFluid.java @@ -0,0 +1,47 @@ +package com.simibubi.create.content.contraptions.fluids; + +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.FluidState; +import net.minecraft.item.Item; +import net.minecraft.item.Items; +import net.minecraftforge.fluids.ForgeFlowingFluid; + +public class VirtualFluid extends ForgeFlowingFluid { + + public VirtualFluid(Properties properties) { + super(properties); + } + + @Override + public Fluid getStillFluid() { + return super.getStillFluid(); + } + + @Override + public Fluid getFlowingFluid() { + return this; + } + + @Override + public Item getFilledBucket() { + return Items.AIR; + } + + @Override + protected BlockState getBlockState(FluidState state) { + return Blocks.AIR.getDefaultState(); + } + + @Override + public boolean isSource(FluidState p_207193_1_) { + return false; + } + + @Override + public int getLevel(FluidState p_207192_1_) { + return 0; + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java index 751ff1de4..a3570ee9a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/AxisPipeBlock.java @@ -10,6 +10,7 @@ import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehavi import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -19,10 +20,13 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.network.DebugPacketSender; import net.minecraft.state.BooleanProperty; +import net.minecraft.util.ActionResultType; import net.minecraft.util.Direction; +import net.minecraft.util.Hand; import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; @@ -43,12 +47,26 @@ public class AxisPipeBlock extends RotatedPillarBlock implements IWrenchableWith boolean blockTypeChanged = state.getBlock() != newState.getBlock(); if (blockTypeChanged && !world.isRemote) FluidPropagator.propagateChangedPipe(world, pos, state); - if (state != newState && !isMoving) + if (state != newState && !isMoving) removeBracket(world, pos).ifPresent(stack -> Block.spawnAsEntity(world, pos, stack)); if (state.hasTileEntity() && (blockTypeChanged || !newState.hasTileEntity())) world.removeTileEntity(pos); } + @Override + public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, + BlockRayTraceResult hit) { + if (!AllBlocks.COPPER_CASING.isIn(player.getHeldItem(hand))) + return ActionResultType.PASS; + if (!world.isRemote) { + BlockState newState = AllBlocks.ENCASED_FLUID_PIPE.getDefaultState(); + for (Direction d : Iterate.directionsInAxis(getAxis(state))) + newState = newState.with(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(d), true); + world.setBlockState(pos, newState); + } + return ActionResultType.SUCCESS; + } + @Override public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean isMoving) { if (world.isRemote) diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlock.java index 538da53e8..81e8580f6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlock.java @@ -6,7 +6,7 @@ import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; -import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; +import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock; import com.simibubi.create.foundation.block.ProperDirectionalBlock; import com.simibubi.create.foundation.utility.Lang; @@ -46,7 +46,7 @@ public class BracketBlock extends ProperDirectionalBlock { } public Optional getSuitableBracket(BlockState blockState, Direction direction) { - if (blockState.getBlock() instanceof ShaftBlock) + if (blockState.getBlock() instanceof AbstractShaftBlock) return getSuitableBracket(blockState.get(RotatedPillarKineticBlock.AXIS), direction, blockState.getBlock() instanceof CogWheelBlock ? BracketType.COG : BracketType.SHAFT); return getSuitableBracket(FluidPropagator.getStraightPipeAxis(blockState), direction, BracketType.PIPE); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java index 6d236427c..f74484b10 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/EncasedPipeBlock.java @@ -1,22 +1,58 @@ package com.simibubi.create.content.contraptions.fluids.pipes; -import com.simibubi.create.AllTileEntities; +import static net.minecraft.state.properties.BlockStateProperties.DOWN; +import static net.minecraft.state.properties.BlockStateProperties.EAST; +import static net.minecraft.state.properties.BlockStateProperties.NORTH; +import static net.minecraft.state.properties.BlockStateProperties.SOUTH; +import static net.minecraft.state.properties.BlockStateProperties.UP; +import static net.minecraft.state.properties.BlockStateProperties.WEST; +import java.util.Map; +import java.util.Random; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllTileEntities; +import com.simibubi.create.content.contraptions.fluids.FluidPropagator; +import com.simibubi.create.content.contraptions.wrench.IWrenchable; +import com.simibubi.create.foundation.utility.Iterate; + +import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.block.SixWayBlock; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUseContext; +import net.minecraft.network.DebugPacketSender; +import net.minecraft.state.BooleanProperty; +import net.minecraft.state.StateContainer.Builder; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; +import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.shapes.ISelectionContext; -import net.minecraft.util.math.shapes.VoxelShape; -import net.minecraft.util.math.shapes.VoxelShapes; +import net.minecraft.util.math.RayTraceResult; import net.minecraft.world.IBlockReader; +import net.minecraft.world.TickPriority; import net.minecraft.world.World; +import net.minecraft.world.server.ServerWorld; -public class EncasedPipeBlock extends AxisPipeBlock { +public class EncasedPipeBlock extends Block implements IWrenchable { + + public static final Map FACING_TO_PROPERTY_MAP = SixWayBlock.FACING_TO_PROPERTY_MAP; public EncasedPipeBlock(Properties p_i48339_1_) { super(p_i48339_1_); + setDefaultState(getDefaultState().with(NORTH, false) + .with(SOUTH, false) + .with(DOWN, false) + .with(UP, false) + .with(WEST, false) + .with(EAST, false)); + } + + @Override + protected void fillStateContainer(Builder builder) { + builder.add(NORTH, EAST, SOUTH, WEST, UP, DOWN); + super.fillStateContainer(builder); } @Override @@ -25,22 +61,80 @@ public class EncasedPipeBlock extends AxisPipeBlock { } @Override - public TileEntity createTileEntity(BlockState state, IBlockReader world) { - return AllTileEntities.ENCASED_FLUID_PIPE.create(); + public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) { + boolean blockTypeChanged = state.getBlock() != newState.getBlock(); + if (blockTypeChanged && !world.isRemote) + FluidPropagator.propagateChangedPipe(world, pos, state); + if (state.hasTileEntity() && (blockTypeChanged || !newState.hasTileEntity())) + world.removeTileEntity(pos); } @Override - public VoxelShape getShape(BlockState state, IBlockReader p_220053_2_, BlockPos p_220053_3_, - ISelectionContext p_220053_4_) { - return VoxelShapes.fullCube(); + public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean isMoving) { + if (!world.isRemote && state != oldState) + world.getPendingBlockTicks() + .scheduleTick(pos, this, 1, TickPriority.HIGH); + } + + @Override + public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos, + PlayerEntity player) { + return AllBlocks.FLUID_PIPE.asStack(); + } + + @Override + public void neighborChanged(BlockState state, World world, BlockPos pos, Block otherBlock, BlockPos neighborPos, + boolean isMoving) { + DebugPacketSender.func_218806_a(world, pos); + Direction d = FluidPropagator.validateNeighbourChange(state, world, pos, otherBlock, neighborPos, isMoving); + if (d == null) + return; + if (!state.get(FACING_TO_PROPERTY_MAP.get(d))) + return; + world.getPendingBlockTicks() + .scheduleTick(pos, this, 1, TickPriority.HIGH); + } + + @Override + public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random r) { + FluidPropagator.propagateChangedPipe(world, pos, state); + } + + @Override + public TileEntity createTileEntity(BlockState state, IBlockReader world) { + return AllTileEntities.ENCASED_FLUID_PIPE.create(); } @Override public ActionResultType onWrenched(BlockState state, ItemUseContext context) { World world = context.getWorld(); BlockPos pos = context.getPos(); - world.setBlockState(pos, toRegularPipe(world, pos, state), 3); + + if (world.isRemote) + return ActionResultType.SUCCESS; + + context.getWorld() + .playEvent(2001, context.getPos(), Block.getStateId(state)); + BlockState equivalentPipe = transferSixWayProperties(state, AllBlocks.FLUID_PIPE.getDefaultState()); + + Direction firstFound = Direction.UP; + for (Direction d : Iterate.directions) + if (state.get(FACING_TO_PROPERTY_MAP.get(d))) { + firstFound = d; + break; + } + + world.setBlockState(pos, AllBlocks.FLUID_PIPE.get() + .updateBlockState(equivalentPipe, firstFound, null, world, pos)); return ActionResultType.SUCCESS; } + public static BlockState transferSixWayProperties(BlockState from, BlockState to) { + for (Direction d : Iterate.directions) { + BooleanProperty property = FACING_TO_PROPERTY_MAP.get(d); + to = to.with(property, from.get(property)); + } + return to; + } + } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java index 100269984..ae036a097 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java @@ -73,12 +73,9 @@ public class FluidPipeBlock extends SixWayBlock implements IWaterLoggable, IWren BlockRayTraceResult hit) { if (!AllBlocks.COPPER_CASING.isIn(player.getHeldItem(hand))) return ActionResultType.PASS; - Axis axis = getAxis(world, pos, state); - if (axis == null) - return ActionResultType.PASS; if (!world.isRemote) - world.setBlockState(pos, AllBlocks.ENCASED_FLUID_PIPE.getDefaultState() - .with(EncasedPipeBlock.AXIS, axis)); + world.setBlockState(pos, + EncasedPipeBlock.transferSixWayProperties(state, AllBlocks.ENCASED_FLUID_PIPE.getDefaultState())); return ActionResultType.SUCCESS; } @@ -150,7 +147,7 @@ public class FluidPipeBlock extends SixWayBlock implements IWaterLoggable, IWren || FluidPropagator.getStraightPipeAxis(neighbour) == blockFace.getAxis(); if (attachmentBehaviour == null) return false; - return attachmentBehaviour.isPipeConnectedTowards(neighbour, blockFace); + return attachmentBehaviour.isPipeConnectedTowards(neighbour, blockFace.getOpposite()); } public static boolean shouldDrawRim(IBlockDisplayReader world, BlockPos pos, BlockState state, diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java index 34abb83c4..566fdfa4d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java @@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.fluids.pipes; import java.util.List; +import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour; import com.simibubi.create.content.contraptions.fluids.FluidPipeBehaviour; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; @@ -33,7 +34,8 @@ public class FluidPipeTileEntity extends SmartTileEntity { @Override public boolean isConnectedTo(BlockState state, Direction direction) { - return FluidPipeBlock.isPipe(state) && state.get(FluidPipeBlock.FACING_TO_PROPERTY_MAP.get(direction)); + return (FluidPipeBlock.isPipe(state) || state.getBlock() instanceof EncasedPipeBlock) + && state.get(FluidPipeBlock.FACING_TO_PROPERTY_MAP.get(direction)); } } @@ -48,6 +50,9 @@ public class FluidPipeTileEntity extends SmartTileEntity { public AttachmentTypes getAttachment(IBlockDisplayReader world, BlockPos pos, BlockState state, Direction direction) { AttachmentTypes attachment = super.getAttachment(world, pos, state, direction); + if (attachment == AttachmentTypes.RIM && AllBlocks.ENCASED_FLUID_PIPE.has(state)) + return AttachmentTypes.RIM; + BlockPos offsetPos = pos.offset(direction); if (!FluidPipeBlock.isPipe(world.getBlockState(offsetPos))) { FluidPipeAttachmentBehaviour attachmentBehaviour = diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java index 5d9e569e8..da3aa0bce 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java @@ -4,13 +4,9 @@ import java.util.Collection; import java.util.List; import com.simibubi.create.AllFluids; +import com.simibubi.create.content.contraptions.fluids.VirtualFluid; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; import net.minecraft.fluid.Fluid; -import net.minecraft.fluid.FluidState; -import net.minecraft.item.Item; -import net.minecraft.item.Items; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.ListNBT; import net.minecraft.potion.EffectInstance; @@ -20,10 +16,9 @@ import net.minecraft.potion.Potions; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidAttributes; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.ForgeFlowingFluid; import net.minecraftforge.registries.ForgeRegistries; -public class PotionFluid extends ForgeFlowingFluid { +public class PotionFluid extends VirtualFluid { public enum BottleType { REGULAR, SPLASH, LINGERING; @@ -41,36 +36,6 @@ public class PotionFluid extends ForgeFlowingFluid { return fluidStack; } - @Override - public Fluid getStillFluid() { - return this; - } - - @Override - public Fluid getFlowingFluid() { - return this; - } - - @Override - public Item getFilledBucket() { - return Items.AIR; - } - - @Override - protected BlockState getBlockState(FluidState state) { - return Blocks.AIR.getDefaultState(); - } - - @Override - public boolean isSource(FluidState p_207193_1_) { - return false; - } - - @Override - public int getLevel(FluidState p_207192_1_) { - return 0; - } - public static class PotionFluidAttributes extends FluidAttributes { public PotionFluidAttributes(Builder builder, Fluid fluid) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java index 11ee9ea88..b182b7be1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankModel.java @@ -18,6 +18,7 @@ import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockDisplayReader; import net.minecraftforge.client.model.data.IModelData; +import net.minecraftforge.client.model.data.ModelDataMap.Builder; import net.minecraftforge.client.model.data.ModelProperty; public class FluidTankModel extends CTModel { @@ -35,14 +36,13 @@ public class FluidTankModel extends CTModel { private FluidTankModel(IBakedModel originalModel, CTSpriteShiftEntry side, CTSpriteShiftEntry top) { super(originalModel, new FluidTankCTBehaviour(side, top)); } - + @Override - public IModelData getModelData(IBlockDisplayReader world, BlockPos pos, BlockState state, IModelData tileData) { + protected Builder gatherModelData(Builder builder, IBlockDisplayReader world, BlockPos pos, BlockState state) { CullData cullData = new CullData(); for (Direction d : Iterate.horizontalDirections) cullData.setCulled(d, FluidTankConnectivityHandler.isConnected(world, pos, pos.offset(d))); - return getCTDataMapBuilder(world, pos, state).withInitial(CULL_PROPERTY, cullData) - .build(); + return super.gatherModelData(builder, world, pos, state).withInitial(CULL_PROPERTY, cullData); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/goggles/GoggleOverlayRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/goggles/GoggleOverlayRenderer.java index ba2620724..2788bf215 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/goggles/GoggleOverlayRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/goggles/GoggleOverlayRenderer.java @@ -12,7 +12,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pis import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.gui.GuiGameElement; import com.simibubi.create.foundation.utility.Iterate; - +import com.simibubi.create.foundation.utility.Lang; import net.minecraft.block.BlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.Screen; @@ -32,6 +32,11 @@ import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import java.util.ArrayList; +import java.util.List; + +import static com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation.spacing; + @EventBusSubscriber(value = Dist.CLIENT) public class GoggleOverlayRenderer { @@ -100,7 +105,7 @@ public class GoggleOverlayRenderer { if (!tooltip.isEmpty()) tooltip.add(StringTextComponent.EMPTY); - tooltip.add(IHaveGoggleInformation.componentSpacing.copy().append(new StringTextComponent("Pole length: " + poles))); + tooltip.add(IHaveGoggleInformation.componentSpacing.copy().append(Lang.translate("gui.goggles.pole_length")).append(" " + poles)); } if (tooltip.isEmpty()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java index dbf18420b..d3030738b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinMovementBehaviour.java @@ -52,7 +52,7 @@ public class BasinMovementBehaviour extends MovementBehaviour { } context.tileData.put(key, itemStackHandler.serializeNBT()); }); - TileEntity tileEntity = context.contraption.renderedTileEntities.get(context.localPos); + TileEntity tileEntity = context.contraption.presentTileEntities.get(context.localPos); if (tileEntity instanceof BasinTileEntity) ((BasinTileEntity) tileEntity).readOnlyItems(context.tileData); context.temporaryData = false; // did already dump, so can't any more diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java index cd3ef48eb..8303e0686 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java @@ -8,6 +8,7 @@ import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.simibubi.create.Create; +import com.simibubi.create.foundation.utility.Pair; import net.minecraft.item.ItemStack; import net.minecraft.nbt.JsonToNBT; @@ -24,11 +25,19 @@ public class ProcessingOutput { private final ItemStack stack; private final float chance; + private Pair compatDatagenOutput; + public ProcessingOutput(ItemStack stack, float chance) { this.stack = stack; this.chance = chance; } + public ProcessingOutput(Pair item, float chance) { + this.stack = ItemStack.EMPTY; + this.compatDatagenOutput = item; + this.chance = chance; + } + public ItemStack getStack() { return stack; } @@ -51,14 +60,15 @@ public class ProcessingOutput { public JsonElement serialize() { JsonObject json = new JsonObject(); - json.addProperty("item", stack.getItem() - .getRegistryName() - .toString()); - if (stack.getCount() != 1) { - json.addProperty("count", stack.getCount()); - } + ResourceLocation resourceLocation = compatDatagenOutput == null ? stack.getItem() + .getRegistryName() : compatDatagenOutput.getFirst(); + json.addProperty("item", resourceLocation.toString()); + int count = compatDatagenOutput == null ? stack.getCount() : compatDatagenOutput.getSecond(); + if (count != 1) + json.addProperty("count", count); if (stack.hasTag()) - json.add("nbt", new JsonParser().parse(stack.getTag().toString())); + json.add("nbt", new JsonParser().parse(stack.getTag() + .toString())); if (chance != 1) json.addProperty("chance", chance); return json; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java index fdc594798..f53ee5afc 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java @@ -8,8 +8,10 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.Create; +import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.fluid.FluidIngredient; import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.Pair; import net.minecraft.data.IFinishedRecipe; import net.minecraft.fluid.Fluid; @@ -148,16 +150,22 @@ public class ProcessingRecipeBuilder> { public ProcessingRecipeBuilder output(ItemStack output) { return output(1, output); } - + public ProcessingRecipeBuilder output(float chance, ItemStack output) { params.results.add(new ProcessingOutput(output, chance)); return this; } + public ProcessingRecipeBuilder output(float chance, String modId, String registryName, int amount) { + params.results.add(new ProcessingOutput(Pair.of(new ResourceLocation(modId, registryName), amount), chance)); + return this; + } + public ProcessingRecipeBuilder output(Fluid fluid, int amount) { + fluid = FluidHelper.convertToStill(fluid); return output(new FluidStack(fluid, amount)); } - + public ProcessingRecipeBuilder output(FluidStack fluidStack) { params.fluidResults.add(fluidStack); return this; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java index 9f51af84f..29d5ad0b3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java @@ -11,6 +11,7 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; +import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.config.AllConfigs; @@ -135,7 +136,7 @@ public class BeltConnectorItem extends BlockItem { boolean pulley = ShaftBlock.isShaft(shaftState); if (part == BeltPart.MIDDLE && pulley) part = BeltPart.PULLEY; - if (pulley && shaftState.get(ShaftBlock.AXIS) == Axis.Y) + if (pulley && shaftState.get(AbstractShaftBlock.AXIS) == Axis.Y) slope = BeltSlope.SIDEWAYS; world.setBlockState(pos, beltBlock.with(BeltBlock.SLOPE, slope) .with(BeltBlock.PART, part) @@ -237,7 +238,7 @@ public class BeltConnectorItem extends BlockItem { for (BlockPos currentPos = first.add(step); !currentPos.equals(second) && limit-- > 0; currentPos = currentPos.add(step)) { BlockState blockState = world.getBlockState(currentPos); - if (ShaftBlock.isShaft(blockState) && blockState.get(ShaftBlock.AXIS) == shaftAxis) + if (ShaftBlock.isShaft(blockState) && blockState.get(AbstractShaftBlock.AXIS) == shaftAxis) continue; if (!blockState.getMaterial() .isReplaceable()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractShaftBlock.java new file mode 100644 index 000000000..cd63bcee7 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/AbstractShaftBlock.java @@ -0,0 +1,115 @@ +package com.simibubi.create.content.contraptions.relays.elementary; + +import java.util.Optional; + +import com.simibubi.create.AllTileEntities; +import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; +import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.IWaterLoggable; +import net.minecraft.block.material.PushReaction; +import net.minecraft.fluid.FluidState; +import net.minecraft.fluid.Fluids; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemUseContext; +import net.minecraft.state.StateContainer.Builder; +import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Direction; +import net.minecraft.util.Direction.Axis; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.IWorld; +import net.minecraft.world.IWorldReader; +import net.minecraft.world.World; + +public abstract class AbstractShaftBlock extends RotatedPillarKineticBlock implements IWaterLoggable, IWrenchableWithBracket { + + public AbstractShaftBlock(Properties properties) { + super(properties); + setDefaultState(super.getDefaultState().with(BlockStateProperties.WATERLOGGED, false)); + } + + @Override + public ActionResultType onWrenched(BlockState state, ItemUseContext context) { + return IWrenchableWithBracket.super.onWrenched(state, context); + } + + @Override + public PushReaction getPushReaction(BlockState state) { + return PushReaction.NORMAL; + } + + @Override + public TileEntity createTileEntity(BlockState state, IBlockReader world) { + return AllTileEntities.SIMPLE_KINETIC.create(); + } + + @Override + @SuppressWarnings("deprecation") + public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state != newState && !isMoving) + removeBracket(world, pos).ifPresent(stack -> Block.spawnAsEntity(world, pos, stack)); + super.onReplaced(state, world, pos, newState, isMoving); + } + + // IRotate: + + @Override + public boolean hasShaftTowards(IWorldReader world, BlockPos pos, BlockState state, Direction face) { + return face.getAxis() == state.get(AXIS); + } + + @Override + public Axis getRotationAxis(BlockState state) { + return state.get(AXIS); + } + + @Override + public FluidState getFluidState(BlockState state) { + return state.get(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getStillFluidState(false) + : Fluids.EMPTY.getDefaultState(); + } + + @Override + protected void fillStateContainer(Builder builder) { + builder.add(BlockStateProperties.WATERLOGGED); + super.fillStateContainer(builder); + } + + @Override + public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState neighbourState, + IWorld world, BlockPos pos, BlockPos neighbourPos) { + if (state.get(BlockStateProperties.WATERLOGGED)) { + world.getPendingFluidTicks() + .scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); + } + return state; + } + + @Override + public BlockState getStateForPlacement(BlockItemUseContext context) { + FluidState ifluidstate = context.getWorld() + .getFluidState(context.getPos()); + return super.getStateForPlacement(context).with(BlockStateProperties.WATERLOGGED, + Boolean.valueOf(ifluidstate.getFluid() == Fluids.WATER)); + } + + @Override + public Optional removeBracket(IBlockReader world, BlockPos pos) { + BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); + if (behaviour == null) + return Optional.empty(); + BlockState bracket = behaviour.getBracket(); + behaviour.removeBracket(); + if (bracket == Blocks.AIR.getDefaultState()) + return Optional.empty(); + return Optional.of(new ItemStack(bracket.getBlock())); + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java index 2348e2921..4ee03298d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java @@ -67,7 +67,7 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { public boolean canHaveBracket() { BlockState blockState = tileEntity.getBlockState(); - if (blockState.getBlock() instanceof ShaftBlock) + if (blockState.getBlock() instanceof AbstractShaftBlock) return true; return false; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java index df23098c2..c72035fe0 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/CogWheelBlock.java @@ -23,7 +23,7 @@ import net.minecraft.world.IBlockReader; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; -public class CogWheelBlock extends ShaftBlock { +public class CogWheelBlock extends AbstractShaftBlock { boolean isLarge; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java index 245e21fda..e27e44c3a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/ShaftBlock.java @@ -1,78 +1,34 @@ package com.simibubi.create.content.contraptions.relays.elementary; -import java.util.Optional; - import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; -import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; -import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.block.IWaterLoggable; -import net.minecraft.block.material.PushReaction; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.fluid.FluidState; import net.minecraft.fluid.Fluids; import net.minecraft.item.BlockItemUseContext; -import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUseContext; -import net.minecraft.state.StateContainer.Builder; -import net.minecraft.state.properties.BlockStateProperties; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; -import net.minecraft.util.Direction; -import net.minecraft.util.Direction.Axis; import net.minecraft.util.Hand; -import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; -import net.minecraft.world.IWorld; -import net.minecraft.world.IWorldReader; import net.minecraft.world.World; -public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLoggable, IWrenchableWithBracket { +public class ShaftBlock extends AbstractShaftBlock { public ShaftBlock(Properties properties) { super(properties); - setDefaultState(super.getDefaultState().with(BlockStateProperties.WATERLOGGED, false)); } public static boolean isShaft(BlockState state) { return AllBlocks.SHAFT.has(state); } - - @Override - public ActionResultType onWrenched(BlockState state, ItemUseContext context) { - return IWrenchableWithBracket.super.onWrenched(state, context); - } - - @Override - public PushReaction getPushReaction(BlockState state) { - return PushReaction.NORMAL; - } - - @Override - public TileEntity createTileEntity(BlockState state, IBlockReader world) { - return AllTileEntities.SIMPLE_KINETIC.create(); - } - - @Override - @SuppressWarnings("deprecation") - public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) { - if (state != newState && !isMoving) - removeBracket(world, pos).ifPresent(stack -> Block.spawnAsEntity(world, pos, stack)); - super.onReplaced(state, world, pos, newState, isMoving); - } @Override public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { @@ -89,11 +45,6 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga return 0f; } - @Override - public void fillItemGroup(ItemGroup group, NonNullList items) { - super.fillItemGroup(group, items); - } - @Override public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult p_225533_6_) { @@ -101,74 +52,21 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga return ActionResultType.PASS; ItemStack heldItem = player.getHeldItem(hand); + for (EncasedShaftBlock encasedShaft : new EncasedShaftBlock[] { AllBlocks.ANDESITE_ENCASED_SHAFT.get(), + AllBlocks.BRASS_ENCASED_SHAFT.get() }) { - for (EncasedShaftBlock.Casing casing : EncasedShaftBlock.Casing.values()) { - if (casing.getCasingEntry() - .isIn(heldItem)) { - if (world.isRemote) - return ActionResultType.SUCCESS; + if (!encasedShaft.getCasing() + .isIn(heldItem)) + continue; - KineticTileEntity.switchToBlockState(world, pos, AllBlocks.ENCASED_SHAFT.getDefaultState() - .with(EncasedShaftBlock.CASING, casing) - .with(AXIS, state.get(AXIS))); + if (world.isRemote) return ActionResultType.SUCCESS; - } + + KineticTileEntity.switchToBlockState(world, pos, encasedShaft.getDefaultState() + .with(AXIS, state.get(AXIS))); + return ActionResultType.SUCCESS; } return ActionResultType.PASS; } - - // IRotate: - - @Override - public boolean hasShaftTowards(IWorldReader world, BlockPos pos, BlockState state, Direction face) { - return face.getAxis() == state.get(AXIS); - } - - @Override - public Axis getRotationAxis(BlockState state) { - return state.get(AXIS); - } - - @Override - public FluidState getFluidState(BlockState state) { - return state.get(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getStillFluidState(false) - : Fluids.EMPTY.getDefaultState(); - } - - @Override - protected void fillStateContainer(Builder builder) { - builder.add(BlockStateProperties.WATERLOGGED); - super.fillStateContainer(builder); - } - - @Override - public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState neighbourState, - IWorld world, BlockPos pos, BlockPos neighbourPos) { - if (state.get(BlockStateProperties.WATERLOGGED)) { - world.getPendingFluidTicks() - .scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); - } - return state; - } - - @Override - public BlockState getStateForPlacement(BlockItemUseContext context) { - FluidState FluidState = context.getWorld() - .getFluidState(context.getPos()); - return super.getStateForPlacement(context).with(BlockStateProperties.WATERLOGGED, - Boolean.valueOf(FluidState.getFluid() == Fluids.WATER)); - } - - @Override - public Optional removeBracket(IBlockReader world, BlockPos pos) { - BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE); - if (behaviour == null) - return Optional.empty(); - BlockState bracket = behaviour.getBracket(); - behaviour.removeBracket(); - if (bracket == Blocks.AIR.getDefaultState()) - return Optional.empty(); - return Optional.of(new ItemStack(bracket.getBlock())); - } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/CasingConnectivity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/CasingConnectivity.java new file mode 100644 index 000000000..936b624d4 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/CasingConnectivity.java @@ -0,0 +1,62 @@ +package com.simibubi.create.content.contraptions.relays.encased; + +import java.util.IdentityHashMap; +import java.util.Map; +import java.util.function.BiPredicate; + +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.util.Direction; + +public class CasingConnectivity { + + private Map entries; + + public CasingConnectivity() { + entries = new IdentityHashMap<>(); + } + + public Entry get(BlockState blockState) { + return entries.get(blockState.getBlock()); + } + + public void makeCasing(Block block, CTSpriteShiftEntry casing) { + new Entry(block, casing, (s, f) -> true).register(); + } + + public void make(Block block, CTSpriteShiftEntry casing) { + new Entry(block, casing, (s, f) -> true).register(); + } + + public void make(Block block, CTSpriteShiftEntry casing, BiPredicate predicate) { + new Entry(block, casing, predicate).register(); + } + + public class Entry { + + private Block block; + private CTSpriteShiftEntry casing; + private BiPredicate predicate; + + private Entry(Block block, CTSpriteShiftEntry casing, BiPredicate predicate) { + this.block = block; + this.casing = casing; + this.predicate = predicate; + } + + public CTSpriteShiftEntry getCasing() { + return casing; + } + + public boolean isSideValid(BlockState state, Direction face) { + return predicate.test(state, face); + } + + public void register() { + entries.put(block, this); + } + + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCTBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCTBehaviour.java new file mode 100644 index 000000000..0676729fa --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCTBehaviour.java @@ -0,0 +1,42 @@ +package com.simibubi.create.content.contraptions.relays.encased; + +import com.simibubi.create.CreateClient; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; + +import net.minecraft.block.BlockState; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockDisplayReader; + +public class EncasedCTBehaviour extends ConnectedTextureBehaviour { + + private CTSpriteShiftEntry shift; + + public EncasedCTBehaviour(CTSpriteShiftEntry shift) { + this.shift = shift; + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, IBlockDisplayReader reader, BlockPos pos, BlockPos otherPos, + Direction face) { + if (isBeingBlocked(state, reader, pos, otherPos, face)) + return false; + CasingConnectivity cc = CreateClient.getCasingConnectivity(); + CasingConnectivity.Entry entry = cc.get(state); + CasingConnectivity.Entry otherEntry = cc.get(other); + if (entry == null || otherEntry == null) + return false; + if (!entry.isSideValid(state, face) || !otherEntry.isSideValid(other, face)) + return false; + if (entry.getCasing() != otherEntry.getCasing()) + return false; + return true; + } + + @Override + public CTSpriteShiftEntry get(BlockState state, Direction direction) { + return shift; + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java index c2b6f16e0..9fb3d7b85 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java @@ -4,79 +4,47 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.CasingBlock; import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.foundation.utility.Lang; import com.tterrag.registrate.util.entry.BlockEntry; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUseContext; -import net.minecraft.state.EnumProperty; -import net.minecraft.state.Property; -import net.minecraft.state.StateContainer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; import net.minecraft.world.IBlockReader; public class EncasedShaftBlock extends AbstractEncasedShaftBlock { - public static final Property CASING = EnumProperty.create("casing", Casing.class); + private BlockEntry casing; - public EncasedShaftBlock(Properties properties) { + public static EncasedShaftBlock andesite(Properties properties) { + return new EncasedShaftBlock(properties, AllBlocks.ANDESITE_CASING); + } + + public static EncasedShaftBlock brass(Properties properties) { + return new EncasedShaftBlock(properties, AllBlocks.BRASS_CASING); + } + + protected EncasedShaftBlock(Properties properties, BlockEntry casing) { super(properties); - this.setDefaultState(this.getDefaultState().with(CASING, Casing.ANDESITE)); - } - - @Override - protected void fillStateContainer(StateContainer.Builder builder) { - super.fillStateContainer(builder); - builder.add(CASING); - } - - @Override - public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos, PlayerEntity player) { - return new ItemStack(state.get(CASING).getCasingEntry().get().asItem()); + this.casing = casing; } @Override public TileEntity createTileEntity(BlockState state, IBlockReader world) { return AllTileEntities.ENCASED_SHAFT.create(); } + + public BlockEntry getCasing() { + return casing; + } @Override public ActionResultType onSneakWrenched(BlockState state, ItemUseContext context) { if (context.getWorld().isRemote) return ActionResultType.SUCCESS; - + context.getWorld().playEvent(2001, context.getPos(), Block.getStateId(state)); KineticTileEntity.switchToBlockState(context.getWorld(), context.getPos(), AllBlocks.SHAFT.getDefaultState().with(AXIS, state.get(AXIS))); return ActionResultType.SUCCESS; } - - public enum Casing implements IStringSerializable { - ANDESITE(AllBlocks.ANDESITE_CASING), - BRASS(AllBlocks.BRASS_CASING), - //COPPER(AllBlocks.COPPER_CASING) - - ; - - private final BlockEntry casingEntry; - - Casing(BlockEntry casingEntry) { - this.casingEntry = casingEntry; - } - - public BlockEntry getCasingEntry() { - return casingEntry; - } - - @Override - public String getString() { - return Lang.asId(name()); - } - } - } diff --git a/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java b/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java index 5bda2bde9..187f748b4 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java @@ -6,8 +6,8 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem; -import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.foundation.utility.BlockHelper; +import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -177,7 +177,7 @@ public abstract class LaunchedItem { BlockPos offset = BeltBlock.nextSegmentPosition(state, BlockPos.ZERO, isStart); int i = length - 1; Axis axis = state.get(BeltBlock.HORIZONTAL_FACING).rotateY().getAxis(); - world.setBlockState(target, AllBlocks.SHAFT.getDefaultState().with(ShaftBlock.AXIS, axis)); + world.setBlockState(target, AllBlocks.SHAFT.getDefaultState().with(AbstractShaftBlock.AXIS, axis)); BeltConnectorItem .createBelts(world, target, target.add(offset.getX() * i, offset.getY() * i, offset.getZ() * i)); } diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java index 1ab044ace..fd668f720 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonTileEntity.java @@ -11,7 +11,7 @@ import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; -import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; +import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; import com.simibubi.create.content.schematics.MaterialChecklist; @@ -492,7 +492,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements INamedC if (!isLastSegment) blockState = (blockState.get(BeltBlock.PART) == BeltPart.MIDDLE) ? Blocks.AIR.getDefaultState() : AllBlocks.SHAFT.getDefaultState() - .with(ShaftBlock.AXIS, facing.rotateY() + .with(AbstractShaftBlock.AXIS, facing.rotateY() .getAxis()); return blockState; } diff --git a/src/main/java/com/simibubi/create/events/ClientEvents.java b/src/main/java/com/simibubi/create/events/ClientEvents.java index 3e4fd8d57..4df6dec15 100644 --- a/src/main/java/com/simibubi/create/events/ClientEvents.java +++ b/src/main/java/com/simibubi/create/events/ClientEvents.java @@ -1,6 +1,10 @@ package com.simibubi.create.events; +import java.util.ArrayList; +import java.util.List; + import com.mojang.blaze3d.matrix.MatrixStack; +import com.simibubi.create.AllFluids; import com.simibubi.create.Create; import com.simibubi.create.CreateClient; import com.simibubi.create.content.contraptions.KineticDebugger; @@ -29,15 +33,19 @@ import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkRenderer; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.ServerSpeedProvider; + import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ActiveRenderInfo; import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.FluidState; import net.minecraft.item.ItemStack; import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.text.ITextComponent; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.client.event.EntityViewRenderEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.client.event.RenderWorldLastEvent; @@ -49,9 +57,6 @@ import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; -import java.util.ArrayList; -import java.util.List; - @EventBusSubscriber(value = Dist.CLIENT) public class ClientEvents { @@ -72,11 +77,11 @@ public class ClientEvents { CreateClient.schematicSender.tick(); CreateClient.schematicAndQuillHandler.tick(); CreateClient.schematicHandler.tick(); - + ContraptionHandler.tick(world); CapabilityMinecartController.tick(world); CouplingPhysics.tick(world); - + ScreenOpener.tick(); ServerSpeedProvider.clientTick(); BeltConnectorHandler.tick(); @@ -96,9 +101,9 @@ public class ClientEvents { ArmInteractionPointHandler.tick(); SailBlockPlacementHelper.tick(); PistonPolePlacementHelper.tick(); - CreateClient.outliner.tickOutlines(); + CreateClient.outliner.tickOutlines(); } - + @SubscribeEvent public static void onLoadWorld(WorldEvent.Load event) { CreateClient.bufferCache.invalidate(); @@ -112,13 +117,13 @@ public class ClientEvents { ms.push(); ms.translate(-view.getX(), -view.getY(), -view.getZ()); SuperRenderTypeBuffer buffer = SuperRenderTypeBuffer.getInstance(); - + CouplingRenderer.renderAll(ms, buffer); CreateClient.schematicHandler.render(ms, buffer); CreateClient.outliner.renderOutlines(ms, buffer); // CollisionDebugger.render(ms, buffer); buffer.draw(); - + ms.pop(); } @@ -171,4 +176,44 @@ public class ClientEvents { return !(Minecraft.getInstance().world == null || Minecraft.getInstance().player == null); } + @SubscribeEvent + public static void getFogDensity(EntityViewRenderEvent.FogDensity event) { + ActiveRenderInfo info = event.getInfo(); + FluidState fluidState = info.getFluidState(); + if (fluidState.isEmpty()) + return; + Fluid fluid = fluidState.getFluid(); + + if (fluid.isEquivalentTo(AllFluids.CHOCOLATE.get())) { + event.setDensity(5f); + event.setCanceled(true); + } + + if (fluid.isEquivalentTo(AllFluids.HONEY.get())) { + event.setDensity(1.5f); + event.setCanceled(true); + } + } + + @SubscribeEvent + public static void getFogColor(EntityViewRenderEvent.FogColors event) { + ActiveRenderInfo info = event.getInfo(); + FluidState fluidState = info.getFluidState(); + if (fluidState.isEmpty()) + return; + Fluid fluid = fluidState.getFluid(); + + if (fluid.isEquivalentTo(AllFluids.CHOCOLATE.get())) { + event.setRed(98 / 256f); + event.setGreen(32 / 256f); + event.setBlue(32 / 256f); + } + + if (fluid.isEquivalentTo(AllFluids.HONEY.get())) { + event.setRed(234 / 256f); + event.setGreen(174 / 256f); + event.setBlue(47 / 256f); + } + } + } diff --git a/src/main/java/com/simibubi/create/events/CommonEvents.java b/src/main/java/com/simibubi/create/events/CommonEvents.java index 935c7eab2..163dfdfb9 100644 --- a/src/main/java/com/simibubi/create/events/CommonEvents.java +++ b/src/main/java/com/simibubi/create/events/CommonEvents.java @@ -1,5 +1,6 @@ package com.simibubi.create.events; +import com.simibubi.create.AllFluids; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionHandler; import com.simibubi.create.content.contraptions.components.structureMovement.train.CouplingPhysics; @@ -9,13 +10,19 @@ import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipe import com.simibubi.create.content.contraptions.wrench.WrenchItem; import com.simibubi.create.content.schematics.ServerSchematicLoader; import com.simibubi.create.foundation.command.AllCommands; -import com.simibubi.create.foundation.utility.Debug; +import com.simibubi.create.foundation.fluid.FluidHelper; +import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.ServerSpeedProvider; import com.simibubi.create.foundation.utility.WorldAttached; import com.simibubi.create.foundation.utility.recipe.RecipeFinder; +import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; +import net.minecraft.fluid.FluidState; +import net.minecraft.tags.FluidTags; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.IWorld; import net.minecraft.world.World; import net.minecraftforge.event.AddReloadListenerEvent; @@ -27,6 +34,7 @@ import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.event.entity.player.AttackEntityEvent; import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.BlockEvent.FluidPlaceBlockEvent; import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -53,6 +61,28 @@ public class CommonEvents { CapabilityMinecartController.onChunkUnloaded(event); } + @SubscribeEvent + public static void whenFluidsMeet(FluidPlaceBlockEvent event) { + BlockState blockState = event.getOriginalState(); + FluidState fluidState = blockState.getFluidState(); + BlockPos pos = event.getPos(); + IWorld world = event.getWorld(); + + if (fluidState.isSource() && FluidHelper.isLava(fluidState.getFluid())) + return; + + for (Direction direction : Iterate.directions) { + FluidState metFluidState = fluidState.isSource() ? fluidState : world.getFluidState(pos.offset(direction)); + if (!metFluidState.isTagged(FluidTags.WATER)) + continue; + BlockState lavaInteraction = AllFluids.getLavaInteraction(metFluidState); + if (lavaInteraction == null) + continue; + event.setNewState(lavaInteraction); + break; + } + } + @SubscribeEvent public static void onWorldTick(WorldTickEvent event) { if (event.phase == Phase.START) @@ -120,7 +150,7 @@ public class CommonEvents { public static void attachCapabilities(AttachCapabilitiesEvent event) { CapabilityMinecartController.attach(event); } - + @SubscribeEvent public static void startTracking(PlayerEvent.StartTracking event) { CapabilityMinecartController.startTracking(event); diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/BakedModelWrapperWithData.java b/src/main/java/com/simibubi/create/foundation/block/connected/BakedModelWrapperWithData.java new file mode 100644 index 000000000..139408fa9 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/block/connected/BakedModelWrapperWithData.java @@ -0,0 +1,29 @@ +package com.simibubi.create.foundation.block.connected; + +import net.minecraft.block.BlockState; +import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockDisplayReader; +import net.minecraftforge.client.model.BakedModelWrapper; +import net.minecraftforge.client.model.data.IModelData; +import net.minecraftforge.client.model.data.ModelDataMap; +import net.minecraftforge.client.model.data.ModelDataMap.Builder; + +public abstract class BakedModelWrapperWithData extends BakedModelWrapper { + + public BakedModelWrapperWithData(IBakedModel originalModel) { + super(originalModel); + } + + @Override + public final IModelData getModelData(IBlockDisplayReader world, BlockPos pos, BlockState state, IModelData tileData) { + Builder builder = new ModelDataMap.Builder(); + if (originalModel instanceof BakedModelWrapperWithData) + ((BakedModelWrapperWithData) originalModel).gatherModelData(builder, world, pos, state); + return gatherModelData(builder, world, pos, state).build(); + } + + protected abstract ModelDataMap.Builder gatherModelData(ModelDataMap.Builder builder, IBlockDisplayReader world, + BlockPos pos, BlockState state); + +} diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java index 823a30710..76af67125 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java @@ -16,13 +16,11 @@ import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockDisplayReader; -import net.minecraftforge.client.model.BakedModelWrapper; import net.minecraftforge.client.model.data.IModelData; -import net.minecraftforge.client.model.data.ModelDataMap; import net.minecraftforge.client.model.data.ModelDataMap.Builder; import net.minecraftforge.client.model.data.ModelProperty; -public class CTModel extends BakedModelWrapper { +public class CTModel extends BakedModelWrapperWithData { protected static ModelProperty CT_PROPERTY = new ModelProperty<>(); private ConnectedTextureBehaviour behaviour; @@ -43,19 +41,15 @@ public class CTModel extends BakedModelWrapper { return indices[face.getIndex()]; } } - + public CTModel(IBakedModel originalModel, ConnectedTextureBehaviour behaviour) { super(originalModel); this.behaviour = behaviour; } @Override - public IModelData getModelData(IBlockDisplayReader world, BlockPos pos, BlockState state, IModelData tileData) { - return getCTDataMapBuilder(world, pos, state).build(); - } - - protected Builder getCTDataMapBuilder(IBlockDisplayReader world, BlockPos pos, BlockState state) { - return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state)); + protected Builder gatherModelData(Builder builder, IBlockDisplayReader world, BlockPos pos, BlockState state) { + return builder.withInitial(CT_PROPERTY, createCTData(world, pos, state)); } protected CTData createCTData(IBlockDisplayReader world, BlockPos pos, BlockState state) { diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java b/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java index fca5fac4e..66c2646d3 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java @@ -33,18 +33,19 @@ public abstract class ConnectedTextureBehaviour { public boolean buildContextForOccludedDirections() { return false; } - + public boolean connectsTo(BlockState state, BlockState other, IBlockDisplayReader reader, BlockPos pos, BlockPos otherPos, Direction face) { + return !isBeingBlocked(state, reader, pos, otherPos, face) && state.getBlock() == other.getBlock(); + } + protected boolean isBeingBlocked(BlockState state, IBlockDisplayReader reader, BlockPos pos, BlockPos otherPos, + Direction face) { BlockPos blockingPos = otherPos.offset(face); - if ((face.getAxis() + return face.getAxis() .getCoordinate(pos.getX(), pos.getY(), pos.getZ()) == face.getAxis() - .getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ())) - && connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face)) - return false; - - return state.getBlock() == other.getBlock(); + .getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ()) + && connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face); } public CTContext buildContext(IBlockDisplayReader reader, BlockPos pos, BlockState state, Direction face) { diff --git a/src/main/java/com/simibubi/create/foundation/block/render/CustomBlockModels.java b/src/main/java/com/simibubi/create/foundation/block/render/CustomBlockModels.java index 0f3efbd4a..3653f4615 100644 --- a/src/main/java/com/simibubi/create/foundation/block/render/CustomBlockModels.java +++ b/src/main/java/com/simibubi/create/foundation/block/render/CustomBlockModels.java @@ -28,7 +28,7 @@ public class CustomBlockModels { NonNullFunction behaviour) { registered.add(Pair.of(entry, behaviour)); } - + public void foreach(NonNullBiConsumer> consumer) { loadEntriesIfMissing(); customModels.forEach(consumer); @@ -41,8 +41,19 @@ public class CustomBlockModels { private void loadEntries() { customModels.clear(); - registered.forEach(p -> customModels.put(p.getKey() - .get(), p.getValue())); + registered.forEach(p -> { + Block key = p.getKey() + .get(); + + NonNullFunction existingModel = customModels.get(key); + if (existingModel != null) { + customModels.put(key, p.getValue() + .andThen(existingModel)); + return; + } + + customModels.put(key, p.getValue()); + }); } } diff --git a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java index 5a1dc1c4d..f74af148c 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java @@ -9,7 +9,6 @@ import java.util.Vector; import java.util.function.BiFunction; import java.util.function.Function; -import com.simibubi.create.content.contraptions.components.tracks.ControllerRailBlock; import org.apache.commons.lang3.tuple.Pair; import com.google.common.collect.ImmutableList; @@ -20,6 +19,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.cha import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssembleRailType; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock; import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; +import com.simibubi.create.content.contraptions.fluids.pipes.EncasedPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; import com.simibubi.create.content.palettes.PavedBlock; @@ -122,11 +122,17 @@ public class BlockStateGen { public static void axisBlock(DataGenContext ctx, RegistrateBlockstateProvider prov, Function modelFunc) { + axisBlock(ctx, prov, modelFunc, false); + } + + public static void axisBlock(DataGenContext ctx, RegistrateBlockstateProvider prov, + Function modelFunc, boolean uvLock) { prov.getVariantBuilder(ctx.getEntry()) .forAllStatesExcept(state -> { Axis axis = state.get(BlockStateProperties.AXIS); return ConfiguredModel.builder() .modelFile(modelFunc.apply(state)) + .uvLock(uvLock) .rotationX(axis == Axis.Y ? 0 : 90) .rotationY(axis == Axis.X ? 90 : axis == Axis.Z ? 180 : 0) .build(); @@ -335,6 +341,26 @@ public class BlockStateGen { }; } + public static

NonNullBiConsumer, RegistrateBlockstateProvider> encasedPipe() { + return (c, p) -> { + ModelFile open = AssetLookup.partialBaseModel(c, p, "open"); + ModelFile flat = AssetLookup.partialBaseModel(c, p, "flat"); + MultiPartBlockStateBuilder builder = p.getMultipartBuilder(c.get()); + for (boolean flatPass : Iterate.trueAndFalse) + for (Direction d : Iterate.directions) { + int verticalAngle = d == Direction.UP ? 90 : d == Direction.DOWN ? -90 : 0; + builder.part() + .modelFile(flatPass ? flat : open) + .rotationX(verticalAngle) + .rotationY((int) (d.getHorizontalAngle() + (d.getAxis() + .isVertical() ? 90 : 0)) % 360) + .addModel() + .condition(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(d), !flatPass) + .end(); + } + }; + } + public static

NonNullBiConsumer, RegistrateBlockstateProvider> pipe() { return (c, p) -> { String path = "block/" + c.getName(); @@ -434,48 +460,4 @@ public class BlockStateGen { .condition(propertyMap.get(Pointing.DOWN.getCombinedDirection(positiveAxis)), down) .end(); } - - public static NonNullBiConsumer, RegistrateBlockstateProvider> controllerRail() { - return (c, p) -> p.getVariantBuilder(c.get()) - .forAllStates(state -> { - int power = state.get(ControllerRailBlock.POWER); - boolean backwards = state.get(ControllerRailBlock.BACKWARDS); - String powerStr = power == 0 ? "off" : (power == 15 ? "on" : "analog"); - RailShape shape = state.get(ControllerRailBlock.SHAPE); - String shapeName = shape.isAscending() ? RailShape.ASCENDING_NORTH.getString() : RailShape.NORTH_SOUTH.getString(); - int rotation = 0; - - switch (shape) { - case EAST_WEST: - rotation += 270; - shapeName = RailShape.NORTH_SOUTH.getString(); - break; - case ASCENDING_EAST: - rotation += 90; - break; - case ASCENDING_SOUTH: - rotation += 180; - break; - case ASCENDING_WEST: - rotation += 270; - break; - default: - break; - } - - if (backwards) { - rotation += 180; - shapeName = shape.isAscending() ? RailShape.ASCENDING_SOUTH.getString() : RailShape.NORTH_SOUTH.getString(); - } - - - return ConfiguredModel.builder() - .modelFile(p.models() - .getExistingFile(p.modLoc( - "block/" + c.getName() + "/block_" + shapeName + "_" + - powerStr))) - .rotationY(rotation % 360) - .build(); - }); - } } diff --git a/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java b/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java index 1ada639f9..40c4d3d3d 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java +++ b/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java @@ -1,5 +1,7 @@ package com.simibubi.create.foundation.data; +import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock; +import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity; import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; import java.util.HashMap; @@ -15,6 +17,8 @@ import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.base.CasingBlock; import com.simibubi.create.content.contraptions.components.crank.ValveHandleBlock; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonGenerator; +import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour; +import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelItem; @@ -22,7 +26,6 @@ import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; import com.simibubi.create.content.logistics.block.funnel.FunnelItem; import com.simibubi.create.content.logistics.block.inventories.CrateBlock; import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; -import com.simibubi.create.foundation.block.connected.StandardCTBehaviour; import com.simibubi.create.foundation.config.StressConfigDefaults; import com.simibubi.create.foundation.item.TooltipHelper; import com.tterrag.registrate.builders.BlockBuilder; @@ -53,6 +56,22 @@ public class BuilderTransformers { .transform(ModelGen.customItemModel("cuckoo_clock", "item")); } + public static NonNullUnaryOperator> encasedShaft(String casing, + CTSpriteShiftEntry casingShift) { + return builder -> builder.initialProperties(SharedProperties::stone) + .properties(Block.Properties::nonOpaque) + .onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(casingShift))) + .onRegister(CreateRegistrate.casingConnectivity( + (block, cc) -> cc.make(block, casingShift, (s, f) -> f.getAxis() != s.get(EncasedShaftBlock.AXIS)))) + .blockstate((c, p) -> axisBlock(c, p, blockState -> p.models() + .getExistingFile(p.modLoc("block/encased_shaft/block_" + casing)), true)) + .transform(StressConfigDefaults.setNoImpact()) + .loot((p, b) -> p.registerDropping(b, AllBlocks.SHAFT.get())) + .item() + .model(AssetLookup.customItemModel("encased_shaft", "item_" + casing)) + .build(); + } + public static NonNullUnaryOperator> valveHandle( @Nullable DyeColor color) { return b -> b.initialProperties(SharedProperties::softMetal) @@ -74,9 +93,10 @@ public class BuilderTransformers { public static NonNullUnaryOperator> casing( CTSpriteShiftEntry ct) { - return b -> b.onRegister(connectedTextures(new StandardCTBehaviour(ct))) - .initialProperties(SharedProperties::stone) + return b -> b.initialProperties(SharedProperties::stone) .blockstate((c, p) -> p.simpleBlock(c.get())) + .onRegister(connectedTextures(new EncasedCTBehaviour(ct))) + .onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, ct))) .simpleItem(); } @@ -156,8 +176,9 @@ public class BuilderTransformers { ResourceLocation baseBlockModelLocation = Create.asResource("block/bearing/block"); ResourceLocation baseItemModelLocation = Create.asResource("block/bearing/item"); ResourceLocation topTextureLocation = Create.asResource("block/bearing_top" + (woodenTop ? "_wooden" : "")); - ResourceLocation nookTextureLocation = Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing"); - ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side"); + ResourceLocation nookTextureLocation = + Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing"); + ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side"); ResourceLocation backTextureLocation = Create.asResource("block/" + backTexture); return b -> b.initialProperties(SharedProperties::stone) .properties(p -> p.nonOpaque()) diff --git a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java index f7a1d862a..f0f2e9e9f 100644 --- a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java +++ b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java @@ -4,6 +4,7 @@ import java.util.Collection; import java.util.IdentityHashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Supplier; import java.util.stream.Collectors; @@ -11,6 +12,8 @@ import java.util.stream.Collectors; import com.simibubi.create.Create; import com.simibubi.create.CreateClient; import com.simibubi.create.content.AllSections; +import com.simibubi.create.content.contraptions.fluids.VirtualFluid; +import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity; import com.simibubi.create.foundation.block.IBlockVertexColor; import com.simibubi.create.foundation.block.connected.CTModel; import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; @@ -22,6 +25,7 @@ import com.tterrag.registrate.builders.FluidBuilder; import com.tterrag.registrate.builders.ItemBuilder; import com.tterrag.registrate.util.NonNullLazyValue; import com.tterrag.registrate.util.entry.RegistryEntry; +import com.tterrag.registrate.util.nullness.NonNullBiFunction; import com.tterrag.registrate.util.nullness.NonNullConsumer; import com.tterrag.registrate.util.nullness.NonNullFunction; import com.tterrag.registrate.util.nullness.NonNullSupplier; @@ -130,12 +134,33 @@ public class CreateRegistrate extends AbstractRegistrate { Create.asResource("fluid/" + name + "_flow"), attributesFactory, factory)); } + public FluidBuilder virtualFluid(String name) { + return entry(name, + c -> new VirtualFluidBuilder<>(self(), self(), name, c, Create.asResource("fluid/" + name + "_still"), + Create.asResource("fluid/" + name + "_flow"), null, VirtualFluid::new)); + } + + public FluidBuilder standardFluid(String name) { + return fluid(name, Create.asResource("fluid/" + name + "_still"), Create.asResource("fluid/" + name + "_flow")); + } + + public FluidBuilder standardFluid(String name, + NonNullBiFunction attributesFactory) { + return fluid(name, Create.asResource("fluid/" + name + "_still"), Create.asResource("fluid/" + name + "_flow"), + attributesFactory); + } + /* Util */ public static NonNullConsumer connectedTextures(ConnectedTextureBehaviour behavior) { return entry -> onClient(() -> () -> registerCTBehviour(entry, behavior)); } + public static NonNullConsumer casingConnectivity( + BiConsumer consumer) { + return entry -> onClient(() -> () -> registerCasingConnectivity(entry, consumer)); + } + public static NonNullConsumer blockModel( Supplier> func) { return entry -> onClient(() -> () -> registerBlockModel(entry, func)); @@ -176,6 +201,12 @@ public class CreateRegistrate extends AbstractRegistrate { .register(entry.delegate, model -> new CTModel(model, behavior)); } + @OnlyIn(Dist.CLIENT) + private static void registerCasingConnectivity(T entry, + BiConsumer consumer) { + consumer.accept(entry, CreateClient.getCasingConnectivity()); + } + @OnlyIn(Dist.CLIENT) private static void registerBlockModel(Block entry, Supplier> func) { diff --git a/src/main/java/com/simibubi/create/foundation/data/SpecialBlockStateGen.java b/src/main/java/com/simibubi/create/foundation/data/SpecialBlockStateGen.java index bc4ee17e2..e011078dd 100644 --- a/src/main/java/com/simibubi/create/foundation/data/SpecialBlockStateGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/SpecialBlockStateGen.java @@ -5,21 +5,26 @@ import com.tterrag.registrate.providers.RegistrateBlockstateProvider; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.state.Property; import net.minecraft.util.Direction; import net.minecraftforge.client.model.generators.ConfiguredModel; import net.minecraftforge.client.model.generators.ModelFile; public abstract class SpecialBlockStateGen { + protected Property[] getIgnoredProperties() { + return new Property[0]; + } + public final void generate(DataGenContext ctx, RegistrateBlockstateProvider prov) { prov.getVariantBuilder(ctx.getEntry()) - .forAllStates(state -> { + .forAllStatesExcept(state -> { return ConfiguredModel.builder() .modelFile(getModel(ctx, prov, state)) .rotationX((getXRotation(state) + 360) % 360) .rotationY((getYRotation(state) + 360) % 360) .build(); - }); + }, getIgnoredProperties()); } protected int horizontalAngle(Direction direction) { diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java b/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java index 62ab0f8e8..74dc0fe09 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/CreateRecipeProvider.java @@ -20,6 +20,8 @@ import net.minecraftforge.common.Tags; public abstract class CreateRecipeProvider extends RecipeProvider { + public final String MEK = "mekanism", MW = "mysticalworld", SM = "silents_mechanisms", IE = "immersiveengineering"; + final List all = new ArrayList<>(); public CreateRecipeProvider(DataGenerator p_i48262_1_) { diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java index b5e74e900..8646e297e 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java @@ -11,6 +11,8 @@ import net.minecraft.data.DataGenerator; import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.tags.ItemTags; +import net.minecraftforge.common.crafting.conditions.NotCondition; +import net.minecraftforge.common.crafting.conditions.TagEmptyCondition; public class CrushingRecipeGen extends ProcessingRecipeGen { @@ -51,6 +53,16 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { IRON_ORE = metalOre("iron", AllItems.CRUSHED_IRON, 400), GOLD_ORE = metalOre("gold", AllItems.CRUSHED_GOLD, 300), + OSMIUM_ORE = metalOre("osmium", AllItems.CRUSHED_OSMIUM, 400), + PLATINUM_ORE = metalOre("platinum", AllItems.CRUSHED_PLATINUM, 300), + SILVER_ORE = metalOre("silver", AllItems.CRUSHED_SILVER, 300), + TIN_ORE = metalOre("tin", AllItems.CRUSHED_TIN, 350), + QUICKSILVER_ORE = metalOre("quicksilver", AllItems.CRUSHED_QUICKSILVER, 300), + LEAD_ORE = metalOre("lead", AllItems.CRUSHED_LEAD, 400), + ALUMINUM_ORE = metalOre("aluminum", AllItems.CRUSHED_BAUXITE, 300), + URANIUM_ORE = metalOre("uranium", AllItems.CRUSHED_URANIUM, 400), + NICKEL_ORE = metalOre("nickel", AllItems.CRUSHED_NICKEL, 350), + NETHER_QUARTZ_ORE = create(() -> Blocks.NETHER_QUARTZ_ORE, b -> b.duration(350) .output(Items.QUARTZ, 2) .output(.5f, Items.QUARTZ, 4) @@ -76,6 +88,11 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { .output(.25f, Items.EMERALD, 1) .output(.125f, Blocks.COBBLESTONE)), + DIAMOND_ORE = create(() -> Blocks.DIAMOND_ORE, b -> b.duration(500) + .output(Items.DIAMOND, 2) + .output(.25f, Items.DIAMOND, 1) + .output(.125f, Blocks.COBBLESTONE)), + NETHER_WART_NO_QUARK = create("nether_wart_block_no_quark", b -> b.duration(150) .require(Blocks.NETHER_WART_BLOCK) .output(Items.NETHER_WART, 6) @@ -132,8 +149,9 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { ; - protected GeneratedRecipe metalOre(String name, ItemEntry crushed, int duration) { + protected GeneratedRecipe metalOre(String name, ItemEntry crushed, int duration) { return create(name + "_ore", b -> b.duration(duration) + .withCondition(new NotCondition(new TagEmptyCondition("forge", "ores/" + name))) .require(AllTags.forgeItemTag("ores/" + name)) .output(crushed.get()) .output(.3f, crushed.get(), 2) diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java index e49369f0e..591a48b45 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java @@ -1,23 +1,30 @@ package com.simibubi.create.foundation.data.recipe; +import com.simibubi.create.AllFluids; import com.simibubi.create.AllRecipeTypes; import net.minecraft.data.DataGenerator; +import net.minecraft.item.Items; public class EmptyingRecipeGen extends ProcessingRecipeGen { /* - * potion/bottles are handled internally now. keeping this builder for reference + * potion/water bottles are handled internally */ -// GeneratedRecipe -// -// WATER_BOTTLE = create("water_bottle", b -> b -// .require(NBTIngredient.fromStacks(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER))) -// .output(Fluids.WATER, 250) -// .output(Items.GLASS_BOTTLE)) -// -// ; + GeneratedRecipe + + HONEY_BOTTLE = create("honey_bottle", b -> b + .require(Items.HONEY_BOTTLE) + .output(AllFluids.HONEY.get(), 250) + .output(Items.GLASS_BOTTLE)), + + MILK_BUCKET = create("milk_bucket", b -> b + .require(Items.MILK_BUCKET) + .output(AllFluids.MILK.get(), 1000) + .output(Items.BUCKET)) + + ; public EmptyingRecipeGen(DataGenerator p_i48262_1_) { super(p_i48262_1_); diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java index 480d741ec..b851fd816 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java @@ -1,22 +1,25 @@ package com.simibubi.create.foundation.data.recipe; import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.AllTags; import net.minecraft.data.DataGenerator; +import net.minecraft.item.Items; public class FillingRecipeGen extends ProcessingRecipeGen { - /* - * potion/bottles are handled internally now. keeping this builder for reference - */ - -// GeneratedRecipe -// -// WATER_BOTTLE = create("water_bottle", b -> b.require(Items.GLASS_BOTTLE) -// .require(FluidTags.WATER, 250) -// .output(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER))) -// -// ; + GeneratedRecipe + + HONEY_BOTTLE = create("honey_bottle", b -> b + .require(AllTags.forgeFluidTag("honey"), 250) + .require(Items.GLASS_BOTTLE) + .output(Items.HONEY_BOTTLE)), + + MILK_BUCKET = create("milk_bucket", b -> b + .require(AllTags.forgeFluidTag("milk"), 1000) + .require(Items.BUCKET) + .output(Items.MILK_BUCKET)) + ; public FillingRecipeGen(DataGenerator p_i48262_1_) { super(p_i48262_1_); diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/MillingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/MillingRecipeGen.java index 2064e4103..1753f2874 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/MillingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/MillingRecipeGen.java @@ -11,6 +11,8 @@ import net.minecraft.data.DataGenerator; import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.tags.ItemTags; +import net.minecraftforge.common.crafting.conditions.NotCondition; +import net.minecraftforge.common.crafting.conditions.TagEmptyCondition; public class MillingRecipeGen extends ProcessingRecipeGen { @@ -45,6 +47,16 @@ public class MillingRecipeGen extends ProcessingRecipeGen { IRON_ORE = metalOre("iron", AllItems.CRUSHED_IRON, 400), GOLD_ORE = metalOre("gold", AllItems.CRUSHED_GOLD, 300), + OSMIUM_ORE = metalOre("osmium", AllItems.CRUSHED_OSMIUM, 400), + PLATINUM_ORE = metalOre("platinum", AllItems.CRUSHED_PLATINUM, 300), + SILVER_ORE = metalOre("silver", AllItems.CRUSHED_SILVER, 300), + TIN_ORE = metalOre("tin", AllItems.CRUSHED_TIN, 350), + QUICKSILVER_ORE = metalOre("quicksilver", AllItems.CRUSHED_QUICKSILVER, 300), + LEAD_ORE = metalOre("lead", AllItems.CRUSHED_LEAD, 400), + ALUMINUM_ORE = metalOre("aluminum", AllItems.CRUSHED_BAUXITE, 300), + URANIUM_ORE = metalOre("uranium", AllItems.CRUSHED_URANIUM, 400), + NICKEL_ORE = metalOre("nickel", AllItems.CRUSHED_NICKEL, 350), + WHEAT = create(() -> Items.WHEAT, b -> b.duration(150) .output(AllItems.WHEAT_FLOUR.get()) .output(.25f, AllItems.WHEAT_FLOUR.get(), 2) @@ -147,11 +159,11 @@ public class MillingRecipeGen extends ProcessingRecipeGen { POPPY = create(() -> Blocks.POPPY, b -> b.duration(50) .output(Items.RED_DYE, 2) .output(.05f, Items.GREEN_DYE)), - + DANDELION = create(() -> Blocks.DANDELION, b -> b.duration(50) .output(Items.YELLOW_DYE, 2) .output(.05f, Items.YELLOW_DYE)), - + CORNFLOWER = create(() -> Blocks.CORNFLOWER, b -> b.duration(50) .output(Items.BLUE_DYE, 2)), @@ -182,8 +194,9 @@ public class MillingRecipeGen extends ProcessingRecipeGen { ; - protected GeneratedRecipe metalOre(String name, ItemEntry crushed, int duration) { + protected GeneratedRecipe metalOre(String name, ItemEntry crushed, int duration) { return create(name + "_ore", b -> b.duration(duration) + .withCondition(new NotCondition(new TagEmptyCondition("forge", "ores/" + name))) .require(AllTags.forgeItemTag("ores/" + name)) .output(crushed.get())); } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java index 39fb993cf..2d3d07cee 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java @@ -1,5 +1,6 @@ package com.simibubi.create.foundation.data.recipe; +import com.simibubi.create.AllFluids; import com.simibubi.create.AllItems; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllTags; @@ -24,6 +25,19 @@ public class MixingRecipeGen extends ProcessingRecipeGen { .output(Fluids.LAVA, 25) .requiresHeat(HeatCondition.SUPERHEATED)), + TEA = create("tea", b -> b.require(Fluids.WATER, 250) + .require(AllTags.forgeFluidTag("milk"), 250) + .require(ItemTags.LEAVES) + .output(AllFluids.TEA.get(), 500) + .requiresHeat(HeatCondition.HEATED)), + + CHOCOLATE = create("chocolate", b -> b + .require(AllTags.forgeFluidTag("milk"), 250) + .require(Items.SUGAR) + .require(Items.COCOA_BEANS) + .output(AllFluids.CHOCOLATE.get(), 250) + .requiresHeat(HeatCondition.HEATED)), + BRASS_INGOT = create("brass_ingot", b -> b.require(I.copper()) .require(I.zinc()) .output(AllItems.BRASS_INGOT.get(), 2) diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java index ee55d963b..d16563183 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java @@ -1,10 +1,13 @@ package com.simibubi.create.foundation.data.recipe; +import java.util.ArrayList; import java.util.List; import java.util.function.UnaryOperator; import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllTags; @@ -14,6 +17,7 @@ import com.simibubi.create.content.AllSections; import com.simibubi.create.content.palettes.AllPaletteBlocks; import com.simibubi.create.foundation.utility.Lang; import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.entry.ItemEntry; import com.tterrag.registrate.util.entry.ItemProviderEntry; import net.minecraft.advancements.criterion.ItemPredicate; @@ -21,6 +25,7 @@ import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.data.CookingRecipeBuilder; import net.minecraft.data.DataGenerator; +import net.minecraft.data.IFinishedRecipe; import net.minecraft.data.ShapedRecipeBuilder; import net.minecraft.data.ShapelessRecipeBuilder; import net.minecraft.item.Item; @@ -33,6 +38,10 @@ import net.minecraft.tags.ItemTags; import net.minecraft.util.IItemProvider; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.Tags; +import net.minecraftforge.common.crafting.CraftingHelper; +import net.minecraftforge.common.crafting.conditions.ICondition; +import net.minecraftforge.common.crafting.conditions.ModLoadedCondition; +import net.minecraftforge.common.crafting.conditions.NotCondition; @SuppressWarnings("unused") public class StandardRecipeGen extends CreateRecipeProvider { @@ -329,6 +338,15 @@ public class StandardRecipeGen extends CreateRecipeProvider { .patternLine("CRC") .patternLine("L L")), + CONTROLLER_RAIL = create(AllBlocks.CONTROLLER_RAIL).returns(6) + .unlockedBy(() -> Items.POWERED_RAIL) + .viaShaped(b -> b.key('A', I.gold()) + .key('E', I.electronTube()) + .key('S', Tags.Items.RODS_WOODEN) + .patternLine("A A") + .patternLine("ASA") + .patternLine("AEA")), + HAND_CRANK = create(AllBlocks.HAND_CRANK).unlockedBy(I::andesite) .viaShaped(b -> b.key('A', I.andesite()) .key('C', ItemTags.PLANKS) @@ -536,6 +554,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .patternLine("AA")), CHUTE = create(AllBlocks.CHUTE).unlockedBy(I::andesite) + .returns(4) .viaShaped(b -> b.key('A', I.ironSheet()) .key('I', I.andesite()) .patternLine("II") @@ -925,7 +944,17 @@ public class StandardRecipeGen extends CreateRecipeProvider { CRUSHED_GOLD = blastCrushedMetal(() -> Items.GOLD_INGOT, AllItems.CRUSHED_GOLD::get), CRUSHED_COPPER = blastCrushedMetal(AllItems.COPPER_INGOT::get, AllItems.CRUSHED_COPPER::get), CRUSHED_ZINC = blastCrushedMetal(AllItems.ZINC_INGOT::get, AllItems.CRUSHED_ZINC::get), - CRUSHED_BRASS = blastCrushedMetal(AllItems.BRASS_INGOT::get, AllItems.CRUSHED_BRASS::get) + CRUSHED_BRASS = blastCrushedMetal(AllItems.BRASS_INGOT::get, AllItems.CRUSHED_BRASS::get), + + CRUSHED_OSMIUM = blastModdedCrushedMetal(AllItems.CRUSHED_OSMIUM, "osmium", MEK), + CRUSHED_PLATINUM = blastModdedCrushedMetal(AllItems.CRUSHED_PLATINUM, "platinum", SM), + CRUSHED_SILVER = blastModdedCrushedMetal(AllItems.CRUSHED_SILVER, "silver", MW, IE, SM), + CRUSHED_TIN = blastModdedCrushedMetal(AllItems.CRUSHED_TIN, "tin", MEK, MW, SM), + CRUSHED_LEAD = blastModdedCrushedMetal(AllItems.CRUSHED_LEAD, "lead", MW, IE, SM), + CRUSHED_QUICKSILVER = blastModdedCrushedMetal(AllItems.CRUSHED_QUICKSILVER, "quicksilver", MW), + CRUSHED_BAUXITE = blastModdedCrushedMetal(AllItems.CRUSHED_BAUXITE, "aluminum", IE, SM), + CRUSHED_URANIUM = blastModdedCrushedMetal(AllItems.CRUSHED_URANIUM, "uranium", IE, SM), + CRUSHED_NICKEL = blastModdedCrushedMetal(AllItems.CRUSHED_NICKEL, "nickel", IE, SM) ; @@ -949,6 +978,10 @@ public class StandardRecipeGen extends CreateRecipeProvider { return new GeneratedRecipeBuilder(currentFolder, result); } + GeneratedRecipeBuilder create(ResourceLocation result) { + return new GeneratedRecipeBuilder(currentFolder, result); + } + GeneratedRecipeBuilder create(ItemProviderEntry result) { return create(result::get); } @@ -961,7 +994,19 @@ public class StandardRecipeGen extends CreateRecipeProvider { .inBlastFurnace(); } - GeneratedRecipe blastMetalOre(Supplier result, ITag ore) { + GeneratedRecipe blastModdedCrushedMetal(ItemEntry ingredient, String metalName, String... mods) { + for (String modId : mods) { + String ingot = modId.equals(IE) ? "ingot_" + metalName : metalName + "_ingot"; + create(new ResourceLocation(modId, ingot)).withSuffix("_compat_" + modId) + .whenModLoaded(modId) + .viaCooking(ingredient::get) + .rewardXP(.1f) + .inBlastFurnace(); + } + return null; + } + + GeneratedRecipe blastMetalOre(Supplier result, ITag.INamedTag ore) { return create(result::get).withSuffix("_from_ore") .viaCookingTag(() -> ore) .rewardXP(.1f) @@ -1025,16 +1070,29 @@ public class StandardRecipeGen extends CreateRecipeProvider { private String path; private String suffix; private Supplier result; + private ResourceLocation compatDatagenOutput; + List recipeConditions; + private Supplier unlockedBy; private int amount; - public GeneratedRecipeBuilder(String path, Supplier result) { + private GeneratedRecipeBuilder(String path) { this.path = path; + this.recipeConditions = new ArrayList<>(); this.suffix = ""; - this.result = result; this.amount = 1; } + public GeneratedRecipeBuilder(String path, Supplier result) { + this(path); + this.result = result; + } + + public GeneratedRecipeBuilder(String path, ResourceLocation result) { + this(path); + this.compatDatagenOutput = result; + } + GeneratedRecipeBuilder returns(int amount) { this.amount = amount; return this; @@ -1054,6 +1112,19 @@ public class StandardRecipeGen extends CreateRecipeProvider { return this; } + GeneratedRecipeBuilder whenModLoaded(String modid) { + return withCondition(new ModLoadedCondition(modid)); + } + + GeneratedRecipeBuilder whenModMissing(String modid) { + return withCondition(new NotCondition(new ModLoadedCondition(modid))); + } + + GeneratedRecipeBuilder withCondition(ICondition condition) { + recipeConditions.add(condition); + return this; + } + GeneratedRecipeBuilder withSuffix(String suffix) { this.suffix = suffix; return this; @@ -1078,17 +1149,17 @@ public class StandardRecipeGen extends CreateRecipeProvider { } private ResourceLocation createSimpleLocation(String recipeType) { - return Create.asResource(recipeType + "/" + result.get() - .asItem() - .getRegistryName() - .getPath() + suffix); + return Create.asResource(recipeType + "/" + getRegistryName().getPath() + suffix); } private ResourceLocation createLocation(String recipeType) { - return Create.asResource(recipeType + "/" + path + "/" + result.get() + return Create.asResource(recipeType + "/" + path + "/" + getRegistryName().getPath() + suffix); + } + + private ResourceLocation getRegistryName() { + return compatDatagenOutput == null ? result.get() .asItem() - .getRegistryName() - .getPath() + suffix); + .getRegistryName() : compatDatagenOutput; } GeneratedCookingRecipeBuilder viaCooking(Supplier item) { @@ -1159,17 +1230,22 @@ public class StandardRecipeGen extends CreateRecipeProvider { private GeneratedRecipe create(CookingRecipeSerializer serializer, UnaryOperator builder, float cookingTimeModifier) { return register(consumer -> { - CookingRecipeBuilder b = builder.apply(CookingRecipeBuilder.cookingRecipe(ingredient.get(), - result.get(), exp, (int) (cookingTime * cookingTimeModifier), serializer)); + boolean isOtherMod = compatDatagenOutput != null; + + CookingRecipeBuilder b = builder.apply( + CookingRecipeBuilder.cookingRecipe(ingredient.get(), isOtherMod ? Items.DIRT : result.get(), + exp, (int) (cookingTime * cookingTimeModifier), serializer)); if (unlockedBy != null) b.addCriterion("has_item", hasItem(unlockedBy.get())); - b.build(consumer, createSimpleLocation(serializer.getRegistryName() + b.build(result -> { + consumer.accept( + isOtherMod ? new ModdedCookingRecipeResult(result, compatDatagenOutput, recipeConditions) + : result); + }, createSimpleLocation(serializer.getRegistryName() .getPath())); }); } - } - } @Override @@ -1181,4 +1257,49 @@ public class StandardRecipeGen extends CreateRecipeProvider { super(p_i48262_1_); } + private static class ModdedCookingRecipeResult implements IFinishedRecipe { + + private IFinishedRecipe wrapped; + private ResourceLocation outputOverride; + private List conditions; + + public ModdedCookingRecipeResult(IFinishedRecipe wrapped, ResourceLocation outputOverride, + List conditions) { + this.wrapped = wrapped; + this.outputOverride = outputOverride; + this.conditions = conditions; + } + + @Override + public ResourceLocation getID() { + return wrapped.getID(); + } + + @Override + public IRecipeSerializer getSerializer() { + return wrapped.getSerializer(); + } + + @Override + public JsonObject getAdvancementJson() { + return wrapped.getAdvancementJson(); + } + + @Override + public ResourceLocation getAdvancementID() { + return wrapped.getAdvancementID(); + } + + @Override + public void serialize(JsonObject object) { + wrapped.serialize(object); + object.addProperty("result", outputOverride.toString()); + + JsonArray conds = new JsonArray(); + conditions.forEach(c -> conds.add(CraftingHelper.serialize(c))); + object.add("conditions", conds); + } + + } + } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java index 9efcdda26..3c895424c 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java @@ -12,6 +12,7 @@ import net.minecraft.block.Blocks; import net.minecraft.data.DataGenerator; import net.minecraft.item.Item; import net.minecraft.item.Items; +import net.minecraft.item.crafting.Ingredient; import net.minecraft.tags.ItemTags; import net.minecraft.util.IItemProvider; import net.minecraftforge.common.Tags; @@ -42,6 +43,16 @@ public class WashingRecipeGen extends ProcessingRecipeGen { CRUSHED_GOLD = crushedOre(AllItems.CRUSHED_GOLD, () -> Items.GOLD_NUGGET), CRUSHED_IRON = crushedOre(AllItems.CRUSHED_IRON, () -> Items.IRON_NUGGET), + CRUSHED_OSMIUM = moddedCrushedOre(AllItems.CRUSHED_OSMIUM, "osmium", MEK), + CRUSHED_PLATINUM = moddedCrushedOre(AllItems.CRUSHED_PLATINUM, "platinum", SM), + CRUSHED_SILVER = moddedCrushedOre(AllItems.CRUSHED_SILVER, "silver", MW, IE, SM), + CRUSHED_TIN = moddedCrushedOre(AllItems.CRUSHED_TIN, "tin", MEK, MW, SM), + CRUSHED_LEAD = moddedCrushedOre(AllItems.CRUSHED_LEAD, "lead", MW, IE, SM), + CRUSHED_QUICKSILVER = moddedCrushedOre(AllItems.CRUSHED_QUICKSILVER, "quicksilver", MW), + CRUSHED_BAUXITE = moddedCrushedOre(AllItems.CRUSHED_BAUXITE, "aluminum", IE, SM), + CRUSHED_URANIUM = moddedCrushedOre(AllItems.CRUSHED_URANIUM, "uranium", IE, SM), + CRUSHED_NICKEL = moddedCrushedOre(AllItems.CRUSHED_NICKEL, "nickel", IE, SM), + ICE = convert(Blocks.ICE, Blocks.PACKED_ICE), MAGMA_BLOCK = convert(Blocks.MAGMA_BLOCK, Blocks.OBSIDIAN), WHITE_CONCRETE = convert(Blocks.WHITE_CONCRETE_POWDER, Blocks.WHITE_CONCRETE), @@ -75,6 +86,19 @@ public class WashingRecipeGen extends ProcessingRecipeGen { .output(.5f, nugget.get(), 5)); } + public GeneratedRecipe moddedCrushedOre(ItemEntry crushed, String metalName, String... mods) { + for (String modId : mods) { + String nugget = modId.equals(IE) ? "nugget_" + metalName : metalName + "_nugget"; + create(modId + "/" + crushed.getId() + .getPath(), + b -> b.withItemIngredients(Ingredient.fromItems(crushed::get)) + .output(1, modId, nugget, 10) + .output(.5f, modId, nugget, 5) + .whenModLoaded(modId)); + } + return null; + } + public WashingRecipeGen(DataGenerator p_i48262_1_) { super(p_i48262_1_); } diff --git a/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java b/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java index dbb21d249..4aadb6995 100644 --- a/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java +++ b/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java @@ -42,6 +42,7 @@ public abstract class FluidIngredient implements Predicate { FluidStackIngredient ingredient = new FluidStackIngredient(); ingredient.fluid = fluid; ingredient.amountRequired = amount; + ingredient.fixFlowing(); return ingredient; } @@ -49,6 +50,7 @@ public abstract class FluidIngredient implements Predicate { FluidStackIngredient ingredient = new FluidStackIngredient(); ingredient.fluid = fluidStack.getFluid(); ingredient.amountRequired = fluidStack.getAmount(); + ingredient.fixFlowing(); if (fluidStack.hasTag()) ingredient.tagToMatch = fluidStack.getTag(); return ingredient; @@ -141,6 +143,11 @@ public abstract class FluidIngredient implements Predicate { public FluidStackIngredient() { tagToMatch = new CompoundNBT(); } + + void fixFlowing() { + if (fluid instanceof FlowingFluid) + fluid = ((FlowingFluid) fluid).getStillFluid(); + } @Override protected boolean testInternal(FluidStack t) { diff --git a/src/main/java/com/simibubi/create/foundation/item/TagDependentIngredientItem.java b/src/main/java/com/simibubi/create/foundation/item/TagDependentIngredientItem.java new file mode 100644 index 000000000..edebe8926 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/item/TagDependentIngredientItem.java @@ -0,0 +1,34 @@ +package com.simibubi.create.foundation.item; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; +import net.minecraft.tags.ITag; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.Tag; +import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; + +public class TagDependentIngredientItem extends Item { + + private ResourceLocation tag; + + public TagDependentIngredientItem(Properties p_i48487_1_, ResourceLocation tag) { + super(p_i48487_1_); + this.tag = tag; + } + + @Override + public void fillItemGroup(ItemGroup p_150895_1_, NonNullList p_150895_2_) { + if (!shouldHide()) + super.fillItemGroup(p_150895_1_, p_150895_2_); + } + + public boolean shouldHide() { + ITag tag = ItemTags.getCollection() + .get(this.tag); + return tag == null || tag.values() + .isEmpty(); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxRenderer.java b/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxRenderer.java index e27466235..fd37abb2a 100644 --- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/ValueBoxRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.foundation.tileEntity.behaviour; import com.mojang.blaze3d.matrix.MatrixStack; -import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; +import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock; import com.simibubi.create.content.logistics.item.filter.FilterItem; import net.minecraft.block.Block; @@ -36,7 +36,7 @@ public class ValueBoxRenderer { return NUDGE; if (item instanceof BlockItem) { Block block = ((BlockItem) item).getBlock(); - if (block instanceof ShaftBlock) + if (block instanceof AbstractShaftBlock) return NUDGE; if (block instanceof FenceBlock) return NUDGE; diff --git a/src/main/java/com/simibubi/create/foundation/utility/Iterate.java b/src/main/java/com/simibubi/create/foundation/utility/Iterate.java index 84e7cccd1..70206344d 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/Iterate.java +++ b/src/main/java/com/simibubi/create/foundation/utility/Iterate.java @@ -38,4 +38,8 @@ public class Iterate { public static List hereAndBelow(BlockPos pos) { return Arrays.asList(pos, pos.down()); } + + public static List hereBelowAndAbove(BlockPos pos) { + return Arrays.asList(pos, pos.down(), pos.up()); + } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java b/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java index 297b86d9c..82ad97a9c 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java @@ -1,7 +1,63 @@ package com.simibubi.create.foundation.utility; +import static com.simibubi.create.AllBlocks.ADJUSTABLE_CRATE; +import static com.simibubi.create.AllBlocks.ADJUSTABLE_PULSE_REPEATER; +import static com.simibubi.create.AllBlocks.ADJUSTABLE_REPEATER; +import static com.simibubi.create.AllBlocks.ANDESITE_ENCASED_SHAFT; +import static com.simibubi.create.AllBlocks.BRASS_BELT_FUNNEL; +import static com.simibubi.create.AllBlocks.BRASS_TUNNEL; +import static com.simibubi.create.AllBlocks.CONTENT_OBSERVER; +import static com.simibubi.create.AllBlocks.LINEAR_CHASSIS; +import static com.simibubi.create.AllBlocks.MECHANICAL_DRILL; +import static com.simibubi.create.AllBlocks.MECHANICAL_HARVESTER; +import static com.simibubi.create.AllBlocks.MECHANICAL_PLOUGH; +import static com.simibubi.create.AllBlocks.MECHANICAL_SAW; +import static com.simibubi.create.AllBlocks.PISTON_EXTENSION_POLE; +import static com.simibubi.create.AllBlocks.POWERED_LATCH; +import static com.simibubi.create.AllBlocks.POWERED_TOGGLE_LATCH; +import static com.simibubi.create.AllBlocks.RADIAL_CHASSIS; +import static com.simibubi.create.AllBlocks.REDSTONE_CONTACT; +import static com.simibubi.create.AllBlocks.REDSTONE_LINK; +import static com.simibubi.create.AllBlocks.SECONDARY_LINEAR_CHASSIS; +import static com.simibubi.create.AllBlocks.SPEEDOMETER; +import static com.simibubi.create.AllBlocks.STOCKPILE_SWITCH; +import static com.simibubi.create.AllBlocks.STRESSOMETER; +import static com.simibubi.create.AllItems.ATTRIBUTE_FILTER; +import static com.simibubi.create.AllItems.BLOCKZAPPER; +import static com.simibubi.create.AllItems.CRAFTER_SLOT_COVER; +import static com.simibubi.create.AllItems.CRUSHED_COPPER; +import static com.simibubi.create.AllItems.CRUSHED_GOLD; +import static com.simibubi.create.AllItems.CRUSHED_IRON; +import static com.simibubi.create.AllItems.CRUSHED_ZINC; +import static com.simibubi.create.AllItems.GOLDEN_SHEET; +import static com.simibubi.create.AllItems.LAPIS_SHEET; +import static com.simibubi.create.AllItems.POWDERED_OBSIDIAN; +import static com.simibubi.create.AllItems.SCHEMATIC; +import static com.simibubi.create.AllItems.SCHEMATIC_AND_QUILL; +import static com.simibubi.create.AllItems.WAND_OF_SYMMETRY; +import static com.simibubi.create.AllItems.WHEAT_FLOUR; +import static com.simibubi.create.AllItems.WORLDSHAPER; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.ACACIA_WINDOW; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.ACACIA_WINDOW_PANE; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.BIRCH_WINDOW; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.BIRCH_WINDOW_PANE; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.DARK_OAK_WINDOW; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.DARK_OAK_WINDOW_PANE; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.JUNGLE_WINDOW; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.JUNGLE_WINDOW_PANE; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.OAK_WINDOW; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.OAK_WINDOW_PANE; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.ORNATE_IRON_WINDOW; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.ORNATE_IRON_WINDOW_PANE; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDOW; +import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDOW_PANE; + +import java.util.HashMap; +import java.util.Map; + import com.google.common.collect.ImmutableList; import com.simibubi.create.Create; + import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; @@ -12,13 +68,6 @@ import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.registries.ForgeRegistries; -import java.util.HashMap; -import java.util.Map; - -import static com.simibubi.create.AllBlocks.*; -import static com.simibubi.create.AllItems.*; -import static com.simibubi.create.content.palettes.AllPaletteBlocks.*; - @Mod.EventBusSubscriber @SuppressWarnings("unused") public class RemapHelper { @@ -26,6 +75,7 @@ public class RemapHelper { static { reMap.put("toggle_latch", POWERED_TOGGLE_LATCH.getId()); + reMap.put("encased_shaft", ANDESITE_ENCASED_SHAFT.getId()); // reMap.put("linked_extractor", ); reMap.put("limestone_stairs", Create.asResource("polished_limestone_stairs")); // reMap.put("window_in_a_block", ); @@ -123,7 +173,7 @@ public class RemapHelper { reMap.put("symmetry_wand", WAND_OF_SYMMETRY.getId()); reMap.put("terrain_zapper", WORLDSHAPER.getId()); // reMap.put("blazing_sword", ); - reMap.put("zinc_handle", HAND_CRANK.getId()); +// reMap.put("zinc_handle", HAND_CRANK.getId()); // reMap.put("rose_quartz_axe", ); // reMap.put("shadow_steel_pickaxe", ); reMap.put("placement_handgun", BLOCKZAPPER.getId()); diff --git a/src/main/resources/assets/create/lang/default/messages.json b/src/main/resources/assets/create/lang/default/messages.json index eec9e2a6a..14c300883 100644 --- a/src/main/resources/assets/create/lang/default/messages.json +++ b/src/main/resources/assets/create/lang/default/messages.json @@ -170,7 +170,8 @@ "create.gui.goggles.generator_stats": "Generator Stats:", "create.gui.goggles.kinetic_stats": "Kinetic Stats:", "create.gui.goggles.at_current_speed": "at current speed", - + "create.gui.goggles.pole_length": "Pole Length:", + "create.gui.gauge.info_header": "Gauge Information:", "create.gui.speedometer.title": "Rotation Speed", "create.gui.stressometer.title": "Network Stress", diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north.json new file mode 100644 index 000000000..4dbb5f511 --- /dev/null +++ b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north.json @@ -0,0 +1,36 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#rail", + "rail": "create:block/controller_rail_base", + "tint": "create:block/controller_rail_tint" + }, + "elements": [ + { "from": [ 0, 9, 0 ], + "to": [ 16, 9, 16 ], + "rotation": { + "origin": [ 8, 9, 8 ], + "axis": "x", + "angle": 45, + "rescale": true + }, + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" } + } + }, + { "from": [ 0, 9, 0 ], + "to": [ 16, 9, 16 ], + "rotation": { + "origin": [ 8, 9, 8 ], + "axis": "x", + "angle": 45, + "rescale": true + }, + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#tint", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#tint", "tintindex": 0 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_analog.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_analog.json deleted file mode 100644 index 73815cb0d..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_analog.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_rail_raised_ne", - "textures": { - "rail": "create:block/controller_rail_analog" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_off.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_off.json deleted file mode 100644 index f339682a0..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_off.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_rail_raised_ne", - "textures": { - "rail": "create:block/controller_rail_off" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_on.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_on.json deleted file mode 100644 index 0fe3100de..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_north_on.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_rail_raised_ne", - "textures": { - "rail": "create:block/controller_rail_on" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south.json new file mode 100644 index 000000000..14521ede3 --- /dev/null +++ b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south.json @@ -0,0 +1,36 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#rail", + "rail": "create:block/controller_rail_base", + "tint": "create:block/controller_rail_tint" + }, + "elements": [ + { "from": [ 0, 9, 0 ], + "to": [ 16, 9, 16 ], + "rotation": { + "origin": [ 8, 9, 8 ], + "axis": "x", + "angle": -45, + "rescale": true + }, + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" } + } + }, + { "from": [ 0, 9, 0 ], + "to": [ 16, 9, 16 ], + "rotation": { + "origin": [ 8, 9, 8 ], + "axis": "x", + "angle": -45, + "rescale": true + }, + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#tint", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#tint", "tintindex": 0 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_analog.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_analog.json deleted file mode 100644 index de285565e..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_analog.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_rail_raised_sw", - "textures": { - "rail": "create:block/controller_rail_analog" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_off.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_off.json deleted file mode 100644 index f4fbd0df1..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_off.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_rail_raised_sw", - "textures": { - "rail": "create:block/controller_rail_off" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_on.json b/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_on.json deleted file mode 100644 index cffc1646a..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_ascending_south_on.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_rail_raised_sw", - "textures": { - "rail": "create:block/controller_rail_on" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_north_south.json b/src/main/resources/assets/create/models/block/controller_rail/block_north_south.json new file mode 100644 index 000000000..bc7fc347c --- /dev/null +++ b/src/main/resources/assets/create/models/block/controller_rail/block_north_south.json @@ -0,0 +1,24 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "#rail", + "rail": "create:block/controller_rail_base", + "tint": "create:block/controller_rail_tint" + }, + "elements": [ + { "from": [ 0, 1, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" } + } + }, + { "from": [ 0, 1, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#tint", "tintindex": 0 }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#tint", "tintindex": 0 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_north_south_analog.json b/src/main/resources/assets/create/models/block/controller_rail/block_north_south_analog.json deleted file mode 100644 index ba0d436dc..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_north_south_analog.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/rail_flat", - "textures": { - "rail": "create:block/controller_rail_analog" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_north_south_off.json b/src/main/resources/assets/create/models/block/controller_rail/block_north_south_off.json deleted file mode 100644 index 280d61983..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_north_south_off.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/rail_flat", - "textures": { - "rail": "create:block/controller_rail_off" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controller_rail/block_north_south_on.json b/src/main/resources/assets/create/models/block/controller_rail/block_north_south_on.json deleted file mode 100644 index 749918039..000000000 --- a/src/main/resources/assets/create/models/block/controller_rail/block_north_south_on.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/rail_flat", - "textures": { - "rail": "create:block/controller_rail_on" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_fluid_pipe/block_flat.json b/src/main/resources/assets/create/models/block/encased_fluid_pipe/block_flat.json new file mode 100644 index 000000000..d084586f1 --- /dev/null +++ b/src/main/resources/assets/create/models/block/encased_fluid_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/copper_casing", + "particle": "create:block/copper_casing" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_fluid_pipe/block_open.json b/src/main/resources/assets/create/models/block/encased_fluid_pipe/block_open.json new file mode 100644 index 000000000..0d555e7e4 --- /dev/null +++ b/src/main/resources/assets/create/models/block/encased_fluid_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/encased_pipe", + "particle": "create:block/encased_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_shaft/andesite.json b/src/main/resources/assets/create/models/block/encased_shaft/andesite.json deleted file mode 100644 index b30279387..000000000 --- a/src/main/resources/assets/create/models/block/encased_shaft/andesite.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "create:block/encased_shaft/base", - "textures": { - "casing": "create:block/andesite_casing" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_shaft/base.json b/src/main/resources/assets/create/models/block/encased_shaft/block.json similarity index 58% rename from src/main/resources/assets/create/models/block/encased_shaft/base.json rename to src/main/resources/assets/create/models/block/encased_shaft/block.json index b280f78ab..6a0feeea1 100644 --- a/src/main/resources/assets/create/models/block/encased_shaft/base.json +++ b/src/main/resources/assets/create/models/block/encased_shaft/block.json @@ -2,8 +2,8 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "1": "create:block/gearbox", - "particle": "create:block/andesite_casing" + "1": "#opening", + "particle": "#casing" }, "elements": [ { @@ -11,10 +11,10 @@ "from": [0, 0, 0], "to": [16, 16, 2], "faces": { - "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"}, - "east": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#casing"}, + "north": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#casing"}, "south": {"uv": [0, 0, 16, 16], "texture": "#casing"}, - "west": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#casing"}, "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#casing"}, "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} } @@ -33,10 +33,10 @@ "from": [0, 0, 14], "to": [16, 16, 16], "faces": { - "north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#casing"}, - "east": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#casing"}, - "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"}, - "west": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#casing"}, + "north": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#casing"}, "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"}, "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} } @@ -46,8 +46,8 @@ "from": [0, 0, 2], "to": [2, 16, 14], "faces": { - "east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"}, - "west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#casing"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"}, "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} } @@ -57,8 +57,8 @@ "from": [14, 0, 2], "to": [16, 16, 14], "faces": { - "east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"}, - "west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#casing"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"}, "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} } diff --git a/src/main/resources/assets/create/models/block/encased_shaft/block_andesite.json b/src/main/resources/assets/create/models/block/encased_shaft/block_andesite.json new file mode 100644 index 000000000..450c8930a --- /dev/null +++ b/src/main/resources/assets/create/models/block/encased_shaft/block_andesite.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/block", + "textures": { + "casing": "create:block/andesite_casing", + "opening": "create:block/gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_shaft/block_brass.json b/src/main/resources/assets/create/models/block/encased_shaft/block_brass.json new file mode 100644 index 000000000..8d9795e98 --- /dev/null +++ b/src/main/resources/assets/create/models/block/encased_shaft/block_brass.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/block", + "textures": { + "casing": "create:block/brass_casing", + "opening": "create:block/brass_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_shaft/brass.json b/src/main/resources/assets/create/models/block/encased_shaft/brass.json deleted file mode 100644 index 2d2907d69..000000000 --- a/src/main/resources/assets/create/models/block/encased_shaft/brass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "create:block/encased_shaft/base", - "textures": { - "casing": "create:block/brass_casing" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_shaft/copper.json b/src/main/resources/assets/create/models/block/encased_shaft/copper.json deleted file mode 100644 index e9407b71c..000000000 --- a/src/main/resources/assets/create/models/block/encased_shaft/copper.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "create:block/encased_shaft/base", - "textures": { - "casing": "create:block/copper_casing" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_shaft/item.json b/src/main/resources/assets/create/models/block/encased_shaft/item.json index badac1e31..91d41a757 100644 --- a/src/main/resources/assets/create/models/block/encased_shaft/item.json +++ b/src/main/resources/assets/create/models/block/encased_shaft/item.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/andesite_casing", - "1": "create:block/gearbox", - "particle": "create:block/axis", + "0": "#casing", + "1": "#opening", + "particle": "#casing", "1_0": "create:block/axis", "1_1": "create:block/axis_top" }, diff --git a/src/main/resources/assets/create/models/block/encased_shaft/item_andesite.json b/src/main/resources/assets/create/models/block/encased_shaft/item_andesite.json new file mode 100644 index 000000000..ecee85bb5 --- /dev/null +++ b/src/main/resources/assets/create/models/block/encased_shaft/item_andesite.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/item", + "textures": { + "casing": "create:block/andesite_casing", + "opening": "create:block/gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/encased_shaft/item_brass.json b/src/main/resources/assets/create/models/block/encased_shaft/item_brass.json new file mode 100644 index 000000000..84c4f08bf --- /dev/null +++ b/src/main/resources/assets/create/models/block/encased_shaft/item_brass.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/item", + "textures": { + "casing": "create:block/brass_casing", + "opening": "create:block/brass_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/controller_rail_analog.png b/src/main/resources/assets/create/textures/block/controller_rail_analog.png deleted file mode 100644 index f114dde12..000000000 Binary files a/src/main/resources/assets/create/textures/block/controller_rail_analog.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/controller_rail_base.png b/src/main/resources/assets/create/textures/block/controller_rail_base.png new file mode 100644 index 000000000..c8f72e61c Binary files /dev/null and b/src/main/resources/assets/create/textures/block/controller_rail_base.png differ diff --git a/src/main/resources/assets/create/textures/block/controller_rail_item.png b/src/main/resources/assets/create/textures/block/controller_rail_item.png new file mode 100644 index 000000000..84603cb7a Binary files /dev/null and b/src/main/resources/assets/create/textures/block/controller_rail_item.png differ diff --git a/src/main/resources/assets/create/textures/block/controller_rail_off.png b/src/main/resources/assets/create/textures/block/controller_rail_off.png deleted file mode 100644 index 346d2fb67..000000000 Binary files a/src/main/resources/assets/create/textures/block/controller_rail_off.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/controller_rail_on.png b/src/main/resources/assets/create/textures/block/controller_rail_on.png deleted file mode 100644 index bd61741a5..000000000 Binary files a/src/main/resources/assets/create/textures/block/controller_rail_on.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/controller_rail_tint.png b/src/main/resources/assets/create/textures/block/controller_rail_tint.png new file mode 100644 index 000000000..ac6002c83 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/controller_rail_tint.png differ diff --git a/src/main/resources/assets/create/textures/block/copper_plating.png b/src/main/resources/assets/create/textures/block/copper_plating.png index ee40eba88..5c5fab81f 100644 Binary files a/src/main/resources/assets/create/textures/block/copper_plating.png and b/src/main/resources/assets/create/textures/block/copper_plating.png differ diff --git a/src/main/resources/assets/create/textures/block/encased_pipe.png b/src/main/resources/assets/create/textures/block/encased_pipe.png index 41205f1af..d9976cb79 100644 Binary files a/src/main/resources/assets/create/textures/block/encased_pipe.png and b/src/main/resources/assets/create/textures/block/encased_pipe.png differ diff --git a/src/main/resources/assets/create/textures/block/fluid_pipe.png b/src/main/resources/assets/create/textures/block/fluid_pipe.png index 6f96b5d30..1b0180e20 100644 Binary files a/src/main/resources/assets/create/textures/block/fluid_pipe.png and b/src/main/resources/assets/create/textures/block/fluid_pipe.png differ diff --git a/src/main/resources/assets/create/textures/block/fluid_valve.png b/src/main/resources/assets/create/textures/block/fluid_valve.png index d67ec1e00..a177120b7 100644 Binary files a/src/main/resources/assets/create/textures/block/fluid_valve.png and b/src/main/resources/assets/create/textures/block/fluid_valve.png differ diff --git a/src/main/resources/assets/create/textures/block/glass_fluid_pipe.png b/src/main/resources/assets/create/textures/block/glass_fluid_pipe.png index 0ad8834d5..af297ab74 100644 Binary files a/src/main/resources/assets/create/textures/block/glass_fluid_pipe.png and b/src/main/resources/assets/create/textures/block/glass_fluid_pipe.png differ diff --git a/src/main/resources/assets/create/textures/block/hose_pulley_magnet.png b/src/main/resources/assets/create/textures/block/hose_pulley_magnet.png index 34bed613c..acd3653de 100644 Binary files a/src/main/resources/assets/create/textures/block/hose_pulley_magnet.png and b/src/main/resources/assets/create/textures/block/hose_pulley_magnet.png differ diff --git a/src/main/resources/assets/create/textures/block/portable_fluid_interface.png b/src/main/resources/assets/create/textures/block/portable_fluid_interface.png index b0768413a..7912fd828 100644 Binary files a/src/main/resources/assets/create/textures/block/portable_fluid_interface.png and b/src/main/resources/assets/create/textures/block/portable_fluid_interface.png differ diff --git a/src/main/resources/assets/create/textures/block/pump.png b/src/main/resources/assets/create/textures/block/pump.png index 78ee40591..c76071121 100644 Binary files a/src/main/resources/assets/create/textures/block/pump.png and b/src/main/resources/assets/create/textures/block/pump.png differ diff --git a/src/main/resources/assets/create/textures/block/smart_pipe_1.png b/src/main/resources/assets/create/textures/block/smart_pipe_1.png index 35462ac59..339db4402 100644 Binary files a/src/main/resources/assets/create/textures/block/smart_pipe_1.png and b/src/main/resources/assets/create/textures/block/smart_pipe_1.png differ diff --git a/src/main/resources/assets/create/textures/block/smart_pipe_2.png b/src/main/resources/assets/create/textures/block/smart_pipe_2.png index c18a1e087..538a5fce4 100644 Binary files a/src/main/resources/assets/create/textures/block/smart_pipe_2.png and b/src/main/resources/assets/create/textures/block/smart_pipe_2.png differ diff --git a/src/main/resources/assets/create/textures/block/spout.png b/src/main/resources/assets/create/textures/block/spout.png index 9338f64b0..440c3cdfc 100644 Binary files a/src/main/resources/assets/create/textures/block/spout.png and b/src/main/resources/assets/create/textures/block/spout.png differ diff --git a/src/main/resources/assets/create/textures/fluid/chocolate_flow.png b/src/main/resources/assets/create/textures/fluid/chocolate_flow.png new file mode 100644 index 000000000..2df0830b0 Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/chocolate_flow.png differ diff --git a/src/main/resources/assets/create/textures/fluid/chocolate_flow.png.mcmeta b/src/main/resources/assets/create/textures/fluid/chocolate_flow.png.mcmeta new file mode 100644 index 000000000..0645f48c6 --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/chocolate_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/chocolate_still.png b/src/main/resources/assets/create/textures/fluid/chocolate_still.png new file mode 100644 index 000000000..ecaa79ed4 Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/chocolate_still.png differ diff --git a/src/main/resources/assets/create/textures/fluid/chocolate_still.png.mcmeta b/src/main/resources/assets/create/textures/fluid/chocolate_still.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/chocolate_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/honey_flow.png b/src/main/resources/assets/create/textures/fluid/honey_flow.png new file mode 100644 index 000000000..496733dfb Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/honey_flow.png differ diff --git a/src/main/resources/assets/create/textures/fluid/honey_flow.png.mcmeta b/src/main/resources/assets/create/textures/fluid/honey_flow.png.mcmeta new file mode 100644 index 000000000..0645f48c6 --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/honey_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/honey_still.png b/src/main/resources/assets/create/textures/fluid/honey_still.png new file mode 100644 index 000000000..bdc474d57 Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/honey_still.png differ diff --git a/src/main/resources/assets/create/textures/fluid/milk_flow.png b/src/main/resources/assets/create/textures/fluid/milk_flow.png new file mode 100644 index 000000000..c837d07b0 Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/milk_flow.png differ diff --git a/src/main/resources/assets/create/textures/fluid/milk_flow.png.mcmeta b/src/main/resources/assets/create/textures/fluid/milk_flow.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/milk_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/milk_still.png b/src/main/resources/assets/create/textures/fluid/milk_still.png new file mode 100644 index 000000000..c75de6097 Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/milk_still.png differ diff --git a/src/main/resources/assets/create/textures/fluid/milk_still.png.mcmeta b/src/main/resources/assets/create/textures/fluid/milk_still.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/milk_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/tea_flow.png b/src/main/resources/assets/create/textures/fluid/tea_flow.png new file mode 100644 index 000000000..b792b7eb3 Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/tea_flow.png differ diff --git a/src/main/resources/assets/create/textures/fluid/tea_flow.png.mcmeta b/src/main/resources/assets/create/textures/fluid/tea_flow.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/tea_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/tea_still.png b/src/main/resources/assets/create/textures/fluid/tea_still.png new file mode 100644 index 000000000..84b3618d6 Binary files /dev/null and b/src/main/resources/assets/create/textures/fluid/tea_still.png differ diff --git a/src/main/resources/assets/create/textures/fluid/tea_still.png.mcmeta b/src/main/resources/assets/create/textures/fluid/tea_still.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/tea_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/item/chocolate_bucket.png b/src/main/resources/assets/create/textures/item/chocolate_bucket.png new file mode 100644 index 000000000..db71755e7 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/chocolate_bucket.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_aluminum_ore.png b/src/main/resources/assets/create/textures/item/crushed_aluminum_ore.png new file mode 100644 index 000000000..ad1542d00 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_aluminum_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_lead_ore.png b/src/main/resources/assets/create/textures/item/crushed_lead_ore.png new file mode 100644 index 000000000..c105931d1 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_lead_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_nickel_ore.png b/src/main/resources/assets/create/textures/item/crushed_nickel_ore.png new file mode 100644 index 000000000..1ad1b0035 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_nickel_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_osmium_ore.png b/src/main/resources/assets/create/textures/item/crushed_osmium_ore.png new file mode 100644 index 000000000..2a7964d95 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_osmium_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_platinum_ore.png b/src/main/resources/assets/create/textures/item/crushed_platinum_ore.png new file mode 100644 index 000000000..4f4f45ae4 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_platinum_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_quicksilver_ore.png b/src/main/resources/assets/create/textures/item/crushed_quicksilver_ore.png new file mode 100644 index 000000000..902960cc6 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_quicksilver_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_silver_ore.png b/src/main/resources/assets/create/textures/item/crushed_silver_ore.png new file mode 100644 index 000000000..823c77960 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_silver_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_tin_ore.png b/src/main/resources/assets/create/textures/item/crushed_tin_ore.png new file mode 100644 index 000000000..f4bee57d2 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_tin_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_uranium_ore.png b/src/main/resources/assets/create/textures/item/crushed_uranium_ore.png new file mode 100644 index 000000000..691cb2af4 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/crushed_uranium_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/honey_bucket.png b/src/main/resources/assets/create/textures/item/honey_bucket.png new file mode 100644 index 000000000..1cbb0ea03 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/honey_bucket.png differ diff --git a/src/main/resources/data/create/recipes/compat/druidcraft/crushing/amber_ore.json b/src/main/resources/data/create/recipes/compat/druidcraft/crushing/amber_ore.json new file mode 100644 index 000000000..272894cf2 --- /dev/null +++ b/src/main/resources/data/create/recipes/compat/druidcraft/crushing/amber_ore.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "druidcraft" + } + ], + "type": "create:crushing", + "ingredients": [ + { + "item": "druidcraft:amber_ore" + } + ], + "results": [ + { + "item": "druidcraft:amber", + "count": 2 + }, + { + "item": "druidcraft:amber", + "count": 1, + "chance": 0.5 + }, + { + "item": "minecraft:cobblestone", + "count": 1, + "chance": 0.125 + } + ], + "processingTime": 300 +} diff --git a/src/main/resources/data/create/recipes/compat/druidcraft/crushing/fiery_glass_ore.json b/src/main/resources/data/create/recipes/compat/druidcraft/crushing/fiery_glass_ore.json new file mode 100644 index 000000000..375e7ff5b --- /dev/null +++ b/src/main/resources/data/create/recipes/compat/druidcraft/crushing/fiery_glass_ore.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "druidcraft" + } + ], + "type": "create:crushing", + "ingredients": [ + { + "item": "druidcraft:fiery_glass_ore" + } + ], + "results": [ + { + "item": "druidcraft:fiery_glass", + "count": 8 + }, + { + "item": "druidcraft:fiery_glass", + "count": 6, + "chance": 0.25 + }, + { + "item": "minecraft:cobblestone", + "count": 1, + "chance": 0.125 + } + ], + "processingTime": 300 +} diff --git a/src/main/resources/data/create/recipes/compat/druidcraft/crushing/moonstone_ore.json b/src/main/resources/data/create/recipes/compat/druidcraft/crushing/moonstone_ore.json new file mode 100644 index 000000000..fa05b1767 --- /dev/null +++ b/src/main/resources/data/create/recipes/compat/druidcraft/crushing/moonstone_ore.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "druidcraft" + } + ], + "type": "create:crushing", + "ingredients": [ + { + "item": "druidcraft:moonstone_ore" + } + ], + "results": [ + { + "item": "druidcraft:moonstone", + "count": 2 + }, + { + "item": "druidcraft:moonstone", + "count": 1, + "chance": 0.5 + }, + { + "item": "minecraft:cobblestone", + "count": 1, + "chance": 0.125 + } + ], + "processingTime": 300 +}