diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 51b585e1e..78088af1e 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -337,7 +337,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json 92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json 61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json -4439fc83a8c7370ab44b211a3fd48abde20a4728 assets/create/blockstates/radial_chassis.json +ab2a1bf8f37f1c64d00538867f4c3a97195bd3c4 assets/create/blockstates/radial_chassis.json 45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json 722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json @@ -402,16 +402,16 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json 7f40117f3618fe7b3e793f4095edf5a4c78a732f assets/create/lang/en_ud.json -b524d5a2ce8ed801128fb7e0f94546b2c2b08d5d assets/create/lang/en_us.json -068b778ba9170dbb5511e35523f2686cf5708c40 assets/create/lang/unfinished/de_de.json -a3cc8f8d8582d1c496135dba4c49afc8248ea2ae assets/create/lang/unfinished/fr_fr.json -9f55d7629760b7cd6297f14ad686d69f267eb1f3 assets/create/lang/unfinished/it_it.json -43d038757ad718b900730f3dc9d2464fee42dbaa assets/create/lang/unfinished/ja_jp.json -17e4fec1cafe0f4fbe660d76aa7f209d7c83341a assets/create/lang/unfinished/ko_kr.json -e31b7cb71bffd2e9e980ab59868ee1353e43df9f assets/create/lang/unfinished/nl_nl.json -c6ec72b0f1300595f9006051ab80bcdcd533a0c2 assets/create/lang/unfinished/pt_br.json -4e75e0ee7f34ac88eaf2f532be6c4037ba8de036 assets/create/lang/unfinished/ru_ru.json -cffcf52cb2be6c2be28a7d6d825eace652071921 assets/create/lang/unfinished/zh_cn.json +2374914313bffb7e0c8eca4ee952bf18158dc66b assets/create/lang/en_us.json +1d997e77464bb29350f3b3398bf02f0c0da988d7 assets/create/lang/unfinished/de_de.json +a21aaff4598a8449da43a37c27f6bc59c2034b7d assets/create/lang/unfinished/fr_fr.json +d02931a8a882aa2a052e2b426a4f8cf324207930 assets/create/lang/unfinished/it_it.json +27b19e1752900956d594bac0c12fe55c3e2dac59 assets/create/lang/unfinished/ja_jp.json +9b00cb37522adaead03daeef6c2ed404ac513c8c assets/create/lang/unfinished/ko_kr.json +af4ad46aad61bb9049ee31806eeefcf6bfe747d0 assets/create/lang/unfinished/nl_nl.json +f0ea00bac89f85c4d3e46b1b9800d9ef46bc4b98 assets/create/lang/unfinished/pt_br.json +cfc293f9ed53cac9a0c0e7da8ccac72877bcecd1 assets/create/lang/unfinished/ru_ru.json +ab1dd5d3f6fcbec7b622f5da263a1365374dbca1 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 @@ -1606,34 +1606,65 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json e76041b7ae829fdd7dc0524f6ca4d2f89fca51bb assets/create/sounds.json +f1127939c3757e0f2f7e5cd3cf2177dff43669a0 data/create/advancements/aesthetics.json 187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json 0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json +83c046bd200623933545c9e4326f782fb02c87fa data/create/advancements/arm_blaze_burner.json +b243e73ea26c5c8c8c57570d7d91a50d035653a4 data/create/advancements/arm_many_targets.json 6c16fbae3b4e74be38ca91441412a467ec21ffe2 data/create/advancements/basin.json 56e2a988aeb23421811f87cf7fe014985a70dc40 data/create/advancements/belt.json -20b23095108e544f9fbf4217448f01f9596af8ea data/create/advancements/brass.json +7a551856f64bb73eacf05e4d4d2e1a539aae2c5d data/create/advancements/belt_funnel.json +66f45a9e3058f5363cde280383b094440f268963 data/create/advancements/belt_funnel_kiss.json +057bb9f72827dd31126ed9db5aa8f63def66ef18 data/create/advancements/blaze_burner.json +1c887715949eb179553a62c6ae360741fc19eefb data/create/advancements/blaze_cake.json +5ba8eb22d8bcb3e90c7a8f84cf909d5f78b83eb9 data/create/advancements/brass.json de13a091928d5ab539d567411dd5c522cdcdd668 data/create/advancements/brass_casing.json -f65b1926e7ef62c15e51b80eda381897d60c64fa data/create/advancements/chromatic_compound.json +88adc39840259e79e46c4f33abb8eeaeb41dcdc8 data/create/advancements/chained_item_drain.json +13c848e1422dcbd0a35a559e362a3f54a12d5543 data/create/advancements/chocolate.json +0c84fe24f49330a7491016235afd8fad02b560fe data/create/advancements/chocolate_wheel.json +34739e1dcaddcb8e24fbd6d6d61d8d1d8a6d7413 data/create/advancements/chromatic_compound.json +9531baa67bb3aee5e2723b1ab0578ff87bcb42b0 data/create/advancements/chromatic_eob.json +f37551a788dfb3ff3d65db97a03c0420edf2c041 data/create/advancements/chute.json +0ffacd497176afdb26670783b65d383ac6236c19 data/create/advancements/clockwork_bearing.json 870ca791c418a1bc24f7b12284f5788c84911b92 data/create/advancements/compact.json d1015e059a2f2008a364b6d045a011a6d671f20d data/create/advancements/copper_casing.json -5e9fe0e03ba980482645e0d72acb342f46a8db8a data/create/advancements/copper_end.json -21e249ee5ad44ddd4813b9e18927eb16bc2e6afa data/create/advancements/crafter.json +8e2a12a26218a46665c46f350ef9c3418a901988 data/create/advancements/crafter.json d1fbc14303c7327e9fc02e505e7e434591b7f785 data/create/advancements/crushing_wheel.json +e9e1789de5cd5577a801a09d489a13f2c98779dc data/create/advancements/cuckoo.json 0761f3e12d587fec7a2ddf326b43969d262771e3 data/create/advancements/deforester.json -ff367aaf2b8942f2773149da314f2c44e6866fad data/create/advancements/deployer.json +2a96fad5b44b62f233c9af5b4a637faf32ce24af data/create/advancements/deployer.json eb8e7c13163923d2f88c999c6eb5afa4b7d2426e data/create/advancements/dual_extendo_grip.json 04eaf829696d735244c0e4798dd3bdeb26e13a32 data/create/advancements/electron_tube.json -d20a92e66a2247f0957021c24bcca0fcf7c16dc0 data/create/advancements/extendo_grip.json +36622ff02345cdc2404230c48de9ed42b1b9bd1d data/create/advancements/extendo_grip.json +4ce8ca38185f4a417d0c04f1555f2960a7f81697 data/create/advancements/fan.json +8102d6a679570beaccab792d1ea4e644dc216464 data/create/advancements/fan_lava.json +504f46d8388d8137a23f0fd13fd172b382fc7b2b data/create/advancements/fan_smoke.json +594a70568ff6e26545a9861c6fa2dad586ef8128 data/create/advancements/fan_water.json 7e639be7a98d1d99bc2f996d817477a426ca8b61 data/create/advancements/fist_bump.json +bc65c06352607d2e2f2abb6a66bc761011e1e720 data/create/advancements/flywheel.json +380087d7c540232bb0b4a47be339dd96c3d2725b data/create/advancements/glass_pipe.json 62f3610188f7dbd3900ab305edc2d06282705a38 data/create/advancements/goggles.json +ea0f8acb7c3692b569269e62927725d968a65251 data/create/advancements/hose_pulley.json +b4087ab7c125786ef9c775a564c1b10bdcbf66f5 data/create/advancements/infinite_chocolate.json +3e90e1be54d8730fe0d1204e694b8af88b697148 data/create/advancements/infinite_lava.json +e85adb38ef5257ce5dc7674ed2071e3d37c0547a data/create/advancements/infinite_water.json +9beb622c79e9f5ce2397c22222cac0faf272f388 data/create/advancements/integrated_circuit.json +316bed3d8985d0a371200967d7edd2936f1b9f94 data/create/advancements/integrated_circuit_eob.json +4d7cb129877d6cd68fda66159818e47ca44db078 data/create/advancements/item_drain.json b61d958815f1c2530c11c88c9081d5c794d7f807 data/create/advancements/its_alive.json 9d68fed495a37fc78184e43e432c3181da84d19c data/create/advancements/lava_wheel.json -f227208335a0fde44261f55bbd3a6d1b7fc9a74a data/create/advancements/mechanical_arm.json -6f5a6107e9a046b1a9248574902945c5b6a0c331 data/create/advancements/mechanical_drill.json -db8786e15e2ff39523705f4dd2ee4fb2e04d934b data/create/advancements/mechanical_saw.json -4f5d084734f5b7f80266d5afb224894598132a48 data/create/advancements/millstone.json +786b2bdb9e552160c01e5cb748b729b3ff7f6738 data/create/advancements/maxed_windmill.json +28686d74d162dd35b9bf91da2da654d3b79e6622 data/create/advancements/mechanical_arm.json +218568a4e416c5fa559c55a5c92aa4e93f88b837 data/create/advancements/mechanical_drill.json +6dc84ad2f0512495fe3f01f99d3c547849351e33 data/create/advancements/mechanical_saw.json +3bc549c06dc6d9568f92e1abc9654c9b4c33f035 data/create/advancements/millstone.json 2ed7434ba3e3cf7f35bfbd1638da1bc7bcb6f5f8 data/create/advancements/mixer.json -981a8cd56682e6c1264d68b33c08655351c91794 data/create/advancements/musical_arm.json +bee2c19d730936e34ee61fe04af13e2b031ecffa data/create/advancements/musical_arm.json +c9c4060ed207226b69fada2d61e01a97d7077eae data/create/advancements/nixie_tube.json +0b0a7f5b7f30ab75e4ca790c850b1eb50944a3aa data/create/advancements/overstress_flywheel.json 7f0847247a80ee930c23f551bce00bda74f81b0e data/create/advancements/overstressed.json +449eb8a9e6102bb342c96eb8b19e743eb6979bfa data/create/advancements/pipe_collision.json +4b621e5bb48fbb120853ec02c05c915d86bd6dd8 data/create/advancements/pipe_spill.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 @@ -1764,6 +1795,7 @@ ef79bf45e7aa43374d05a258ccb62a8243047fbb data/create/advancements/recipes/create bf36904e7e691a150379561fb6f945123ebd3978 data/create/advancements/recipes/create.base/crafting/kinetics/magenta_seat.json da90875fb845ee952ca2cb71f96b8de4f6420c21 data/create/advancements/recipes/create.base/crafting/kinetics/magenta_seat_from_other_seat.json 8ae8701f89b0881fbf9fcdf18b550e4bdf8d1483 data/create/advancements/recipes/create.base/crafting/kinetics/magenta_valve_handle_from_other_valve_handle.json +4f751a51ed674f2ffacccdbeaf4f2bd28f67fa6c data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_arm.json 3264bf9c4adeea21b250c65a78a7ef9c15fa9720 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_bearing.json d096f7343b42827c4832bf6c68e7d0135e21c8a9 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_crafter.json 8e8bb7aa8da72913a69bc4792cfc61f8cf827386 data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_drill.json @@ -1777,6 +1809,7 @@ f5ea782327d2353dd0e484b15536b7c19987a32b data/create/advancements/recipes/create 8fd1bd08e678262d95ac97ba2f18d631c2fd3796 data/create/advancements/recipes/create.base/crafting/kinetics/metal_bracket.json 5a107ee1772727b66414c8d143b77833f3a92f0f data/create/advancements/recipes/create.base/crafting/kinetics/millstone.json d38e8ff9dd33558227678d69393b57a360caa28e data/create/advancements/recipes/create.base/crafting/kinetics/mysterious_cuckoo_clock.json +0869995e6f406094ae949b2e1a24a3b230260ae1 data/create/advancements/recipes/create.base/crafting/kinetics/nixie_tube.json afeb2a152697b68bc953986d6886cbe527c6d2b5 data/create/advancements/recipes/create.base/crafting/kinetics/nozzle.json ccd49c33260333ba850d0b843c4913cb6371eee9 data/create/advancements/recipes/create.base/crafting/kinetics/orange_seat.json 0556cca38a52f819e7f786ffbf284d5ef3364d0a data/create/advancements/recipes/create.base/crafting/kinetics/orange_seat_from_other_seat.json @@ -2269,15 +2302,22 @@ ea72626febe23b0c8c6e03518a9486ce94c88b12 data/create/advancements/recipes/misc/s c8a2f6594042a3205e675349ccef97873a9e91b2 data/create/advancements/recipes/transportation/crafting/kinetics/furnace_minecart_from_contraption_cart.json e35aa0e435dc3640c78c4687dd7130fe62c55ea3 data/create/advancements/recipes/transportation/crafting/kinetics/minecart_from_contraption_cart.json e0b9edc5e59647e7dd99be17369b263dadf407d4 data/create/advancements/refined_radiance.json +67edd7bd314a85a1fddc2aa9f6b2207879aa5c3e data/create/advancements/reinforced.json fc12b590ab8f5ac901db21c67ba3850f157e1421 data/create/advancements/root.json -8529fc7919b6a3240ede2bb8043906bb72fb7f9e data/create/advancements/shadow_end.json c1f162e773518f6b1481221e3e63f9ba33fed647 data/create/advancements/shadow_steel.json 6c1a67e193a4c5af356b31a1d5b5e9d3faeca87e data/create/advancements/shifting_gears.json -73871bc679345dba40f7f2db35ca2250e0c85ac4 data/create/advancements/speedometer.json -96464f5d25bd8326c339daf31fee8eba3518862b data/create/advancements/stressometer.json +a7d278d8ce8e2769c0b9c89f547d4775eabe671b data/create/advancements/speed_controller.json +a203d509a6038f0bad707e232a425388e62e1ae1 data/create/advancements/speedometer.json +f7bb8f08a08e22ec1e6bb098d65d06233e8fbcec data/create/advancements/splitter_tunnel.json +b69d174d7a5e9eab8ca013b66bc9d02244d7f9a3 data/create/advancements/spout.json +15f73da913c54cd2f945e4d7402fb8d587cbaa9f data/create/advancements/spout_potion.json +0efdaf483d84791044f085f79197b6bab3e15872 data/create/advancements/stressometer.json +1aceaa6e47709aa03f3d4f606fa5dcaacc899835 data/create/advancements/tunnel.json 42461143b64112fdf6f123b9fcd44b5457df3915 data/create/advancements/upgraded_zapper.json +4fef92dce84fa1a075db31fb33081f5fb8ec7e9e data/create/advancements/upward_chute.json fe37896bb804d2be9b8abf3744c5b9b7bc1c086e data/create/advancements/wand_of_symmetry.json 2c278dc6e6e4c12c0cfce22b5192844586a2d5c1 data/create/advancements/water_wheel.json +d6b94fd499cb4fb0ae587b0e9e7088832f67fe01 data/create/advancements/windmill.json 4513d0c4dd40c948028a3fc8e6f3b4d0356c0a90 data/create/advancements/wrench.json 33c1224f4f6a7bb0a3439eb0f8b8af9341b62574 data/create/advancements/zapper.json 054392b614e410c6d1b37c546b4bfd36f50aec4a data/create/loot_tables/blocks/acacia_window.json @@ -2781,10 +2821,10 @@ dc62d932f6a3723e050cb043fea233efd685f775 data/create/recipes/crafting/kinetics/c ad1c3ce1e98b8483512bdd754f2e5930c7b3ae85 data/create/recipes/crafting/kinetics/deployer.json be86df1c4d7af14bc5dcfe044d07c03b6c6d2a75 data/create/recipes/crafting/kinetics/depot.json 9c5d30f25a130d591b924c50e5c83e3b787c2758 data/create/recipes/crafting/kinetics/empty_blaze_burner.json -f5386d34e6d041f637575d461df6ca5d43b4f464 data/create/recipes/crafting/kinetics/encased_chain_drive.json +73cd487885be8d5190f24319b4a927b8e34c21cd data/create/recipes/crafting/kinetics/encased_chain_drive.json b07496e4ba5bc56a2c5a395b612c68ba21328867 data/create/recipes/crafting/kinetics/encased_fan.json 0dd0cc11eaa6789fc612af3231ed247893852178 data/create/recipes/crafting/kinetics/filter.json -30ae02825e54c0cc07be8f4decf9d432e7d61ba2 data/create/recipes/crafting/kinetics/fluid_pipe.json +f4ae37f736d06ccda5fbba7831a7a174ec916a05 data/create/recipes/crafting/kinetics/fluid_pipe.json 86ad4d2820e8e2b01de8d977af7796119dfb7430 data/create/recipes/crafting/kinetics/fluid_tank.json 3dad2a849796df268cd3a06ed37376f2cc529957 data/create/recipes/crafting/kinetics/fluid_valve.json 84153bd478c0e63a04c77579d6595043f604b7ab data/create/recipes/crafting/kinetics/furnace_minecart_from_contraption_cart.json @@ -2816,6 +2856,7 @@ d214afbd44e580f5fd1ebb4f16f07ffe34d87cba data/create/recipes/crafting/kinetics/l d7d96071874a87edf7bbdcf7a462f95a130d2991 data/create/recipes/crafting/kinetics/magenta_seat.json 5836881feef8fa8b18e4cceb9c3a9a2748b8cf3a data/create/recipes/crafting/kinetics/magenta_seat_from_other_seat.json 2ea43d6527dcb734578067ff442ec20395b0093b data/create/recipes/crafting/kinetics/magenta_valve_handle_from_other_valve_handle.json +f3f3d484de6411652472db0ca52c612c23f81278 data/create/recipes/crafting/kinetics/mechanical_arm.json 946389078db31de69a7dc4fec5feebddf48dcfc3 data/create/recipes/crafting/kinetics/mechanical_bearing.json a5c7aad0d86cbb66b8688d295e62547da4a2ce0f data/create/recipes/crafting/kinetics/mechanical_crafter.json 4372830100d39c4a89ff397a62b01940e1a28cb3 data/create/recipes/crafting/kinetics/mechanical_drill.json @@ -2830,6 +2871,7 @@ ce28bcb47a379976d4a1bdfcfd1cdd0bae0bcdae data/create/recipes/crafting/kinetics/m 58d9046e61eae40958181388186a35dc07cc9a59 data/create/recipes/crafting/kinetics/millstone.json 13fa2887d3c988973c9222ce5e2e3dd0d9bd8374 data/create/recipes/crafting/kinetics/minecart_from_contraption_cart.json be4c7fdb0ba1e9ee6d3dcf200dc2718ad83ec8fb data/create/recipes/crafting/kinetics/mysterious_cuckoo_clock.json +99935fbbb83fe102454096a2dcafe09d572d9ad3 data/create/recipes/crafting/kinetics/nixie_tube.json 6b1b626394d7269a6861a836992ccdb344b6e7dd data/create/recipes/crafting/kinetics/nozzle.json 9c41cd91a0716d591ed6d1b5128ec731b418850f data/create/recipes/crafting/kinetics/orange_seat.json a8da214f0a521be1204b669f118348a142bc9a3d data/create/recipes/crafting/kinetics/orange_seat_from_other_seat.json @@ -2951,7 +2993,7 @@ dd4b9e88a723f6c3f2456f36ef2354cd86d85433 data/create/recipes/crushing/obsidian.j 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 +8d2e8f0f24bebc920430de9f187536e42c952608 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 @@ -3099,7 +3141,7 @@ d2ab9ce73636773165564506580f2ec13bd1fc50 data/create/recipes/fancy_weathered_lim 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 133e79f78a7f2c2f63ac7695d2be57d56e8955f4 data/create/recipes/filling/blaze_cake.json -790a63246268173350530d61ac824eff093724b2 data/create/recipes/filling/glowstone.json +5bec6c2068a3c1005810d18bd45ce916389b5423 data/create/recipes/filling/glowstone.json 5eb6227ccb6fa940b662d3ec029c3bd61fe61c8d data/create/recipes/filling/grass_block.json 244f27eadefefbc966ac384ac087c57d19484321 data/create/recipes/filling/gunpowder.json c8ca74a6cd071308a1750a2ad1153e79422598a0 data/create/recipes/filling/honey_bottle.json @@ -3173,8 +3215,6 @@ c2e15ac0c9109bad3face6d13efc32d7116b4c25 data/create/recipes/limestone_pillar_fr de7fea84434753873dfa2b929d9b5f5f86ac6a5c data/create/recipes/mechanical_crafting/flywheel.json e491fd8a8873308270f9dc2a57ac8f2c70431dcc data/create/recipes/mechanical_crafting/furnace_engine.json ce17f8ab6e051f45a12e55f1642ad1b8a0f8510f data/create/recipes/mechanical_crafting/integrated_circuit.json -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 @@ -3571,6 +3611,7 @@ fb9bfb4c84ed9cf2da8c4b2fbc4cd4d9f37d3016 data/forge/tags/items/plates/gold.json ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/items/storage_blocks/brass.json f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/copper.json 7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/items/storage_blocks/zinc.json +1376cd1f92903a1c4e1422719b1aa102438a216e data/minecraft/advancements/createchromatic_age.json 508730d3822c54d355329bf6a33d58071653afad data/minecraft/tags/blocks/beacon_base_blocks.json 69f596fcb065e26b02ce246760432b5174191b76 data/minecraft/tags/blocks/impermeable.json 378b01e288301e0835d3d25167889077a2070780 data/minecraft/tags/blocks/rails.json diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 30683b397..cb1815749 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -499,8 +499,28 @@ "advancement.create.shifting_gears.desc": "Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "Overstressed", "advancement.create.overstressed.desc": "Experience the limits of stress firsthand.", - "advancement.create.belt": "Convey It All", + "advancement.create.belt": "Kelp Drive", "advancement.create.belt.desc": "Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "Take cover!", + "advancement.create.tunnel.desc": "Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "Tumbling down", + "advancement.create.chute.desc": "Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "Aerial Abduction", + "advancement.create.upward_chute.desc": "Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "Make two belt mounted funnels kiss.", + "advancement.create.fan": "Mechanical Airbender", + "advancement.create.fan.desc": "Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "Geothermal Space Heater", + "advancement.create.fan_lava.desc": "Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "Wacky Washing", + "advancement.create.fan_water.desc": "Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "Mechanical Bellows", + "advancement.create.fan_smoke.desc": "Get caught in a stream of air that smokes items.", "advancement.create.wrench": "Configure Conveniently", "advancement.create.wrench.desc": "Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "Stress-O-Vision", @@ -509,12 +529,24 @@ "advancement.create.speedometer.desc": "Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "But How Stressed Exactly?", "advancement.create.stressometer.desc": "Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "Boom, Reinforced!", + "advancement.create.reinforced.desc": "Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "Harnessing Hydraulics", "advancement.create.water_wheel.desc": "Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "Tasteful power", + "advancement.create.chocolate_wheel.desc": "Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "Magma Wheel", "advancement.create.lava_wheel.desc": "This shouldn't have worked.", + "advancement.create.cuckoo": "Is it time?", + "advancement.create.cuckoo.desc": "Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "Pocket Crusher", "advancement.create.millstone.desc": "Place and power a Millstone.", + "advancement.create.windmill": "A mild Breeze", + "advancement.create.windmill.desc": "Assemble a windmill.", + "advancement.create.maxed_windmill": "A strong breeze", + "advancement.create.maxed_windmill.desc": "Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "The Andesite Age", "advancement.create.andesite_casing.desc": "Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "Stationary Breakers", @@ -531,34 +563,78 @@ "advancement.create.basin.desc": "Place a Basin and try throwing items into it.", "advancement.create.mixer": "Mixin' It Up", "advancement.create.mixer.desc": "Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "A living Fireplace", + "advancement.create.blaze_burner.desc": "Obtain a Blaze Burner.", "advancement.create.compact": "Automated Compacting", "advancement.create.compact.desc": "Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "Work in Progress", - "advancement.create.brass": "An Actual Alloy", + "advancement.create.brass": "Actual Alloys", "advancement.create.brass.desc": "Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "The Brass Age", "advancement.create.brass_casing.desc": "Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "The Copper Age", "advancement.create.copper_casing.desc": "Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "Sploosh", + "advancement.create.spout.desc": "Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "Global Brewery", + "advancement.create.spout_potion.desc": "Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "A world of Imagination", + "advancement.create.chocolate.desc": "Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "Tumble Draining", + "advancement.create.item_drain.desc": "Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "Let it roll!", + "advancement.create.chained_item_drain.desc": "Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "Flow Spy", + "advancement.create.glass_pipe.desc": "Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "Never cross the Streams!", + "advancement.create.pipe_collision.desc": "Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "There's a leak!", + "advancement.create.pipe_spill.desc": "Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "Industrial Spillage", + "advancement.create.hose_pulley.desc": "Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "Draining the Ocean", + "advancement.create.infinite_water.desc": "Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "Automated Assembly", "advancement.create.crafter.desc": "Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "Signs of Style", + "advancement.create.nixie_tube.desc": "Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "Poke, Place, and Attack", "advancement.create.deployer.desc": "Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "Engineers hate him!", + "advancement.create.speed_controller.desc": "Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "Heart of the Factory", + "advancement.create.flywheel.desc": "Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "High levels of Stress", + "advancement.create.overstress_flywheel.desc": "Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "Complex Calculation", + "advancement.create.integrated_circuit.desc": "Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "Busy Hands!", "advancement.create.mechanical_arm.desc": "Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "Pound It, Bro!", "advancement.create.fist_bump.desc": "Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "A Pair of Giants", "advancement.create.crushing_wheel.desc": "Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "Sugar Rush", + "advancement.create.blaze_cake.desc": "Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "Bipolar Minerals", "advancement.create.chromatic_compound.desc": "Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "Void Returner", "advancement.create.shadow_steel.desc": "Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "Bright and Inspiring", "advancement.create.refined_radiance.desc": "Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "The Chromatic Age", + "advancement.create.chromatic_age.desc": "Create casing blocks of the light and dark.", "advancement.create.zapper": "Building With Style", "advancement.create.zapper.desc": "Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "Radiant Overdrive", 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 1a8e6615b..e203e3493 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: 1135", + "_": "Missing Localizations: 1211", "_": "->------------------------] Game Elements [------------------------<-", @@ -500,8 +500,28 @@ "advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "UNLOCALIZED: Overstressed", "advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.", - "advancement.create.belt": "UNLOCALIZED: Convey It All", + "advancement.create.belt": "UNLOCALIZED: Kelp Drive", "advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "UNLOCALIZED: Configure Conveniently", "advancement.create.wrench.desc": "UNLOCALIZED: Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "UNLOCALIZED: Stress-O-Vision", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "UNLOCALIZED: Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "UNLOCALIZED: But How Stressed Exactly?", "advancement.create.stressometer.desc": "UNLOCALIZED: Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "UNLOCALIZED: Harnessing Hydraulics", "advancement.create.water_wheel.desc": "UNLOCALIZED: Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "UNLOCALIZED: Magma Wheel", "advancement.create.lava_wheel.desc": "UNLOCALIZED: This shouldn't have worked.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "UNLOCALIZED: Pocket Crusher", "advancement.create.millstone.desc": "UNLOCALIZED: Place and power a Millstone.", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age", "advancement.create.andesite_casing.desc": "UNLOCALIZED: Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "UNLOCALIZED: Stationary Breakers", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "UNLOCALIZED: Place a Basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' It Up", "advancement.create.mixer.desc": "UNLOCALIZED: Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "UNLOCALIZED: Automated Compacting", "advancement.create.compact.desc": "UNLOCALIZED: Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "UNLOCALIZED: The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "UNLOCALIZED: Work in Progress", - "advancement.create.brass": "UNLOCALIZED: An Actual Alloy", + "advancement.create.brass": "UNLOCALIZED: Actual Alloys", "advancement.create.brass.desc": "UNLOCALIZED: Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "UNLOCALIZED: The Brass Age", "advancement.create.brass_casing.desc": "UNLOCALIZED: Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "UNLOCALIZED: The Copper Age", "advancement.create.copper_casing.desc": "UNLOCALIZED: Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "UNLOCALIZED: Automated Assembly", "advancement.create.crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "UNLOCALIZED: Poke, Place, and Attack", "advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!", "advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants", "advancement.create.crushing_wheel.desc": "UNLOCALIZED: Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "UNLOCALIZED: Bipolar Minerals", "advancement.create.chromatic_compound.desc": "UNLOCALIZED: Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "UNLOCALIZED: Void Returner", "advancement.create.shadow_steel.desc": "UNLOCALIZED: Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "UNLOCALIZED: Bright and Inspiring", "advancement.create.refined_radiance.desc": "UNLOCALIZED: Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "UNLOCALIZED: Building With Style", "advancement.create.zapper.desc": "UNLOCALIZED: Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "UNLOCALIZED: Radiant Overdrive", 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 838565083..d63235fc5 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: 786", + "_": "Missing Localizations: 862", "_": "->------------------------] Game Elements [------------------------<-", @@ -500,8 +500,28 @@ "advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "UNLOCALIZED: Overstressed", "advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.", - "advancement.create.belt": "UNLOCALIZED: Convey It All", + "advancement.create.belt": "UNLOCALIZED: Kelp Drive", "advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "UNLOCALIZED: Configure Conveniently", "advancement.create.wrench.desc": "UNLOCALIZED: Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "UNLOCALIZED: Stress-O-Vision", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "UNLOCALIZED: Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "UNLOCALIZED: But How Stressed Exactly?", "advancement.create.stressometer.desc": "UNLOCALIZED: Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "UNLOCALIZED: Harnessing Hydraulics", "advancement.create.water_wheel.desc": "UNLOCALIZED: Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "UNLOCALIZED: Magma Wheel", "advancement.create.lava_wheel.desc": "UNLOCALIZED: This shouldn't have worked.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "UNLOCALIZED: Pocket Crusher", "advancement.create.millstone.desc": "UNLOCALIZED: Place and power a Millstone.", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age", "advancement.create.andesite_casing.desc": "UNLOCALIZED: Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "UNLOCALIZED: Stationary Breakers", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "UNLOCALIZED: Place a Basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' It Up", "advancement.create.mixer.desc": "UNLOCALIZED: Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "UNLOCALIZED: Automated Compacting", "advancement.create.compact.desc": "UNLOCALIZED: Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "UNLOCALIZED: The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "UNLOCALIZED: Work in Progress", - "advancement.create.brass": "UNLOCALIZED: An Actual Alloy", + "advancement.create.brass": "UNLOCALIZED: Actual Alloys", "advancement.create.brass.desc": "UNLOCALIZED: Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "UNLOCALIZED: The Brass Age", "advancement.create.brass_casing.desc": "UNLOCALIZED: Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "UNLOCALIZED: The Copper Age", "advancement.create.copper_casing.desc": "UNLOCALIZED: Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "UNLOCALIZED: Automated Assembly", "advancement.create.crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "UNLOCALIZED: Poke, Place, and Attack", "advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!", "advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants", "advancement.create.crushing_wheel.desc": "UNLOCALIZED: Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "UNLOCALIZED: Bipolar Minerals", "advancement.create.chromatic_compound.desc": "UNLOCALIZED: Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "UNLOCALIZED: Void Returner", "advancement.create.shadow_steel.desc": "UNLOCALIZED: Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "UNLOCALIZED: Bright and Inspiring", "advancement.create.refined_radiance.desc": "UNLOCALIZED: Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "UNLOCALIZED: Building With Style", "advancement.create.zapper.desc": "UNLOCALIZED: Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "UNLOCALIZED: Radiant Overdrive", 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 78594721d..94354ce70 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: 770", + "_": "Missing Localizations: 846", "_": "->------------------------] Game Elements [------------------------<-", @@ -500,8 +500,28 @@ "advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "UNLOCALIZED: Overstressed", "advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.", - "advancement.create.belt": "UNLOCALIZED: Convey It All", + "advancement.create.belt": "UNLOCALIZED: Kelp Drive", "advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "UNLOCALIZED: Configure Conveniently", "advancement.create.wrench.desc": "UNLOCALIZED: Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "UNLOCALIZED: Stress-O-Vision", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "UNLOCALIZED: Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "UNLOCALIZED: But How Stressed Exactly?", "advancement.create.stressometer.desc": "UNLOCALIZED: Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "UNLOCALIZED: Harnessing Hydraulics", "advancement.create.water_wheel.desc": "UNLOCALIZED: Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "UNLOCALIZED: Magma Wheel", "advancement.create.lava_wheel.desc": "UNLOCALIZED: This shouldn't have worked.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "UNLOCALIZED: Pocket Crusher", "advancement.create.millstone.desc": "UNLOCALIZED: Place and power a Millstone.", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age", "advancement.create.andesite_casing.desc": "UNLOCALIZED: Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "UNLOCALIZED: Stationary Breakers", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "UNLOCALIZED: Place a Basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' It Up", "advancement.create.mixer.desc": "UNLOCALIZED: Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "UNLOCALIZED: Automated Compacting", "advancement.create.compact.desc": "UNLOCALIZED: Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "UNLOCALIZED: The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "UNLOCALIZED: Work in Progress", - "advancement.create.brass": "UNLOCALIZED: An Actual Alloy", + "advancement.create.brass": "UNLOCALIZED: Actual Alloys", "advancement.create.brass.desc": "UNLOCALIZED: Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "UNLOCALIZED: The Brass Age", "advancement.create.brass_casing.desc": "UNLOCALIZED: Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "UNLOCALIZED: The Copper Age", "advancement.create.copper_casing.desc": "UNLOCALIZED: Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "UNLOCALIZED: Automated Assembly", "advancement.create.crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "UNLOCALIZED: Poke, Place, and Attack", "advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!", "advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants", "advancement.create.crushing_wheel.desc": "UNLOCALIZED: Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "UNLOCALIZED: Bipolar Minerals", "advancement.create.chromatic_compound.desc": "UNLOCALIZED: Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "UNLOCALIZED: Void Returner", "advancement.create.shadow_steel.desc": "UNLOCALIZED: Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "UNLOCALIZED: Bright and Inspiring", "advancement.create.refined_radiance.desc": "UNLOCALIZED: Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "UNLOCALIZED: Building With Style", "advancement.create.zapper.desc": "UNLOCALIZED: Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "UNLOCALIZED: Radiant Overdrive", 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 563058a29..8453aadca 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: 769", + "_": "Missing Localizations: 845", "_": "->------------------------] Game Elements [------------------------<-", @@ -500,8 +500,28 @@ "advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "UNLOCALIZED: Overstressed", "advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.", - "advancement.create.belt": "UNLOCALIZED: Convey It All", + "advancement.create.belt": "UNLOCALIZED: Kelp Drive", "advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "UNLOCALIZED: Configure Conveniently", "advancement.create.wrench.desc": "UNLOCALIZED: Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "UNLOCALIZED: Stress-O-Vision", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "UNLOCALIZED: Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "UNLOCALIZED: But How Stressed Exactly?", "advancement.create.stressometer.desc": "UNLOCALIZED: Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "UNLOCALIZED: Harnessing Hydraulics", "advancement.create.water_wheel.desc": "UNLOCALIZED: Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "UNLOCALIZED: Magma Wheel", "advancement.create.lava_wheel.desc": "UNLOCALIZED: This shouldn't have worked.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "UNLOCALIZED: Pocket Crusher", "advancement.create.millstone.desc": "UNLOCALIZED: Place and power a Millstone.", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age", "advancement.create.andesite_casing.desc": "UNLOCALIZED: Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "UNLOCALIZED: Stationary Breakers", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "UNLOCALIZED: Place a Basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' It Up", "advancement.create.mixer.desc": "UNLOCALIZED: Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "UNLOCALIZED: Automated Compacting", "advancement.create.compact.desc": "UNLOCALIZED: Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "UNLOCALIZED: The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "UNLOCALIZED: Work in Progress", - "advancement.create.brass": "UNLOCALIZED: An Actual Alloy", + "advancement.create.brass": "UNLOCALIZED: Actual Alloys", "advancement.create.brass.desc": "UNLOCALIZED: Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "UNLOCALIZED: The Brass Age", "advancement.create.brass_casing.desc": "UNLOCALIZED: Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "UNLOCALIZED: The Copper Age", "advancement.create.copper_casing.desc": "UNLOCALIZED: Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "UNLOCALIZED: Automated Assembly", "advancement.create.crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "UNLOCALIZED: Poke, Place, and Attack", "advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!", "advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants", "advancement.create.crushing_wheel.desc": "UNLOCALIZED: Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "UNLOCALIZED: Bipolar Minerals", "advancement.create.chromatic_compound.desc": "UNLOCALIZED: Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "UNLOCALIZED: Void Returner", "advancement.create.shadow_steel.desc": "UNLOCALIZED: Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "UNLOCALIZED: Bright and Inspiring", "advancement.create.refined_radiance.desc": "UNLOCALIZED: Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "UNLOCALIZED: Building With Style", "advancement.create.zapper.desc": "UNLOCALIZED: Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "UNLOCALIZED: Radiant Overdrive", 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 7f98bc146..ac25b06a2 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: 770", + "_": "Missing Localizations: 846", "_": "->------------------------] Game Elements [------------------------<-", @@ -500,8 +500,28 @@ "advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "UNLOCALIZED: Overstressed", "advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.", - "advancement.create.belt": "UNLOCALIZED: Convey It All", + "advancement.create.belt": "UNLOCALIZED: Kelp Drive", "advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "UNLOCALIZED: Configure Conveniently", "advancement.create.wrench.desc": "UNLOCALIZED: Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "UNLOCALIZED: Stress-O-Vision", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "UNLOCALIZED: Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "UNLOCALIZED: But How Stressed Exactly?", "advancement.create.stressometer.desc": "UNLOCALIZED: Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "UNLOCALIZED: Harnessing Hydraulics", "advancement.create.water_wheel.desc": "UNLOCALIZED: Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "UNLOCALIZED: Magma Wheel", "advancement.create.lava_wheel.desc": "UNLOCALIZED: This shouldn't have worked.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "UNLOCALIZED: Pocket Crusher", "advancement.create.millstone.desc": "UNLOCALIZED: Place and power a Millstone.", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age", "advancement.create.andesite_casing.desc": "UNLOCALIZED: Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "UNLOCALIZED: Stationary Breakers", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "UNLOCALIZED: Place a Basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' It Up", "advancement.create.mixer.desc": "UNLOCALIZED: Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "UNLOCALIZED: Automated Compacting", "advancement.create.compact.desc": "UNLOCALIZED: Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "UNLOCALIZED: The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "UNLOCALIZED: Work in Progress", - "advancement.create.brass": "UNLOCALIZED: An Actual Alloy", + "advancement.create.brass": "UNLOCALIZED: Actual Alloys", "advancement.create.brass.desc": "UNLOCALIZED: Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "UNLOCALIZED: The Brass Age", "advancement.create.brass_casing.desc": "UNLOCALIZED: Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "UNLOCALIZED: The Copper Age", "advancement.create.copper_casing.desc": "UNLOCALIZED: Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "UNLOCALIZED: Automated Assembly", "advancement.create.crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "UNLOCALIZED: Poke, Place, and Attack", "advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!", "advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants", "advancement.create.crushing_wheel.desc": "UNLOCALIZED: Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "UNLOCALIZED: Bipolar Minerals", "advancement.create.chromatic_compound.desc": "UNLOCALIZED: Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "UNLOCALIZED: Void Returner", "advancement.create.shadow_steel.desc": "UNLOCALIZED: Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "UNLOCALIZED: Bright and Inspiring", "advancement.create.refined_radiance.desc": "UNLOCALIZED: Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "UNLOCALIZED: Building With Style", "advancement.create.zapper.desc": "UNLOCALIZED: Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "UNLOCALIZED: Radiant Overdrive", 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 052bdb9d5..859ccc9ec 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: 1076", + "_": "Missing Localizations: 1152", "_": "->------------------------] Game Elements [------------------------<-", @@ -500,8 +500,28 @@ "advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "UNLOCALIZED: Overstressed", "advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.", - "advancement.create.belt": "UNLOCALIZED: Convey It All", + "advancement.create.belt": "UNLOCALIZED: Kelp Drive", "advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "UNLOCALIZED: Configure Conveniently", "advancement.create.wrench.desc": "UNLOCALIZED: Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "UNLOCALIZED: Stress-O-Vision", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "UNLOCALIZED: Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "UNLOCALIZED: But How Stressed Exactly?", "advancement.create.stressometer.desc": "UNLOCALIZED: Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "UNLOCALIZED: Harnessing Hydraulics", "advancement.create.water_wheel.desc": "UNLOCALIZED: Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "UNLOCALIZED: Magma Wheel", "advancement.create.lava_wheel.desc": "UNLOCALIZED: This shouldn't have worked.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "UNLOCALIZED: Pocket Crusher", "advancement.create.millstone.desc": "UNLOCALIZED: Place and power a Millstone.", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age", "advancement.create.andesite_casing.desc": "UNLOCALIZED: Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "UNLOCALIZED: Stationary Breakers", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "UNLOCALIZED: Place a Basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' It Up", "advancement.create.mixer.desc": "UNLOCALIZED: Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "UNLOCALIZED: Automated Compacting", "advancement.create.compact.desc": "UNLOCALIZED: Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "UNLOCALIZED: The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "UNLOCALIZED: Work in Progress", - "advancement.create.brass": "UNLOCALIZED: An Actual Alloy", + "advancement.create.brass": "UNLOCALIZED: Actual Alloys", "advancement.create.brass.desc": "UNLOCALIZED: Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "UNLOCALIZED: The Brass Age", "advancement.create.brass_casing.desc": "UNLOCALIZED: Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "UNLOCALIZED: The Copper Age", "advancement.create.copper_casing.desc": "UNLOCALIZED: Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "UNLOCALIZED: Automated Assembly", "advancement.create.crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "UNLOCALIZED: Poke, Place, and Attack", "advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!", "advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants", "advancement.create.crushing_wheel.desc": "UNLOCALIZED: Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "UNLOCALIZED: Bipolar Minerals", "advancement.create.chromatic_compound.desc": "UNLOCALIZED: Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "UNLOCALIZED: Void Returner", "advancement.create.shadow_steel.desc": "UNLOCALIZED: Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "UNLOCALIZED: Bright and Inspiring", "advancement.create.refined_radiance.desc": "UNLOCALIZED: Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "UNLOCALIZED: Building With Style", "advancement.create.zapper.desc": "UNLOCALIZED: Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "UNLOCALIZED: Radiant Overdrive", 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 7d42db853..e9123d9d0 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: 1142", + "_": "Missing Localizations: 1218", "_": "->------------------------] Game Elements [------------------------<-", @@ -500,8 +500,28 @@ "advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "UNLOCALIZED: Overstressed", "advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.", - "advancement.create.belt": "UNLOCALIZED: Convey It All", + "advancement.create.belt": "UNLOCALIZED: Kelp Drive", "advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "UNLOCALIZED: Configure Conveniently", "advancement.create.wrench.desc": "UNLOCALIZED: Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "UNLOCALIZED: Stress-O-Vision", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "UNLOCALIZED: Place and power a Speedometer. Look at it through your goggles to read its exact value.", "advancement.create.stressometer": "UNLOCALIZED: But How Stressed Exactly?", "advancement.create.stressometer.desc": "UNLOCALIZED: Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "UNLOCALIZED: Harnessing Hydraulics", "advancement.create.water_wheel.desc": "UNLOCALIZED: Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "UNLOCALIZED: Magma Wheel", "advancement.create.lava_wheel.desc": "UNLOCALIZED: This shouldn't have worked.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "UNLOCALIZED: Pocket Crusher", "advancement.create.millstone.desc": "UNLOCALIZED: Place and power a Millstone.", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age", "advancement.create.andesite_casing.desc": "UNLOCALIZED: Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "UNLOCALIZED: Stationary Breakers", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "UNLOCALIZED: Place a Basin and try throwing items into it.", "advancement.create.mixer": "UNLOCALIZED: Mixin' It Up", "advancement.create.mixer.desc": "UNLOCALIZED: Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "UNLOCALIZED: Automated Compacting", "advancement.create.compact.desc": "UNLOCALIZED: Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "UNLOCALIZED: The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "UNLOCALIZED: Work in Progress", - "advancement.create.brass": "UNLOCALIZED: An Actual Alloy", + "advancement.create.brass": "UNLOCALIZED: Actual Alloys", "advancement.create.brass.desc": "UNLOCALIZED: Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "UNLOCALIZED: The Brass Age", "advancement.create.brass_casing.desc": "UNLOCALIZED: Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "UNLOCALIZED: The Copper Age", "advancement.create.copper_casing.desc": "UNLOCALIZED: Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "UNLOCALIZED: Automated Assembly", "advancement.create.crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "UNLOCALIZED: Poke, Place, and Attack", "advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!", "advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants", "advancement.create.crushing_wheel.desc": "UNLOCALIZED: Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "UNLOCALIZED: Bipolar Minerals", "advancement.create.chromatic_compound.desc": "UNLOCALIZED: Create a Bar of Chromatic Compound.", "advancement.create.shadow_steel": "UNLOCALIZED: Void Returner", "advancement.create.shadow_steel.desc": "UNLOCALIZED: Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "UNLOCALIZED: Bright and Inspiring", "advancement.create.refined_radiance.desc": "UNLOCALIZED: Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "UNLOCALIZED: Building With Style", "advancement.create.zapper.desc": "UNLOCALIZED: Craft a Blockzapper. A radiant laser gun that helps you build.", "advancement.create.upgraded_zapper": "UNLOCALIZED: Radiant Overdrive", 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 af34ed77f..d64a7d380 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: 443", + "_": "Missing Localizations: 521", "_": "->------------------------] Game Elements [------------------------<-", @@ -502,6 +502,26 @@ "advancement.create.overstressed.desc": "Испытайте пределы стресса из первых рук.", "advancement.create.belt": "Передай все это", "advancement.create.belt.desc": "Соедините два вала с помощью механического ремня.", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "Конфигурировать удобно", "advancement.create.wrench.desc": "Создайте гаечный ключ, чтобы помочь себе в создании изобретений.", "advancement.create.goggles": "Стресс-о-зрение", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "Поставьте и подключите спидометр. Посмотрите на спидометр через очки, чтобы прочитать точное значение.", "advancement.create.stressometer": "Что действительно сильно?", "advancement.create.stressometer.desc": "Поставьте и подключите динамометр. Посмотрите на динамометр через очки, чтобы прочитать точное значение.", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "Гидравлика", "advancement.create.water_wheel.desc": "Поставьте водяное колесо и попытайтесь заставить его вращаться!", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "Адское колесо", "advancement.create.lava_wheel.desc": "Это не должно было работать.", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "Карманная дробилка", "advancement.create.millstone.desc": "Поставьте и приведите в действие жернов", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "Андезитовый век", "advancement.create.andesite_casing.desc": "Используйте немного андезитового сплава и дерева для создания корпуса.", "advancement.create.mechanical_drill": "Стационарные выключатели", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "Поставьте чашу и попытайтесь бросить в неё предметы.", "advancement.create.mixer": "Смешай это", "advancement.create.mixer.desc": "Поставьте механический смешиватель над чашей, подключите его и начните смешивать некоторые ингредиенты.", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "Автоматическое уплотнение", "advancement.create.compact.desc": "Используйте пресс и чашу для уплотнения некоторых предметов.", - "advancement.create.expert_lane_1": "Знаток дорожек андезита", - "advancement.create.expert_lane_1.desc": "Работа в процессе", "advancement.create.brass": "Действительный сплав", "advancement.create.brass.desc": "Используйте измельчённую медь и измельчённый цинк, чтобы создать немного латуни.", "advancement.create.brass_casing": "Бронзовый век", "advancement.create.brass_casing.desc": "Используйте только что полученную латунь и немного дерева, чтобы создать более продвинутый корпус.", "advancement.create.copper_casing": "Медный век", "advancement.create.copper_casing.desc": "Используйте несколько медных листов для создания медного корпуса.", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "Автоматизированная сборка", "advancement.create.crafter.desc": "Поставьте и подключите механический крафтер", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "Тыкайте, ставьте и атакуйте", "advancement.create.deployer.desc": "Приведите в действие автономный активатор, идеальное отражение себя.", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "Брось это, братан!", "advancement.create.fist_bump.desc": "Сделайте два удара кулаком.", "advancement.create.crushing_wheel": "Пара гигантов", "advancement.create.crushing_wheel.desc": "Создайте несколько дробящих колес, чтобы более эффективно разрушать больше материалов.", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "Биполярные минералы", "advancement.create.chromatic_compound.desc": "Создайте хроматический компаунд", "advancement.create.shadow_steel": "Возвращение пустоты", "advancement.create.shadow_steel.desc": "Создайте призрачную сталь, металлический слиток небытия.", "advancement.create.refined_radiance": "Яркий и вдохновляющий", "advancement.create.refined_radiance.desc": "Создайте изысканное сияние, мощное хроматическое вещество.", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "Строительство со стилем", "advancement.create.zapper.desc": "Создайте ручную блоковую пушку, которая поможет вам строить.", "advancement.create.upgraded_zapper": "Сияющий овердрайв", 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 dec275541..ac603c267 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: 451", + "_": "Missing Localizations: 529", "_": "->------------------------] Game Elements [------------------------<-", @@ -502,6 +502,26 @@ "advancement.create.overstressed.desc": "首次使能量网络超载.", "advancement.create.belt": "大批流水作业", "advancement.create.belt.desc": "用传送带连接两个传动杆", + "advancement.create.tunnel": "UNLOCALIZED: Take cover!", + "advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "UNLOCALIZED: Tumbling down", + "advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", + "advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", + "advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", + "advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", + "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", + "advancement.create.fan_water.desc": "UNLOCALIZED: Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "UNLOCALIZED: Mechanical Bellows", + "advancement.create.fan_smoke.desc": "UNLOCALIZED: Get caught in a stream of air that smokes items.", "advancement.create.wrench": "细节调整", "advancement.create.wrench.desc": "做出一个方便调整方块的扳手", "advancement.create.goggles": "目力工程师", @@ -510,12 +530,24 @@ "advancement.create.speedometer.desc": "放置一个速度表,并且带上工程师护目镜来读取速度数据", "advancement.create.stressometer": "精密的应力控制", "advancement.create.stressometer.desc": "放置一个应力表,并且带上工程师护目镜来读取应力数据", + "advancement.create.aesthetics": "UNLOCALIZED: Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "UNLOCALIZED: Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "UNLOCALIZED: Boom, Reinforced!", + "advancement.create.reinforced.desc": "UNLOCALIZED: Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "治水", "advancement.create.water_wheel.desc": "放置一个水车并且让它开始旋转", + "advancement.create.chocolate_wheel": "UNLOCALIZED: Tasteful power", + "advancement.create.chocolate_wheel.desc": "UNLOCALIZED: Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "风火轮", "advancement.create.lava_wheel.desc": "你确定岩浆能带动水车?", + "advancement.create.cuckoo": "UNLOCALIZED: Is it time?", + "advancement.create.cuckoo.desc": "UNLOCALIZED: Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "便携式粉碎机", "advancement.create.millstone.desc": "放置一个石磨并且为其供能", + "advancement.create.windmill": "UNLOCALIZED: A mild Breeze", + "advancement.create.windmill.desc": "UNLOCALIZED: Assemble a windmill.", + "advancement.create.maxed_windmill": "UNLOCALIZED: A strong breeze", + "advancement.create.maxed_windmill.desc": "UNLOCALIZED: Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "安山纪元", "advancement.create.andesite_casing.desc": "使用安山合金和木头来合成一个安山机壳", "advancement.create.mechanical_drill": "坚如磐石,势如破竹", @@ -532,34 +564,78 @@ "advancement.create.basin.desc": "放置一个工作盆,并且往里面放些东西", "advancement.create.mixer": "均匀搅拌", "advancement.create.mixer.desc": "将搅拌机放在工作盆上方,并且使其搅拌盆内物品", + "advancement.create.blaze_burner": "UNLOCALIZED: A living Fireplace", + "advancement.create.blaze_burner.desc": "UNLOCALIZED: Obtain a Blaze Burner.", "advancement.create.compact": "快乐压缩", "advancement.create.compact.desc": "使用辊压机在工作盆中压缩一些物品", - "advancement.create.expert_lane_1": "安山岩专家", - "advancement.create.expert_lane_1.desc": "工作进行中", "advancement.create.brass": "真正的合金", "advancement.create.brass.desc": "使用碎锌和碎铜来制作碎黄铜", "advancement.create.brass_casing": "黄铜纪元", "advancement.create.brass_casing.desc": "用黄铜和木头制作一个黄铜机壳", "advancement.create.copper_casing": "铜纪元", "advancement.create.copper_casing.desc": "使用铜和木头制作一个铜制机壳", + "advancement.create.spout": "UNLOCALIZED: Sploosh", + "advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "UNLOCALIZED: Global Brewery", + "advancement.create.spout_potion.desc": "UNLOCALIZED: Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "UNLOCALIZED: A world of Imagination", + "advancement.create.chocolate.desc": "UNLOCALIZED: Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "UNLOCALIZED: Tumble Draining", + "advancement.create.item_drain.desc": "UNLOCALIZED: Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "UNLOCALIZED: Let it roll!", + "advancement.create.chained_item_drain.desc": "UNLOCALIZED: Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "UNLOCALIZED: Flow Spy", + "advancement.create.glass_pipe.desc": "UNLOCALIZED: Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "UNLOCALIZED: Never cross the Streams!", + "advancement.create.pipe_collision.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "UNLOCALIZED: There's a leak!", + "advancement.create.pipe_spill.desc": "UNLOCALIZED: Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage", + "advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "UNLOCALIZED: Draining the Ocean", + "advancement.create.infinite_water.desc": "UNLOCALIZED: Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "UNLOCALIZED: Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "UNLOCALIZED: Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "UNLOCALIZED: Pump from a body of Molten Chocolate large enough to be considered Infinite.", "advancement.create.crafter": "自动化流水作业", "advancement.create.crafter.desc": "放置一些机械合成台并且为其供能", + "advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "UNLOCALIZED: Signs of Style", + "advancement.create.nixie_tube.desc": "UNLOCALIZED: Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "我就指着你了咋地?", "advancement.create.deployer.desc": "放置并且功能一个机械手。这可是你右手的完美复制品", - "advancement.create.mechanical_arm": "UNLOCALIZED: Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "UNLOCALIZED: Engineers hate him!", + "advancement.create.speed_controller.desc": "UNLOCALIZED: Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "UNLOCALIZED: Heart of the Factory", + "advancement.create.flywheel.desc": "UNLOCALIZED: Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "UNLOCALIZED: High levels of Stress", + "advancement.create.overstress_flywheel.desc": "UNLOCALIZED: Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "UNLOCALIZED: Complex Calculation", + "advancement.create.integrated_circuit.desc": "UNLOCALIZED: Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands!", "advancement.create.mechanical_arm.desc": "UNLOCALIZED: Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "UNLOCALIZED: Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "来碰个拳,哥们~", "advancement.create.fist_bump.desc": "使两个机械臂互相碰拳", "advancement.create.crushing_wheel": "一对大家伙", "advancement.create.crushing_wheel.desc": "制作一些能更快粉碎物品的粉碎轮", + "advancement.create.blaze_cake": "UNLOCALIZED: Sugar Rush", + "advancement.create.blaze_cake.desc": "UNLOCALIZED: Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "两极材料", "advancement.create.chromatic_compound.desc": "制作一个异彩化合物", "advancement.create.shadow_steel": "虚空归来的宝石", "advancement.create.shadow_steel.desc": "制作一些暗影金属", "advancement.create.refined_radiance": "闪耀着洁白的圣光", "advancement.create.refined_radiance.desc": "制作一个光辉石", + "advancement.create.chromatic_age": "UNLOCALIZED: The Chromatic Age", + "advancement.create.chromatic_age.desc": "UNLOCALIZED: Create casing blocks of the light and dark.", "advancement.create.zapper": "讲究的建筑师", "advancement.create.zapper.desc": "制作一个非常方便的手持方块放置器", "advancement.create.upgraded_zapper": "来自异世界的超频", diff --git a/src/generated/resources/data/create/advancements/aesthetics.json b/src/generated/resources/data/create/advancements/aesthetics.json new file mode 100644 index 000000000..722bd2ec7 --- /dev/null +++ b/src/generated/resources/data/create/advancements/aesthetics.json @@ -0,0 +1,40 @@ +{ + "parent": "create:andesite_alloy", + "display": { + "icon": { + "item": "create:wooden_bracket" + }, + "title": { + "translate": "advancement.create.aesthetics" + }, + "description": { + "translate": "advancement.create.aesthetics.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:bracket_shaft" + }, + "1": { + "trigger": "create:bracket_cog" + }, + "2": { + "trigger": "create:bracket_pipe" + } + }, + "requirements": [ + [ + "0" + ], + [ + "1" + ], + [ + "2" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/arm_blaze_burner.json b/src/generated/resources/data/create/advancements/arm_blaze_burner.json new file mode 100644 index 000000000..ac2645b24 --- /dev/null +++ b/src/generated/resources/data/create/advancements/arm_blaze_burner.json @@ -0,0 +1,28 @@ +{ + "parent": "create:mechanical_arm", + "display": { + "icon": { + "item": "create:blaze_burner" + }, + "title": { + "translate": "advancement.create.arm_blaze_burner" + }, + "description": { + "translate": "advancement.create.arm_blaze_burner.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:arm_blaze_burner" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/arm_many_targets.json b/src/generated/resources/data/create/advancements/arm_many_targets.json new file mode 100644 index 000000000..445ce041a --- /dev/null +++ b/src/generated/resources/data/create/advancements/arm_many_targets.json @@ -0,0 +1,28 @@ +{ + "parent": "create:mechanical_arm", + "display": { + "icon": { + "item": "create:brass_funnel" + }, + "title": { + "translate": "advancement.create.arm_many_targets" + }, + "description": { + "translate": "advancement.create.arm_many_targets.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:arm_many_targets" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/belt_funnel.json b/src/generated/resources/data/create/advancements/belt_funnel.json new file mode 100644 index 000000000..dde4c25d4 --- /dev/null +++ b/src/generated/resources/data/create/advancements/belt_funnel.json @@ -0,0 +1,28 @@ +{ + "parent": "create:belt", + "display": { + "icon": { + "item": "create:andesite_funnel" + }, + "title": { + "translate": "advancement.create.belt_funnel" + }, + "description": { + "translate": "advancement.create.belt_funnel.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:belt_funnel" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/belt_funnel_kiss.json b/src/generated/resources/data/create/advancements/belt_funnel_kiss.json new file mode 100644 index 000000000..032676c52 --- /dev/null +++ b/src/generated/resources/data/create/advancements/belt_funnel_kiss.json @@ -0,0 +1,28 @@ +{ + "parent": "create:belt_funnel", + "display": { + "icon": { + "item": "create:brass_funnel" + }, + "title": { + "translate": "advancement.create.belt_funnel_kiss" + }, + "description": { + "translate": "advancement.create.belt_funnel_kiss.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "criteria": { + "0": { + "trigger": "create:belt_funnel_kiss" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/blaze_burner.json b/src/generated/resources/data/create/advancements/blaze_burner.json new file mode 100644 index 000000000..20d76c4bc --- /dev/null +++ b/src/generated/resources/data/create/advancements/blaze_burner.json @@ -0,0 +1,35 @@ +{ + "parent": "create:mixer", + "display": { + "icon": { + "item": "create:blaze_burner" + }, + "title": { + "translate": "advancement.create.blaze_burner" + }, + "description": { + "translate": "advancement.create.blaze_burner.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:blaze_burner" + } + ] + } + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/blaze_cake.json b/src/generated/resources/data/create/advancements/blaze_cake.json new file mode 100644 index 000000000..85c62f63b --- /dev/null +++ b/src/generated/resources/data/create/advancements/blaze_cake.json @@ -0,0 +1,35 @@ +{ + "parent": "create:crushing_wheel", + "display": { + "icon": { + "item": "create:blaze_cake" + }, + "title": { + "translate": "advancement.create.blaze_cake" + }, + "description": { + "translate": "advancement.create.blaze_cake.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:blaze_cake" + } + ] + } + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/brass.json b/src/generated/resources/data/create/advancements/brass.json index 105ed5831..706c76d54 100644 --- a/src/generated/resources/data/create/advancements/brass.json +++ b/src/generated/resources/data/create/advancements/brass.json @@ -1,5 +1,5 @@ { - "parent": "create:mixer", + "parent": "create:blaze_burner", "display": { "icon": { "item": "create:brass_ingot" diff --git a/src/generated/resources/data/create/advancements/chained_item_drain.json b/src/generated/resources/data/create/advancements/chained_item_drain.json new file mode 100644 index 000000000..7efe0209e --- /dev/null +++ b/src/generated/resources/data/create/advancements/chained_item_drain.json @@ -0,0 +1,28 @@ +{ + "parent": "create:item_drain", + "display": { + "icon": { + "item": "create:item_drain" + }, + "title": { + "translate": "advancement.create.chained_item_drain" + }, + "description": { + "translate": "advancement.create.chained_item_drain.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "criteria": { + "0": { + "trigger": "create:chained_item_drain" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/chocolate.json b/src/generated/resources/data/create/advancements/chocolate.json new file mode 100644 index 000000000..4adfa66e1 --- /dev/null +++ b/src/generated/resources/data/create/advancements/chocolate.json @@ -0,0 +1,35 @@ +{ + "parent": "create:spout", + "display": { + "icon": { + "item": "create:chocolate_bucket" + }, + "title": { + "translate": "advancement.create.chocolate" + }, + "description": { + "translate": "advancement.create.chocolate.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:chocolate_bucket" + } + ] + } + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/chocolate_wheel.json b/src/generated/resources/data/create/advancements/chocolate_wheel.json new file mode 100644 index 000000000..f414feda2 --- /dev/null +++ b/src/generated/resources/data/create/advancements/chocolate_wheel.json @@ -0,0 +1,28 @@ +{ + "parent": "create:water_wheel", + "display": { + "icon": { + "item": "create:chocolate_bucket" + }, + "title": { + "translate": "advancement.create.chocolate_wheel" + }, + "description": { + "translate": "advancement.create.chocolate_wheel.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "criteria": { + "0": { + "trigger": "create:chocolate_wheel" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/chromatic_compound.json b/src/generated/resources/data/create/advancements/chromatic_compound.json index 6091139ea..01dca0981 100644 --- a/src/generated/resources/data/create/advancements/chromatic_compound.json +++ b/src/generated/resources/data/create/advancements/chromatic_compound.json @@ -1,5 +1,5 @@ { - "parent": "create:crushing_wheel", + "parent": "create:blaze_cake", "display": { "icon": { "item": "create:chromatic_compound" diff --git a/src/generated/resources/data/create/advancements/shadow_end.json b/src/generated/resources/data/create/advancements/chromatic_eob.json similarity index 62% rename from src/generated/resources/data/create/advancements/shadow_end.json rename to src/generated/resources/data/create/advancements/chromatic_eob.json index 0926bf69f..bf7ba18b1 100644 --- a/src/generated/resources/data/create/advancements/shadow_end.json +++ b/src/generated/resources/data/create/advancements/chromatic_eob.json @@ -1,5 +1,5 @@ { - "parent": "create:shadow_steel", + "parent": "minecraft:createchromatic_age", "display": { "icon": { "item": "minecraft:oak_sapling" @@ -21,7 +21,17 @@ "conditions": { "items": [ { - "item": "create:shadow_steel" + "item": "create:shadow_steel_casing" + } + ] + } + }, + "1": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:refined_radiance_casing" } ] } @@ -30,6 +40,9 @@ "requirements": [ [ "0" + ], + [ + "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/chute.json b/src/generated/resources/data/create/advancements/chute.json new file mode 100644 index 000000000..d278d6896 --- /dev/null +++ b/src/generated/resources/data/create/advancements/chute.json @@ -0,0 +1,31 @@ +{ + "parent": "create:belt", + "display": { + "icon": { + "item": "create:chute" + }, + "title": { + "translate": "advancement.create.chute" + }, + "description": { + "translate": "advancement.create.chute.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:placed_block", + "conditions": { + "block": "create:chute" + } + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/clockwork_bearing.json b/src/generated/resources/data/create/advancements/clockwork_bearing.json new file mode 100644 index 000000000..b276c8ef7 --- /dev/null +++ b/src/generated/resources/data/create/advancements/clockwork_bearing.json @@ -0,0 +1,28 @@ +{ + "parent": "create:brass_casing", + "display": { + "icon": { + "item": "create:clockwork_bearing" + }, + "title": { + "translate": "advancement.create.clockwork_bearing" + }, + "description": { + "translate": "advancement.create.clockwork_bearing.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:clockwork_bearing" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/crafter.json b/src/generated/resources/data/create/advancements/crafter.json index e0bcbd8fd..2c770efd4 100644 --- a/src/generated/resources/data/create/advancements/crafter.json +++ b/src/generated/resources/data/create/advancements/crafter.json @@ -21,18 +21,11 @@ "conditions": { "block": "create:mechanical_crafter" } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} } }, "requirements": [ [ "0" - ], - [ - "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/cuckoo.json b/src/generated/resources/data/create/advancements/cuckoo.json new file mode 100644 index 000000000..f7e1ef33b --- /dev/null +++ b/src/generated/resources/data/create/advancements/cuckoo.json @@ -0,0 +1,28 @@ +{ + "parent": "create:andesite_alloy", + "display": { + "icon": { + "item": "create:cuckoo_clock" + }, + "title": { + "translate": "advancement.create.cuckoo" + }, + "description": { + "translate": "advancement.create.cuckoo.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:cuckoo" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/deployer.json b/src/generated/resources/data/create/advancements/deployer.json index 160bc6841..82a6a0169 100644 --- a/src/generated/resources/data/create/advancements/deployer.json +++ b/src/generated/resources/data/create/advancements/deployer.json @@ -10,7 +10,7 @@ "description": { "translate": "advancement.create.deployer.desc" }, - "frame": "goal", + "frame": "task", "show_toast": true, "announce_to_chat": true, "hidden": false @@ -21,18 +21,11 @@ "conditions": { "block": "create:deployer" } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} } }, "requirements": [ [ "0" - ], - [ - "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/extendo_grip.json b/src/generated/resources/data/create/advancements/extendo_grip.json index 7f9575235..b4d7b88b1 100644 --- a/src/generated/resources/data/create/advancements/extendo_grip.json +++ b/src/generated/resources/data/create/advancements/extendo_grip.json @@ -1,5 +1,5 @@ { - "parent": "create:brass", + "parent": "create:crafter", "display": { "icon": { "item": "create:extendo_grip" diff --git a/src/generated/resources/data/create/advancements/fan.json b/src/generated/resources/data/create/advancements/fan.json new file mode 100644 index 000000000..fd00498a5 --- /dev/null +++ b/src/generated/resources/data/create/advancements/fan.json @@ -0,0 +1,28 @@ +{ + "parent": "create:press", + "display": { + "icon": { + "item": "create:encased_fan" + }, + "title": { + "translate": "advancement.create.fan" + }, + "description": { + "translate": "advancement.create.fan.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:fan" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/fan_lava.json b/src/generated/resources/data/create/advancements/fan_lava.json new file mode 100644 index 000000000..1b15d56b6 --- /dev/null +++ b/src/generated/resources/data/create/advancements/fan_lava.json @@ -0,0 +1,28 @@ +{ + "parent": "create:fan", + "display": { + "icon": { + "item": "minecraft:lava_bucket" + }, + "title": { + "translate": "advancement.create.fan_lava" + }, + "description": { + "translate": "advancement.create.fan_lava.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:fan_lava" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/fan_smoke.json b/src/generated/resources/data/create/advancements/fan_smoke.json new file mode 100644 index 000000000..51cd3cdc1 --- /dev/null +++ b/src/generated/resources/data/create/advancements/fan_smoke.json @@ -0,0 +1,28 @@ +{ + "parent": "create:fan", + "display": { + "icon": { + "item": "minecraft:campfire" + }, + "title": { + "translate": "advancement.create.fan_smoke" + }, + "description": { + "translate": "advancement.create.fan_smoke.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:fan_smoke" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/fan_water.json b/src/generated/resources/data/create/advancements/fan_water.json new file mode 100644 index 000000000..a70ae1092 --- /dev/null +++ b/src/generated/resources/data/create/advancements/fan_water.json @@ -0,0 +1,28 @@ +{ + "parent": "create:fan", + "display": { + "icon": { + "item": "minecraft:water_bucket" + }, + "title": { + "translate": "advancement.create.fan_water" + }, + "description": { + "translate": "advancement.create.fan_water.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:fan_water" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/flywheel.json b/src/generated/resources/data/create/advancements/flywheel.json new file mode 100644 index 000000000..74d4cad67 --- /dev/null +++ b/src/generated/resources/data/create/advancements/flywheel.json @@ -0,0 +1,28 @@ +{ + "parent": "create:crafter", + "display": { + "icon": { + "item": "create:flywheel" + }, + "title": { + "translate": "advancement.create.flywheel" + }, + "description": { + "translate": "advancement.create.flywheel.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:flywheel" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/glass_pipe.json b/src/generated/resources/data/create/advancements/glass_pipe.json new file mode 100644 index 000000000..0f5e25164 --- /dev/null +++ b/src/generated/resources/data/create/advancements/glass_pipe.json @@ -0,0 +1,28 @@ +{ + "parent": "create:copper_casing", + "display": { + "icon": { + "item": "create:fluid_pipe" + }, + "title": { + "translate": "advancement.create.glass_pipe" + }, + "description": { + "translate": "advancement.create.glass_pipe.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:glass_pipe" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/hose_pulley.json b/src/generated/resources/data/create/advancements/hose_pulley.json new file mode 100644 index 000000000..eaaedd31f --- /dev/null +++ b/src/generated/resources/data/create/advancements/hose_pulley.json @@ -0,0 +1,28 @@ +{ + "parent": "create:pipe_spill", + "display": { + "icon": { + "item": "create:hose_pulley" + }, + "title": { + "translate": "advancement.create.hose_pulley" + }, + "description": { + "translate": "advancement.create.hose_pulley.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:hose_pulley" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/infinite_chocolate.json b/src/generated/resources/data/create/advancements/infinite_chocolate.json new file mode 100644 index 000000000..de6e78ad2 --- /dev/null +++ b/src/generated/resources/data/create/advancements/infinite_chocolate.json @@ -0,0 +1,28 @@ +{ + "parent": "create:hose_pulley", + "display": { + "icon": { + "item": "create:chocolate_bucket" + }, + "title": { + "translate": "advancement.create.infinite_chocolate" + }, + "description": { + "translate": "advancement.create.infinite_chocolate.desc" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:infinite_chocolate" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/infinite_lava.json b/src/generated/resources/data/create/advancements/infinite_lava.json new file mode 100644 index 000000000..732fbfd39 --- /dev/null +++ b/src/generated/resources/data/create/advancements/infinite_lava.json @@ -0,0 +1,28 @@ +{ + "parent": "create:hose_pulley", + "display": { + "icon": { + "item": "minecraft:lava_bucket" + }, + "title": { + "translate": "advancement.create.infinite_lava" + }, + "description": { + "translate": "advancement.create.infinite_lava.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:infinite_lava" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/infinite_water.json b/src/generated/resources/data/create/advancements/infinite_water.json new file mode 100644 index 000000000..1fc7be3c0 --- /dev/null +++ b/src/generated/resources/data/create/advancements/infinite_water.json @@ -0,0 +1,28 @@ +{ + "parent": "create:hose_pulley", + "display": { + "icon": { + "item": "minecraft:water_bucket" + }, + "title": { + "translate": "advancement.create.infinite_water" + }, + "description": { + "translate": "advancement.create.infinite_water.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:infinite_water" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/integrated_circuit.json b/src/generated/resources/data/create/advancements/integrated_circuit.json new file mode 100644 index 000000000..ea773a430 --- /dev/null +++ b/src/generated/resources/data/create/advancements/integrated_circuit.json @@ -0,0 +1,35 @@ +{ + "parent": "create:crafter", + "display": { + "icon": { + "item": "create:integrated_circuit" + }, + "title": { + "translate": "advancement.create.integrated_circuit" + }, + "description": { + "translate": "advancement.create.integrated_circuit.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:integrated_circuit" + } + ] + } + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/copper_end.json b/src/generated/resources/data/create/advancements/integrated_circuit_eob.json similarity index 85% rename from src/generated/resources/data/create/advancements/copper_end.json rename to src/generated/resources/data/create/advancements/integrated_circuit_eob.json index 26aadef85..858b7e963 100644 --- a/src/generated/resources/data/create/advancements/copper_end.json +++ b/src/generated/resources/data/create/advancements/integrated_circuit_eob.json @@ -1,5 +1,5 @@ { - "parent": "create:copper_casing", + "parent": "create:integrated_circuit", "display": { "icon": { "item": "minecraft:oak_sapling" @@ -21,7 +21,7 @@ "conditions": { "items": [ { - "item": "create:copper_casing" + "item": "create:integrated_circuit" } ] } diff --git a/src/generated/resources/data/create/advancements/item_drain.json b/src/generated/resources/data/create/advancements/item_drain.json new file mode 100644 index 000000000..56f352b7f --- /dev/null +++ b/src/generated/resources/data/create/advancements/item_drain.json @@ -0,0 +1,28 @@ +{ + "parent": "create:copper_casing", + "display": { + "icon": { + "item": "create:item_drain" + }, + "title": { + "translate": "advancement.create.item_drain" + }, + "description": { + "translate": "advancement.create.item_drain.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:item_drain" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/maxed_windmill.json b/src/generated/resources/data/create/advancements/maxed_windmill.json new file mode 100644 index 000000000..1a092b97b --- /dev/null +++ b/src/generated/resources/data/create/advancements/maxed_windmill.json @@ -0,0 +1,28 @@ +{ + "parent": "create:windmill", + "display": { + "icon": { + "item": "create:windmill_bearing" + }, + "title": { + "translate": "advancement.create.maxed_windmill" + }, + "description": { + "translate": "advancement.create.maxed_windmill.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:maxed_windmill" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/mechanical_arm.json b/src/generated/resources/data/create/advancements/mechanical_arm.json index f56d1f4b0..9ef076a60 100644 --- a/src/generated/resources/data/create/advancements/mechanical_arm.json +++ b/src/generated/resources/data/create/advancements/mechanical_arm.json @@ -10,23 +10,13 @@ "description": { "translate": "advancement.create.mechanical_arm.desc" }, - "frame": "goal", + "frame": "task", "show_toast": true, "announce_to_chat": true, "hidden": false }, "criteria": { "0": { - "trigger": "minecraft:placed_block", - "conditions": { - "block": "create:mechanical_arm" - } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} - }, - "2": { "trigger": "create:mechanical_arm", "conditions": {} } @@ -34,12 +24,6 @@ "requirements": [ [ "0" - ], - [ - "1" - ], - [ - "2" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/mechanical_drill.json b/src/generated/resources/data/create/advancements/mechanical_drill.json index 3b3b41616..e669706f4 100644 --- a/src/generated/resources/data/create/advancements/mechanical_drill.json +++ b/src/generated/resources/data/create/advancements/mechanical_drill.json @@ -21,18 +21,11 @@ "conditions": { "block": "create:mechanical_drill" } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} } }, "requirements": [ [ "0" - ], - [ - "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/mechanical_saw.json b/src/generated/resources/data/create/advancements/mechanical_saw.json index 605824a85..36df9df2d 100644 --- a/src/generated/resources/data/create/advancements/mechanical_saw.json +++ b/src/generated/resources/data/create/advancements/mechanical_saw.json @@ -21,18 +21,11 @@ "conditions": { "block": "create:mechanical_saw" } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} } }, "requirements": [ [ "0" - ], - [ - "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/millstone.json b/src/generated/resources/data/create/advancements/millstone.json index 6d127e563..7272ebb41 100644 --- a/src/generated/resources/data/create/advancements/millstone.json +++ b/src/generated/resources/data/create/advancements/millstone.json @@ -21,18 +21,11 @@ "conditions": { "block": "create:millstone" } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} } }, "requirements": [ [ "0" - ], - [ - "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/musical_arm.json b/src/generated/resources/data/create/advancements/musical_arm.json index 36aaa208b..e9d6ea5c6 100644 --- a/src/generated/resources/data/create/advancements/musical_arm.json +++ b/src/generated/resources/data/create/advancements/musical_arm.json @@ -17,16 +17,6 @@ }, "criteria": { "0": { - "trigger": "minecraft:placed_block", - "conditions": { - "block": "create:mechanical_arm" - } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} - }, - "2": { "trigger": "create:musical_arm", "conditions": {} } @@ -34,12 +24,6 @@ "requirements": [ [ "0" - ], - [ - "1" - ], - [ - "2" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/nixie_tube.json b/src/generated/resources/data/create/advancements/nixie_tube.json new file mode 100644 index 000000000..597db56b1 --- /dev/null +++ b/src/generated/resources/data/create/advancements/nixie_tube.json @@ -0,0 +1,31 @@ +{ + "parent": "create:brass_casing", + "display": { + "icon": { + "item": "create:nixie_tube" + }, + "title": { + "translate": "advancement.create.nixie_tube" + }, + "description": { + "translate": "advancement.create.nixie_tube.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:placed_block", + "conditions": { + "block": "create:nixie_tube" + } + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/overstress_flywheel.json b/src/generated/resources/data/create/advancements/overstress_flywheel.json new file mode 100644 index 000000000..91e112993 --- /dev/null +++ b/src/generated/resources/data/create/advancements/overstress_flywheel.json @@ -0,0 +1,28 @@ +{ + "parent": "create:flywheel", + "display": { + "icon": { + "item": "create:furnace_engine" + }, + "title": { + "translate": "advancement.create.overstress_flywheel" + }, + "description": { + "translate": "advancement.create.overstress_flywheel.desc" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:overstress_flywheel" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/pipe_collision.json b/src/generated/resources/data/create/advancements/pipe_collision.json new file mode 100644 index 000000000..b31895488 --- /dev/null +++ b/src/generated/resources/data/create/advancements/pipe_collision.json @@ -0,0 +1,28 @@ +{ + "parent": "create:glass_pipe", + "display": { + "icon": { + "item": "create:fluid_valve" + }, + "title": { + "translate": "advancement.create.pipe_collision" + }, + "description": { + "translate": "advancement.create.pipe_collision.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:pipe_collision" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/pipe_spill.json b/src/generated/resources/data/create/advancements/pipe_spill.json new file mode 100644 index 000000000..19dca7380 --- /dev/null +++ b/src/generated/resources/data/create/advancements/pipe_spill.json @@ -0,0 +1,28 @@ +{ + "parent": "create:glass_pipe", + "display": { + "icon": { + "item": "minecraft:bucket" + }, + "title": { + "translate": "advancement.create.pipe_spill" + }, + "description": { + "translate": "advancement.create.pipe_spill.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:pipe_spill" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_arm.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_arm.json new file mode 100644 index 000000000..3556ce714 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/mechanical_arm.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:crafting/kinetics/mechanical_arm" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:brass_casing" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:crafting/kinetics/mechanical_arm" + } + } + }, + "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/nixie_tube.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/nixie_tube.json new file mode 100644 index 000000000..2ecea730b --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/nixie_tube.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:crafting/kinetics/nixie_tube" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:brass_casing" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:crafting/kinetics/nixie_tube" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/reinforced.json b/src/generated/resources/data/create/advancements/reinforced.json new file mode 100644 index 000000000..c83349f5f --- /dev/null +++ b/src/generated/resources/data/create/advancements/reinforced.json @@ -0,0 +1,40 @@ +{ + "parent": "create:aesthetics", + "display": { + "icon": { + "item": "create:andesite_encased_shaft" + }, + "title": { + "translate": "advancement.create.reinforced" + }, + "description": { + "translate": "advancement.create.reinforced.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:casing_shaft" + }, + "1": { + "trigger": "create:casing_belt" + }, + "2": { + "trigger": "create:casing_pipe" + } + }, + "requirements": [ + [ + "0" + ], + [ + "1" + ], + [ + "2" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/speed_controller.json b/src/generated/resources/data/create/advancements/speed_controller.json new file mode 100644 index 000000000..694246452 --- /dev/null +++ b/src/generated/resources/data/create/advancements/speed_controller.json @@ -0,0 +1,31 @@ +{ + "parent": "create:integrated_circuit", + "display": { + "icon": { + "item": "create:rotation_speed_controller" + }, + "title": { + "translate": "advancement.create.speed_controller" + }, + "description": { + "translate": "advancement.create.speed_controller.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:placed_block", + "conditions": { + "block": "create:rotation_speed_controller" + } + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/speedometer.json b/src/generated/resources/data/create/advancements/speedometer.json index f87ccf3fd..4766aafb7 100644 --- a/src/generated/resources/data/create/advancements/speedometer.json +++ b/src/generated/resources/data/create/advancements/speedometer.json @@ -21,18 +21,11 @@ "conditions": { "block": "create:speedometer" } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} } }, "requirements": [ [ "0" - ], - [ - "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/splitter_tunnel.json b/src/generated/resources/data/create/advancements/splitter_tunnel.json new file mode 100644 index 000000000..f46b7b786 --- /dev/null +++ b/src/generated/resources/data/create/advancements/splitter_tunnel.json @@ -0,0 +1,28 @@ +{ + "parent": "create:tunnel", + "display": { + "icon": { + "item": "create:brass_tunnel" + }, + "title": { + "translate": "advancement.create.splitter_tunnel" + }, + "description": { + "translate": "advancement.create.splitter_tunnel.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:connect_tunnel" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/spout.json b/src/generated/resources/data/create/advancements/spout.json new file mode 100644 index 000000000..1e0169e97 --- /dev/null +++ b/src/generated/resources/data/create/advancements/spout.json @@ -0,0 +1,28 @@ +{ + "parent": "create:copper_casing", + "display": { + "icon": { + "item": "create:spout" + }, + "title": { + "translate": "advancement.create.spout" + }, + "description": { + "translate": "advancement.create.spout.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:spout" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/spout_potion.json b/src/generated/resources/data/create/advancements/spout_potion.json new file mode 100644 index 000000000..f8fb78436 --- /dev/null +++ b/src/generated/resources/data/create/advancements/spout_potion.json @@ -0,0 +1,28 @@ +{ + "parent": "create:spout", + "display": { + "icon": { + "item": "minecraft:potion" + }, + "title": { + "translate": "advancement.create.spout_potion" + }, + "description": { + "translate": "advancement.create.spout_potion.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:spout_potion" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/stressometer.json b/src/generated/resources/data/create/advancements/stressometer.json index 6e5e84c92..685691184 100644 --- a/src/generated/resources/data/create/advancements/stressometer.json +++ b/src/generated/resources/data/create/advancements/stressometer.json @@ -21,18 +21,11 @@ "conditions": { "block": "create:stressometer" } - }, - "1": { - "trigger": "create:kinetic_block", - "conditions": {} } }, "requirements": [ [ "0" - ], - [ - "1" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/tunnel.json b/src/generated/resources/data/create/advancements/tunnel.json new file mode 100644 index 000000000..d725340d8 --- /dev/null +++ b/src/generated/resources/data/create/advancements/tunnel.json @@ -0,0 +1,28 @@ +{ + "parent": "create:belt", + "display": { + "icon": { + "item": "create:andesite_tunnel" + }, + "title": { + "translate": "advancement.create.tunnel" + }, + "description": { + "translate": "advancement.create.tunnel.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:place_tunnel" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/upward_chute.json b/src/generated/resources/data/create/advancements/upward_chute.json new file mode 100644 index 000000000..b6baa6065 --- /dev/null +++ b/src/generated/resources/data/create/advancements/upward_chute.json @@ -0,0 +1,28 @@ +{ + "parent": "create:chute", + "display": { + "icon": { + "item": "create:encased_fan" + }, + "title": { + "translate": "advancement.create.upward_chute" + }, + "description": { + "translate": "advancement.create.upward_chute.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:upward_chute" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/windmill.json b/src/generated/resources/data/create/advancements/windmill.json new file mode 100644 index 000000000..6a5dffded --- /dev/null +++ b/src/generated/resources/data/create/advancements/windmill.json @@ -0,0 +1,28 @@ +{ + "parent": "create:andesite_alloy", + "display": { + "icon": { + "item": "create:windmill_bearing" + }, + "title": { + "translate": "advancement.create.windmill" + }, + "description": { + "translate": "advancement.create.windmill.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "create:windmill" + } + }, + "requirements": [ + [ + "0" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json index 1b8564a0a..eb0f18f9b 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json @@ -18,6 +18,6 @@ }, "result": { "item": "create:encased_chain_drive", - "count": 4 + "count": 2 } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json index 5c78c7b9d..5e5ed0cc0 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe.json @@ -13,6 +13,6 @@ }, "result": { "item": "create:fluid_pipe", - "count": 16 + "count": 8 } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/mechanical_crafting/mechanical_arm.json b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_arm.json similarity index 72% rename from src/generated/resources/data/create/recipes/mechanical_crafting/mechanical_arm.json rename to src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_arm.json index 64f639754..b92394fe0 100644 --- a/src/generated/resources/data/create/recipes/mechanical_crafting/mechanical_arm.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_arm.json @@ -1,11 +1,9 @@ { - "type": "create:mechanical_crafting", + "type": "minecraft:crafting_shaped", "pattern": [ "LLA", - "L ", - "LL ", - " I ", - "RCR" + "LR ", + "ICI" ], "key": { "L": { @@ -15,7 +13,7 @@ "item": "create:cogwheel" }, "I": { - "item": "create:integrated_circuit" + "item": "create:electron_tube" }, "A": { "item": "create:andesite_alloy" diff --git a/src/generated/resources/data/create/recipes/mechanical_crafting/nixie_tube.json b/src/generated/resources/data/create/recipes/crafting/kinetics/nixie_tube.json similarity index 83% rename from src/generated/resources/data/create/recipes/mechanical_crafting/nixie_tube.json rename to src/generated/resources/data/create/recipes/crafting/kinetics/nixie_tube.json index cfbf22475..8d965d79f 100644 --- a/src/generated/resources/data/create/recipes/mechanical_crafting/nixie_tube.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/nixie_tube.json @@ -1,5 +1,5 @@ { - "type": "create:mechanical_crafting", + "type": "minecraft:crafting_shaped", "pattern": [ "EBE" ], diff --git a/src/generated/resources/data/create/recipes/crushing/sand.json b/src/generated/resources/data/create/recipes/crushing/sand.json index 9289982da..056076ba5 100644 --- a/src/generated/resources/data/create/recipes/crushing/sand.json +++ b/src/generated/resources/data/create/recipes/crushing/sand.json @@ -9,13 +9,9 @@ { "item": "create:limesand" }, - { - "item": "create:limesand", - "chance": 0.5 - }, { "item": "minecraft:bone_meal", - "chance": 0.05 + "chance": 0.1 } ], "processingTime": 150 diff --git a/src/generated/resources/data/create/recipes/filling/glowstone.json b/src/generated/resources/data/create/recipes/filling/glowstone.json index 21202f6d5..fd306d5cf 100644 --- a/src/generated/resources/data/create/recipes/filling/glowstone.json +++ b/src/generated/resources/data/create/recipes/filling/glowstone.json @@ -8,7 +8,7 @@ "fluid": "create:potion", "nbt": { "Bottle": "REGULAR", - "Potion": "minecraft:fire_resistance" + "Potion": "minecraft:night_vision" }, "amount": 25 } diff --git a/src/generated/resources/data/minecraft/advancements/createchromatic_age.json b/src/generated/resources/data/minecraft/advancements/createchromatic_age.json new file mode 100644 index 000000000..d1cabe09b --- /dev/null +++ b/src/generated/resources/data/minecraft/advancements/createchromatic_age.json @@ -0,0 +1,48 @@ +{ + "parent": "create:chromatic_compound", + "display": { + "icon": { + "item": "create:refined_radiance_casing" + }, + "title": { + "translate": "advancement.create.chromatic_age" + }, + "description": { + "translate": "advancement.create.chromatic_age.desc" + }, + "frame": "goal", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "0": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:shadow_steel_casing" + } + ] + } + }, + "1": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:refined_radiance_casing" + } + ] + } + } + }, + "requirements": [ + [ + "0" + ], + [ + "1" + ] + ] +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index c118dcb13..91e12c18b 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -50,6 +50,7 @@ import com.simibubi.create.foundation.item.TooltipHelper; import com.tterrag.registrate.util.entry.ItemEntry; import net.minecraft.item.Item; +import net.minecraft.item.Item.Properties; import net.minecraft.item.Rarity; import net.minecraft.tags.ITag; import net.minecraft.util.ResourceLocation; @@ -167,11 +168,13 @@ public class AllItems { .register(); public static final ItemEntry WRENCH = REGISTRATE.item("wrench", WrenchItem::new) + .properties(p -> p.maxStackSize(1)) .transform(CreateRegistrate.customRenderedItem(() -> WrenchModel::new)) .model(AssetLookup.itemModelWithPartials()) .register(); public static final ItemEntry GOGGLES = REGISTRATE.item("goggles", GogglesItem::new) + .properties(p -> p.maxStackSize(1)) .model(AssetLookup.existingItemModel()) .lang("Engineer's Goggles") .register(); diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index 5daece9ab..be8672704 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -44,7 +44,6 @@ public class AllShapes { SPEED_CONTROLLER = shape(0, 0, 0, 16, 2, 16).add(1, 1, 1, 15, 15, 15) .erase(0, 8, 5, 16, 16, 11) .add(2, 9, 2, 14, 14, 14) - .erase(6, 11, 0, 10, 16, 16) .forHorizontalAxis(), HARVESTER_BASE = shape(0, 2, 0, 16, 14, 3).forDirectional(SOUTH), NOZZLE = shape(2, 0, 2, 14, 14, 14).add(1, 13, 1, 15, 15, 15) diff --git a/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java b/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java index d89c7b678..bbbe8e585 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java +++ b/src/main/java/com/simibubi/create/content/contraptions/KineticNetwork.java @@ -5,11 +5,14 @@ import java.util.Iterator; import java.util.Map; import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.components.flywheel.FlywheelTileEntity; +import com.simibubi.create.foundation.advancement.AllTriggers; public class KineticNetwork { public Long id; public boolean initialized; + public boolean containsFlywheel; public Map sources; public Map members; @@ -22,6 +25,7 @@ public class KineticNetwork { public KineticNetwork() { sources = new HashMap<>(); members = new HashMap<>(); + containsFlywheel = false; } public void initFromTE(float maxStress, float currentStress, int members) { @@ -40,6 +44,7 @@ public class KineticNetwork { unloadedCapacity -= lastCapacity * getStressMultiplierForSpeed(te.getGeneratedSpeed()); float addedStressCapacity = te.calculateAddedStressCapacity(); sources.put(te, addedStressCapacity); + containsFlywheel |= te instanceof FlywheelTileEntity; } unloadedStress -= lastStress * getStressMultiplierForSpeed(te.getTheoreticalSpeed()); @@ -61,7 +66,7 @@ public class KineticNetwork { if (te.isSource()) sources.put(te, te.calculateAddedStressCapacity()); members.put(te, te.calculateStressApplied()); - te.updateFromNetwork(currentCapacity, currentStress, getSize()); + updateFromNetwork(te); te.networkDirty = true; } @@ -84,16 +89,30 @@ public class KineticNetwork { te.updateFromNetwork(0, 0, 0); if (members.isEmpty()) { - TorquePropagator.networks.get(te.getWorld()).remove(this.id); + TorquePropagator.networks.get(te.getWorld()) + .remove(this.id); return; } - members.keySet().stream().findFirst().map(member -> member.networkDirty = true); + members.keySet() + .stream() + .findFirst() + .map(member -> member.networkDirty = true); } public void sync() { for (KineticTileEntity te : members.keySet()) - te.updateFromNetwork(currentCapacity, currentStress, getSize()); + updateFromNetwork(te); + } + + private void updateFromNetwork(KineticTileEntity te) { + boolean wasOverStressed = te.isOverStressed(); + te.updateFromNetwork(currentCapacity, currentStress, getSize()); + if (!wasOverStressed && te.isOverStressed() && te.getTheoreticalSpeed() != 0) { + AllTriggers.triggerForNearbyPlayers(AllTriggers.OVERSTRESSED, te.getWorld(), te.getPos(), 4); + if (containsFlywheel) + AllTriggers.triggerForNearbyPlayers(AllTriggers.OVERSTRESS_FLYWHEEL, te.getWorld(), te.getPos(), 4); + } } public void updateCapacity() { @@ -124,12 +143,16 @@ public class KineticNetwork { public float calculateCapacity() { float presentCapacity = 0; - for (Iterator iterator = sources.keySet().iterator(); iterator.hasNext();) { + containsFlywheel = false; + for (Iterator iterator = sources.keySet() + .iterator(); iterator.hasNext();) { KineticTileEntity te = iterator.next(); - if (te.getWorld().getTileEntity(te.getPos()) != te) { + if (te.getWorld() + .getTileEntity(te.getPos()) != te) { iterator.remove(); continue; } + containsFlywheel |= te instanceof FlywheelTileEntity; presentCapacity += getActualCapacityOf(te); } float newMaxStress = presentCapacity + unloadedCapacity; @@ -138,9 +161,11 @@ public class KineticNetwork { public float calculateStress() { float presentStress = 0; - for (Iterator iterator = members.keySet().iterator(); iterator.hasNext();) { + for (Iterator iterator = members.keySet() + .iterator(); iterator.hasNext();) { KineticTileEntity te = iterator.next(); - if (te.getWorld().getTileEntity(te.getPos()) != te) { + if (te.getWorld() + .getTileEntity(te.getPos()) != te) { iterator.remove(); continue; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticEffectHandler.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticEffectHandler.java index b898910a7..9e9d70c0b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticEffectHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticEffectHandler.java @@ -34,7 +34,7 @@ public class KineticEffectHandler { if (world.isRemote) { if (overStressedTime > 0) if (--overStressedTime == 0) - if (kte.overStressed) { + if (kte.isOverStressed()) { overStressedEffect = 1; spawnEffect(ParticleTypes.SMOKE, 0.2f, 5); } else { diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java index 40bea3dbd..f8aadaabf 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java @@ -138,8 +138,6 @@ public abstract class KineticTileEntity extends SmartTileEntity boolean overStressed = maxStress < currentStress && StressImpact.isEnabled(); if (overStressed != this.overStressed) { - if (speed != 0 && overStressed) - AllTriggers.triggerForNearbyPlayers(AllTriggers.OVERSTRESSED, world, pos, 8); float prevSpeed = getSpeed(); this.overStressed = overStressed; onSpeedChanged(prevSpeed); @@ -446,4 +444,8 @@ public abstract class KineticTileEntity extends SmartTileEntity return d.getAxisDirection() == AxisDirection.POSITIVE ? axisSpeed : -axisSpeed; } + public boolean isOverStressed() { + return overStressed; + } + } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java index 027c3c5a0..ed96d277d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java @@ -5,6 +5,7 @@ import static com.simibubi.create.foundation.utility.AngleHelper.getShortestAngl import static com.simibubi.create.foundation.utility.AngleHelper.rad; import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; import com.simibubi.create.foundation.gui.widgets.InterpolatedValue; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -149,6 +150,10 @@ public class CuckooClockTileEntity extends KineticTileEntity { animationProgress.lastValue = 0; animationProgress.value = 0; sendAnimationUpdate = true; + + if (animation == Animation.CREEPER) + AllTriggers.triggerForNearbyPlayers(AllTriggers.CUCKOO, world, pos, 10); + sendData(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java index 23b999e08..0b2292bda 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java @@ -10,6 +10,7 @@ import com.simibubi.create.AllTags; import com.simibubi.create.content.contraptions.particle.AirFlowParticleData; import com.simibubi.create.content.logistics.InWorldProcessing; import com.simibubi.create.content.logistics.InWorldProcessing.Type; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; @@ -22,6 +23,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.monster.EndermanEntity; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.util.DamageSource; import net.minecraft.util.Direction; @@ -112,9 +114,12 @@ public class AirCurrent { entityDistance -= .5f; InWorldProcessing.Type processingType = getSegmentAt((float) entityDistance); - - if (processingType == null) + + if (processingType == null) { + if (entity instanceof ServerPlayerEntity) + AllTriggers.triggerFor(AllTriggers.FAN, (PlayerEntity) entity); continue; + } if (entity instanceof ItemEntity) { InWorldProcessing.spawnParticlesForProcessing(world, entity.getPositionVec(), processingType); @@ -125,28 +130,34 @@ public class AirCurrent { InWorldProcessing.applyProcessing(itemEntity, processingType); continue; } - + if (world.isRemote) continue; - + switch (processingType) { case BLASTING: if (!entity.isFireImmune()) { entity.setFire(10); entity.attackEntityFrom(damageSourceLava, 4); } + if (entity instanceof ServerPlayerEntity) + AllTriggers.triggerFor(AllTriggers.FAN_LAVA, (PlayerEntity) entity); break; case SMOKING: if (!entity.isFireImmune()) { entity.setFire(2); entity.attackEntityFrom(damageSourceFire, 2); } + if (entity instanceof ServerPlayerEntity) + AllTriggers.triggerFor(AllTriggers.FAN_SMOKE, (PlayerEntity) entity); break; case SPLASHING: if (entity instanceof EndermanEntity || entity.getType() == EntityType.SNOW_GOLEM || entity.getType() == EntityType.BLAZE) { entity.attackEntityFrom(DamageSource.DROWN, 2); } + if (entity instanceof ServerPlayerEntity) + AllTriggers.triggerFor(AllTriggers.FAN_WATER, (PlayerEntity) entity); if (!entity.isBurning()) break; entity.extinguish(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java index 955cc6990..960f00319 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlywheelBlock.java @@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.flywheel; import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.block.Block; @@ -70,6 +71,7 @@ public class FlywheelBlock extends HorizontalKineticBlock { connection = ConnectionState.LEFT; world.setBlockState(pos, state.with(CONNECTION, connection), 18); + AllTriggers.triggerForNearbyPlayers(AllTriggers.FLYWHEEL, world, pos, 4); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingTileEntity.java index 62b31326a..ae7b9e084 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/ClockworkBearingTileEntity.java @@ -8,6 +8,7 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkContraption.HandType; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; @@ -107,9 +108,11 @@ public class ClockworkBearingTileEntity extends KineticTileEntity implements IBe protected void applyRotations() { BlockState blockState = getBlockState(); Axis axis = Axis.X; + if (blockState.contains(BlockStateProperties.FACING)) - axis = blockState.get(BlockStateProperties.FACING).getAxis(); - + axis = blockState.get(BlockStateProperties.FACING) + .getAxis(); + if (hourHand != null) { hourHand.setAngle(hourAngle); hourHand.setRotationAxis(axis); @@ -216,6 +219,8 @@ public class ClockworkBearingTileEntity extends KineticTileEntity implements IBe hourHand.setRotationAxis(direction.getAxis()); world.addEntity(hourHand); + AllTriggers.triggerForNearbyPlayers(AllTriggers.CLOCKWORK_BEARING, world, pos, 5); + if (contraption.getRight() != null) { anchor = pos.offset(direction, contraption.getRight().offset + 1); contraption.getRight() diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java index 321da9b58..14c6653f1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java @@ -7,6 +7,7 @@ import java.util.List; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour; @@ -125,6 +126,10 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity imp if (!contraption.assemble(world, pos)) return; + AllTriggers.triggerForNearbyPlayers(AllTriggers.WINDMILL, world, pos, 5); + if (contraption.getSailBlocks() >= 16 * 8) + AllTriggers.triggerForNearbyPlayers(AllTriggers.MAXED_WINDMILL, world, pos, 5); + contraption.removeBlocksFromWorld(world, BlockPos.ZERO); movedContraption = ControlledContraptionEntity.create(world, this, contraption); BlockPos anchor = pos.offset(direction); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java index 310c82a8e..de25c380c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/waterwheel/WaterWheelBlock.java @@ -3,11 +3,13 @@ package com.simibubi.create.content.contraptions.components.waterwheel; import javax.annotation.ParametersAreNonnullByDefault; import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllFluids; import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.config.AllConfigs; +import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; @@ -17,7 +19,6 @@ import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.BubbleColumnBlock; import net.minecraft.fluid.FluidState; -import net.minecraft.fluid.Fluids; import net.minecraft.item.BlockItemUseContext; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; @@ -129,8 +130,10 @@ public class WaterWheelBlock extends HorizontalKineticBlock implements ITE queued; Set> frontier; Set visited; + FluidStack fluid; List>> targets; Map> cache; @@ -49,6 +51,7 @@ public class FluidNetwork { this.start = location; this.sourceSupplier = sourceSupplier; this.source = LazyOptional.empty(); + this.fluid = FluidStack.EMPTY; this.frontier = new HashSet<>(); this.visited = new HashSet<>(); this.targets = new ArrayList<>(); @@ -62,7 +65,7 @@ public class FluidNetwork { pauseBeforePropagation--; return; } - + for (int cycle = 0; cycle < CYCLES_PER_TICK; cycle++) { boolean shouldContinue = false; for (Iterator iterator = queued.iterator(); iterator.hasNext();) { @@ -77,17 +80,22 @@ public class FluidNetwork { } iterator.remove(); } - + // drawDebugOutlines(); - + for (Iterator> iterator = frontier.iterator(); iterator.hasNext();) { Pair pair = iterator.next(); BlockFace blockFace = pair.getFirst(); PipeConnection pipeConnection = pair.getSecond(); - + if (!pipeConnection.hasFlow()) continue; + Flow flow = pipeConnection.flow.get(); + if (!fluid.isEmpty() && !flow.fluid.isFluidEqual(fluid)) { + iterator.remove(); + continue; + } if (!flow.inbound) { if (pipeConnection.comparePressure() >= 0) iterator.remove(); @@ -96,6 +104,9 @@ public class FluidNetwork { if (!flow.complete) continue; + if (fluid.isEmpty()) + fluid = flow.fluid; + boolean canRemove = true; for (Direction side : Iterate.directions) { if (side == blockFace.getFace()) @@ -120,14 +131,14 @@ public class FluidNetwork { canRemove = false; continue; } - + if (adjacent.source.isPresent() && adjacent.source.get() .isEndpoint()) { targets.add(Pair.of(adjacentLocation, adjacent.source.get() .provideHandler())); continue; } - + if (visited.add(adjacentLocation.getConnectedPos())) { queued.add(adjacentLocation.getOpposite()); shouldContinue = true; @@ -139,7 +150,7 @@ public class FluidNetwork { if (!shouldContinue) break; } - + // drawDebugOutlines(); if (!source.isPresent()) @@ -168,7 +179,18 @@ public class FluidNetwork { IFluidHandler handler = source.orElse(null); if (handler == null) return; - FluidStack transfer = handler.drain(flowSpeed, action); + + FluidStack transfer = FluidStack.EMPTY; + for (int i = 0; i < handler.getTanks(); i++) { + FluidStack contained = handler.getFluidInTank(i); + if (contained.isEmpty()) + continue; + if (!contained.isFluidEqual(fluid)) + continue; + FluidStack toExtract = FluidHelper.copyStackWithAmount(contained, flowSpeed); + transfer = handler.drain(toExtract, action); + } + if (transfer.isEmpty()) return; @@ -229,6 +251,7 @@ public class FluidNetwork { visited.clear(); targets.clear(); queued.clear(); + fluid = FluidStack.EMPTY; queued.add(start); pauseBeforePropagation = 2; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidReactions.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidReactions.java index 945849fb0..aa010ab7b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidReactions.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidReactions.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.contraptions.fluids; import com.simibubi.create.AllFluids; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.utility.BlockHelper; @@ -20,6 +21,8 @@ public class FluidReactions { Fluid f1 = fluid.getFluid(); Fluid f2 = fluid2.getFluid(); BlockHelper.destroyBlock(world, pos, 1); + AllTriggers.triggerForNearbyPlayers(AllTriggers.PIPE_COLLISION, world, pos, 5); + if (f1 == Fluids.WATER && f2 == Fluids.LAVA || f2 == Fluids.WATER && f1 == Fluids.LAVA) world.setBlockState(pos, Blocks.COBBLESTONE.getDefaultState()); else if (f1 == Fluids.LAVA && FluidHelper.hasBlockState(f2)) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java index 8f3f79196..91ac4cc83 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java @@ -6,6 +6,7 @@ import javax.annotation.Nullable; import com.simibubi.create.AllFluids; import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.BlockHelper; @@ -83,6 +84,8 @@ public class OpenEndedPipe extends FlowSource { if (simulate) return stack; + + AllTriggers.triggerForNearbyPlayers(AllTriggers.PIPE_SPILL, world, pos, 5); if (waterlog) { world.setBlockState(outputPos, state.with(BlockStateProperties.WATERLOGGED, false), 3); @@ -137,6 +140,8 @@ public class OpenEndedPipe extends FlowSource { 2.6F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.8F); return true; } + + AllTriggers.triggerForNearbyPlayers(AllTriggers.PIPE_SPILL, world, pos, 5); if (waterlog) { world.setBlockState(outputPos, state.with(BlockStateProperties.WATERLOGGED, true), 3); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java index 857e73a3e..ad2fd3027 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java @@ -4,6 +4,8 @@ import java.util.Optional; import java.util.Random; import java.util.function.Predicate; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.Couple; @@ -200,8 +202,11 @@ public class PipeConnection { float flowSpeed = 1 / 32f + MathHelper.clamp(pressure.get(flow.inbound) / 512f, 0, 1) * 31 / 32f; flow.progress.setValue(Math.min(flow.progress.getValue() + flowSpeed, 1)); - if (flow.progress.getValue() >= 1) + if (flow.progress.getValue() >= 1) { flow.complete = true; + if (flow.inbound && AllBlocks.GLASS_FLUID_PIPE.has(world.getBlockState(pos))) + AllTriggers.triggerForNearbyPlayers(AllTriggers.GLASS_PIPE, world, pos, 5); + } } public void serializeNBT(CompoundNBT tag, boolean clientPacket) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java index 975dba281..b198e7067 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java @@ -8,6 +8,9 @@ import java.util.Set; import javax.annotation.Nullable; +import com.simibubi.create.AllFluids; +import com.simibubi.create.foundation.advancement.AllTriggers; +import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; @@ -127,9 +130,17 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { return true; playEffect(world, currentPos, fluid, true); + AllTriggers.triggerForNearbyPlayers(AllTriggers.HOSE_PULLEY, world, tileEntity.getPos(), 8); - if (infinite) + if (infinite) { + if (FluidHelper.isLava(fluid)) + AllTriggers.triggerForNearbyPlayers(AllTriggers.INFINITE_LAVA, world, tileEntity.getPos(), 8); + if (FluidHelper.isWater(fluid)) + AllTriggers.triggerForNearbyPlayers(AllTriggers.INFINITE_WATER, world, tileEntity.getPos(), 8); + if (fluid.isEquivalentTo(AllFluids.CHOCOLATE.get())) + AllTriggers.triggerForNearbyPlayers(AllTriggers.INFINITE_CHOCOLATE, world, tileEntity.getPos(), 8); return true; + } world.setBlockState(currentPos, emptied, 2 | 16); affectedArea.expandTo(new MutableBoundingBox(currentPos, currentPos)); @@ -281,7 +292,7 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { int maxBlocks = maxBlocks(); if (validationVisited.size() > maxBlocks && maxBlocks != -1) { - if (!infinite) + if (!infinite) reset(); validationFrontier.clear(); setLongValidationTimer(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java index 24c2de30d..0f10e53b3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidFillingBehaviour.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Objects; import java.util.Set; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.Iterate; @@ -222,7 +223,9 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour { queue.enqueue(new BlockPosEntry(offsetPos, entry.distance + 1)); } } - + + if (!simulate && success) + AllTriggers.triggerForNearbyPlayers(AllTriggers.HOSE_PULLEY, world, tileEntity.getPos(), 8); return success; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/GenericItemFilling.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/GenericItemFilling.java index a18ffc858..4f6ebb553 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/GenericItemFilling.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/GenericItemFilling.java @@ -1,8 +1,10 @@ package com.simibubi.create.content.contraptions.fluids.actors; +import com.simibubi.create.AllFluids; import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler; import com.simibubi.create.foundation.fluid.FluidHelper; +import net.minecraft.fluid.Fluids; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -19,7 +21,7 @@ import net.minecraftforge.fluids.capability.wrappers.FluidBucketWrapper; public class GenericItemFilling { public static boolean canItemBeFilled(World world, ItemStack stack) { - if (stack.getItem() == Items.GLASS_BOTTLE) + if (stack.getItem() == Items.GLASS_BOTTLE) return true; LazyOptional capability = @@ -34,9 +36,9 @@ public class GenericItemFilling { } return false; } - + public static int getRequiredAmountForItem(World world, ItemStack stack, FluidStack availableFluid) { - if (stack.getItem() == Items.GLASS_BOTTLE) + if (stack.getItem() == Items.GLASS_BOTTLE && canFillGlassBottleInternally(availableFluid)) return PotionFluidHandler.getRequiredAmountForFilledBottle(stack, availableFluid); LazyOptional capability = @@ -45,7 +47,8 @@ public class GenericItemFilling { if (tank == null) return -1; if (tank instanceof FluidBucketWrapper) { - Item filledBucket = availableFluid.getFluid().getFilledBucket(); + Item filledBucket = availableFluid.getFluid() + .getFilledBucket(); if (filledBucket == null || filledBucket == Items.AIR) return -1; return 1000; @@ -54,13 +57,20 @@ public class GenericItemFilling { int filled = tank.fill(availableFluid, FluidAction.SIMULATE); return filled == 0 ? -1 : filled; } - + + private static boolean canFillGlassBottleInternally(FluidStack availableFluid) { + return availableFluid.getFluid() + .isEquivalentTo(Fluids.WATER) + || availableFluid.getFluid() + .isEquivalentTo(AllFluids.POTION.get()); + } + public static ItemStack fillItem(World world, int requiredAmount, ItemStack stack, FluidStack availableFluid) { FluidStack toFill = availableFluid.copy(); toFill.setAmount(requiredAmount); availableFluid.shrink(requiredAmount); - - if (stack.getItem() == Items.GLASS_BOTTLE) { + + if (stack.getItem() == Items.GLASS_BOTTLE && canFillGlassBottleInternally(availableFluid)) { ItemStack fillBottle = ItemStack.EMPTY; if (FluidHelper.isWater(toFill.getFluid())) fillBottle = PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER); @@ -83,5 +93,5 @@ public class GenericItemFilling { stack.shrink(1); return container; } - + } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainTileEntity.java index 417946042..6521e6b57 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainTileEntity.java @@ -6,6 +6,7 @@ import java.util.Map; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; @@ -159,6 +160,8 @@ public class ItemDrainTileEntity extends SmartTileEntity { ItemStack returned = directBeltInputBehaviour.handleInsertion(heldItem.copy(), side, false); if (returned.isEmpty()) { + if (world.getTileEntity(nextPosition) instanceof ItemDrainTileEntity) + AllTriggers.triggerForNearbyPlayers(AllTriggers.CHAINED_ITEM_DRAIN, world, pos, 5); heldItem = null; notifyUpdate(); return; @@ -209,6 +212,7 @@ public class ItemDrainTileEntity extends SmartTileEntity { } emptyItem = EmptyingByBasin.emptyItem(world, heldItem.stack.copy(), false); + AllTriggers.triggerForNearbyPlayers(AllTriggers.ITEM_DRAIN, world, pos, 5); // Process finished ItemStack out = emptyItem.getSecond(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java index c3a3f1119..c0dede9af 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/SpoutTileEntity.java @@ -9,6 +9,7 @@ import java.util.List; import javax.annotation.Nullable; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBehaviour; @@ -20,10 +21,12 @@ import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; +import net.minecraft.item.PotionItem; import net.minecraft.nbt.CompoundNBT; import net.minecraft.particles.BlockParticleData; import net.minecraft.particles.IParticleData; import net.minecraft.particles.ParticleTypes; +import net.minecraft.potion.PotionUtils; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; import net.minecraft.util.Direction; @@ -127,6 +130,10 @@ public class SpoutTileEntity extends SmartTileEntity { handler.handleProcessingOnItem(transported, TransportedResult.convertToAndLeaveHeld(outList, held)); } + AllTriggers.triggerForNearbyPlayers(AllTriggers.SPOUT, world, pos, 5); + if (out.getItem() instanceof PotionItem && !PotionUtils.getEffectsFromStack(out).isEmpty()) + AllTriggers.triggerForNearbyPlayers(AllTriggers.SPOUT_POTION, world, pos, 5); + tank.getPrimaryHandler() .setFluid(fluid); sendSplash = true; 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 d93f79610..523ed204c 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 @@ -9,6 +9,7 @@ import com.simibubi.create.AllShapes; import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; @@ -64,6 +65,7 @@ public class AxisPipeBlock extends RotatedPillarBlock implements IWrenchableWith newState = newState.with(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(d), true); world.setBlockState(pos, newState); } + AllTriggers.triggerFor(AllTriggers.CASING_PIPE, player); return ActionResultType.SUCCESS; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java index 2dfa57d2c..d7aaf70b8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/BracketBlockItem.java @@ -49,6 +49,10 @@ public class BracketBlockItem extends BlockItem { BlockState bracket = behaviour.getBracket(); behaviour.applyBracket(suitableBracket.get()); + + if (!world.isRemote && player != null) + behaviour.triggerAdvancements(world, player, state); + if (player == null || !player.isCreative()) { context.getItem() .shrink(1); 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 df8894f80..d950c2c37 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 @@ -11,6 +11,7 @@ import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.Iterate; @@ -74,6 +75,7 @@ public class FluidPipeBlock extends SixWayBlock implements IWaterLoggable, IWren BlockRayTraceResult hit) { if (!AllBlocks.COPPER_CASING.isIn(player.getHeldItem(hand))) return ActionResultType.PASS; + AllTriggers.triggerFor(AllTriggers.CASING_PIPE, player); if (!world.isRemote) world.setBlockState(pos, EncasedPipeBlock.transferSixWayProperties(state, AllBlocks.ENCASED_FLUID_PIPE.getDefaultState())); 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 bc8ee0be2..3f9d2cf3f 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 @@ -5,6 +5,7 @@ import java.util.List; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour; import com.simibubi.create.content.contraptions.relays.elementary.BracketedTileEntityBehaviour; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; @@ -23,7 +24,8 @@ public class FluidPipeTileEntity extends SmartTileEntity { @Override public void addBehaviours(List behaviours) { behaviours.add(new StandardPipeFluidTransportBehaviour(this)); - behaviours.add(new BracketedTileEntityBehaviour(this, this::canHaveBracket)); + behaviours.add(new BracketedTileEntityBehaviour(this, this::canHaveBracket) + .withTrigger(state -> AllTriggers.BRACKET_PIPE)); } private boolean canHaveBracket(BlockState state) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java index cd6f4ef2f..8bb4065b3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java @@ -34,6 +34,7 @@ import net.minecraft.state.EnumProperty; import net.minecraft.state.Property; import net.minecraft.state.StateContainer.Builder; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResultType; import net.minecraft.util.Hand; import net.minecraft.util.IItemProvider; @@ -123,29 +124,42 @@ public class BlazeBurnerBlock extends Block implements ITE res = tryInsert(state, world, pos, dontConsume ? heldItem.copy() : heldItem, forceOverflow, false); + ItemStack leftover = res.getResult(); + if (!world.isRemote && !dontConsume && !leftover.isEmpty()) { + if (heldItem.isEmpty()) { + player.setHeldItem(hand, leftover); + } else if (!player.inventory.addItemStackToInventory(leftover)) { + player.dropItem(leftover, false); + } + } + + return res.getType() == ActionResultType.SUCCESS ? res.getType() : ActionResultType.PASS; } - public static boolean tryInsert(BlockState state, World world, BlockPos pos, ItemStack stack, boolean forceOverflow, + public static ActionResult tryInsert(BlockState state, World world, BlockPos pos, ItemStack stack, boolean forceOverflow, boolean simulate) { if (!state.hasTileEntity()) - return false; + return ActionResult.fail(ItemStack.EMPTY); TileEntity te = world.getTileEntity(pos); if (!(te instanceof BlazeBurnerTileEntity)) - return false; + return ActionResult.fail(ItemStack.EMPTY); BlazeBurnerTileEntity burnerTE = (BlazeBurnerTileEntity) te; if (!burnerTE.tryUpdateFuel(stack, forceOverflow, simulate)) - return false; + return ActionResult.fail(ItemStack.EMPTY); + + ItemStack container = stack.getContainerItem(); if (!simulate && !world.isRemote) { world.playSound(null, pos, SoundEvents.ENTITY_BLAZE_SHOOT, SoundCategory.BLOCKS, .125f + world.rand.nextFloat() * .125f, .75f - world.rand.nextFloat() * .25f); stack.shrink(1); } - return true; + if (!container.isEmpty()) { + return ActionResult.success(container); + } + return ActionResult.success(ItemStack.EMPTY); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java index 9d0540394..6da015608 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerBlock.java @@ -24,7 +24,7 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock { public TileEntity createTileEntity(BlockState state, IBlockReader world) { return AllTileEntities.ROTATION_SPEED_CONTROLLER.create(); } - + @Override public BlockState getStateForPlacement(BlockItemUseContext context) { BlockState above = context.getWorld().getBlockState(context.getPos().up()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java index 38222adf4..c540ecb65 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java @@ -15,6 +15,7 @@ import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.BlockHelper; @@ -267,6 +268,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE te.setCasingType(CasingType.BRASS)); return ActionResultType.SUCCESS; } @@ -274,6 +276,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE te.setCasingType(CasingType.ANDESITE)); return ActionResultType.SUCCESS; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java index 8690fbc5a..e594aeb19 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java @@ -27,6 +27,7 @@ import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemS import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.NBTHelper; +import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.item.DyeColor; @@ -76,7 +77,7 @@ public class BeltTileEntity extends KineticTileEntity { casing = CasingType.NONE; color = -1; } - + @Override public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); @@ -102,7 +103,7 @@ public class BeltTileEntity extends KineticTileEntity { if (!isController()) return; getInventory().tick(); - + if (getSpeed() == 0) return; @@ -373,6 +374,10 @@ public class BeltTileEntity extends KineticTileEntity { public void setCasingType(CasingType type) { if (casing == type) return; + if (casing != CasingType.NONE) + world.playEvent(2001, pos, + Block.getStateId(casing == CasingType.ANDESITE ? AllBlocks.ANDESITE_CASING.getDefaultState() + : AllBlocks.BRASS_CASING.getDefaultState())); casing = type; boolean shouldBlockHaveCasing = type != CasingType.NONE; BlockState blockState = getBlockState(); 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 6710dbb0b..aae3ce480 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 @@ -1,9 +1,12 @@ package com.simibubi.create.content.contraptions.relays.elementary; import java.util.Optional; +import java.util.function.Function; import java.util.function.Predicate; import com.google.common.base.Predicates; +import com.simibubi.create.foundation.advancement.AllTriggers; +import com.simibubi.create.foundation.advancement.SimpleTrigger; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; @@ -12,6 +15,7 @@ import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.NBTUtil; import net.minecraft.world.World; @@ -24,6 +28,7 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { private boolean reRender; private Predicate pred; + private Function trigger; public BracketedTileEntityBehaviour(SmartTileEntity te) { this(te, Predicates.alwaysTrue()); @@ -34,6 +39,11 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { this.pred = pred; bracket = Optional.empty(); } + + public BracketedTileEntityBehaviour withTrigger(Function trigger) { + this.trigger = trigger; + return this; + } @Override public BehaviourType getType() { @@ -45,6 +55,12 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { reRender = true; tileEntity.notifyUpdate(); } + + public void triggerAdvancements(World world, PlayerEntity player, BlockState state) { + if (trigger == null) + return; + AllTriggers.triggerFor(trigger.apply(state), player); + } public void removeBracket() { World world = getWorld(); 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 e27e44c3a..c4f48c976 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 @@ -4,6 +4,7 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; +import com.simibubi.create.foundation.advancement.AllTriggers; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; @@ -61,7 +62,8 @@ public class ShaftBlock extends AbstractShaftBlock { if (world.isRemote) return ActionResultType.SUCCESS; - + + AllTriggers.triggerFor(AllTriggers.CASING_SHAFT, player); KineticTileEntity.switchToBlockState(world, pos, encasedShaft.getDefaultState() .with(AXIS, state.get(AXIS))); return ActionResultType.SUCCESS; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticTileEntity.java index a7cda5e6c..864b659f3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/SimpleKineticTileEntity.java @@ -3,6 +3,7 @@ package com.simibubi.create.content.contraptions.relays.elementary; import java.util.List; import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import net.minecraft.tileentity.TileEntityType; @@ -16,7 +17,9 @@ public class SimpleKineticTileEntity extends KineticTileEntity { @Override public void addBehaviours(List behaviours) { - behaviours.add(new BracketedTileEntityBehaviour(this, state -> state.getBlock() instanceof AbstractShaftBlock)); + behaviours.add( + new BracketedTileEntityBehaviour(this, state -> state.getBlock() instanceof AbstractShaftBlock).withTrigger( + state -> state.getBlock() instanceof ShaftBlock ? AllTriggers.BRACKET_SHAFT : AllTriggers.BRACKET_COG)); super.addBehaviours(behaviours); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/SpeedGaugeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/SpeedGaugeTileEntity.java index aee3e4789..a6c0aa405 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/SpeedGaugeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/SpeedGaugeTileEntity.java @@ -51,7 +51,7 @@ public class SpeedGaugeTileEntity extends GaugeTileEntity{ super.addToGoggleTooltip(tooltip, isPlayerSneaking); tooltip.add(componentSpacing.copy().append(Lang.translate("gui.speedometer.title").formatted(TextFormatting.GRAY))); - tooltip.add(componentSpacing.copy().append(SpeedLevel.getFormattedSpeedText(speed, overStressed))); + tooltip.add(componentSpacing.copy().append(SpeedLevel.getFormattedSpeedText(speed, isOverStressed()))); return true; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeTileEntity.java index c77bf82ea..470522dff 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/StressGaugeTileEntity.java @@ -26,7 +26,7 @@ public class StressGaugeTileEntity extends GaugeTileEntity { if (!StressImpact.isEnabled()) dialTarget = 0; - else if (overStressed) + else if (isOverStressed()) dialTarget = 1.125f; else if (maxStress == 0) dialTarget = 0; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java index c083c15bc..3f7a44fc5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelItem.java @@ -4,6 +4,7 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.CasingType; +import com.simibubi.create.foundation.advancement.AllTriggers; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -38,8 +39,11 @@ public class BeltTunnelItem extends BlockItem { boolean flag = super.onBlockPlaced(pos, world, p_195943_3_, p_195943_4_, state); if (!world.isRemote) { BeltTileEntity belt = BeltHelper.getSegmentTE(world, pos.down()); - if (belt != null && belt.casing == CasingType.NONE) - belt.setCasingType(AllBlocks.ANDESITE_TUNNEL.has(state) ? CasingType.ANDESITE : CasingType.BRASS); + if (belt != null) { + AllTriggers.triggerFor(AllTriggers.PLACE_TUNNEL, p_195943_3_); + if (belt.casing == CasingType.NONE) + belt.setCasingType(AllBlocks.ANDESITE_TUNNEL.has(state) ? CasingType.ANDESITE : CasingType.BRASS); + } } return flag; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelTileEntity.java index 1933f3308..9a8d76134 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelTileEntity.java @@ -15,6 +15,7 @@ import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; @@ -529,6 +530,7 @@ public class BrassTunnelTileEntity extends BeltTunnelTileEntity { if (adjacent != null && !world.isRemote) { adjacent.updateTunnelConnections(); adjacent.selectionMode.setValue(selectionMode.getValue()); + AllTriggers.triggerForNearbyPlayers(AllTriggers.CONNECT_TUNNEL, world, pos, 4); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java index 45fc0691f..1966a2bfd 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/chute/ChuteTileEntity.java @@ -16,6 +16,7 @@ import com.simibubi.create.content.contraptions.particle.AirParticleData; import com.simibubi.create.content.logistics.block.chute.ChuteBlock.Shape; import com.simibubi.create.content.logistics.block.funnel.BrassFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.gui.widgets.InterpolatedValue; import com.simibubi.create.foundation.item.ItemHelper; @@ -230,6 +231,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor (float) (itemEntity.getBoundingBox() .getCenter().y - pos.getY())); itemEntity.remove(); + AllTriggers.triggerForNearbyPlayers(AllTriggers.UPWARD_CHUTE, world, pos, 5); break; } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java index fc6bc1324..b3b98305e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/BeltFunnelBlock.java @@ -6,6 +6,7 @@ import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; import com.simibubi.create.content.contraptions.wrench.IWrenchable; +import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; @@ -106,7 +107,10 @@ public abstract class BeltFunnelBlock extends HorizontalBlock implements IWrench BlockState stateForPlacement = super.getStateForPlacement(ctx); BlockPos pos = ctx.getPos(); World world = ctx.getWorld(); - Direction facing = ctx.getFace(); + Direction facing = ctx.getPlayer() == null || ctx.getPlayer() + .isSneaking() ? ctx.getFace() + : ctx.getNearestLookingDirection() + .getOpposite(); if (hasPoweredProperty()) stateForPlacement = stateForPlacement.with(POWERED, world.isBlockPowered(pos)); @@ -216,8 +220,19 @@ public abstract class BeltFunnelBlock extends HorizontalBlock implements IWrench newShape = Shape.EXTENDED; } - if (newShape != shape) - world.setBlockState(context.getPos(), state.with(SHAPE, newShape)); + if (newShape == shape) + return ActionResultType.SUCCESS; + + world.setBlockState(context.getPos(), state.with(SHAPE, newShape)); + + if (newShape == Shape.EXTENDED) { + Direction facing = state.get(HORIZONTAL_FACING); + BlockState opposite = world.getBlockState(context.getPos() + .offset(facing)); + if (opposite.getBlock() instanceof BeltFunnelBlock && opposite.get(SHAPE) == Shape.EXTENDED + && opposite.get(HORIZONTAL_FACING) == facing.getOpposite()) + AllTriggers.triggerFor(AllTriggers.BELT_FUNNEL_KISS, context.getPlayer()); + } return ActionResultType.SUCCESS; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java index d55237bda..21e8b8276 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java @@ -41,7 +41,7 @@ import net.minecraft.world.World; public abstract class FunnelBlock extends ProperDirectionalBlock implements ITE { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; - + public FunnelBlock(Properties p_i48415_1_) { super(p_i48415_1_); setDefaultState(getDefaultState().with(POWERED, false)); @@ -49,9 +49,13 @@ public abstract class FunnelBlock extends ProperDirectionalBlock implements ITE< @Override public BlockState getStateForPlacement(BlockItemUseContext context) { - Direction facing = context.getFace(); - return getDefaultState().with(FACING, facing).with(POWERED, context.getWorld() - .isBlockPowered(context.getPos())); + Direction facing = context.getPlayer() == null || context.getPlayer() + .isSneaking() ? context.getFace() + : context.getNearestLookingDirection() + .getOpposite(); + return getDefaultState().with(FACING, facing) + .with(POWERED, context.getWorld() + .isBlockPowered(context.getPos())); } @Override @@ -68,14 +72,14 @@ public abstract class FunnelBlock extends ProperDirectionalBlock implements ITE< if (previouslyPowered != worldIn.isBlockPowered(pos)) worldIn.setBlockState(pos, state.cycle(POWERED), 2); } - + @Override public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { ItemStack heldItem = player.getHeldItem(handIn); boolean shouldntInsertItem = AllBlocks.MECHANICAL_ARM.isIn(heldItem) || !canInsertIntoFunnel(state); - + if (hit.getFace() == getFunnelFacing(state) && !shouldntInsertItem) { if (!worldIn.isRemote) withTileEntityDo(worldIn, pos, te -> { @@ -127,13 +131,13 @@ public abstract class FunnelBlock extends ProperDirectionalBlock implements ITE< if (simulate) inserter.simulate(); ItemStack insert = inserter.insert(toInsert); - + if (!simulate && insert.getCount() != toInsert.getCount()) { TileEntity tileEntity = worldIn.getTileEntity(pos); if (tileEntity instanceof FunnelTileEntity) ((FunnelTileEntity) tileEntity).onTransfer(toInsert); } - + return insert; } @@ -168,7 +172,8 @@ public abstract class FunnelBlock extends ProperDirectionalBlock implements ITE< if (direction == Direction.DOWN) { BlockState equivalentFunnel = getEquivalentBeltFunnel(null, null, state); if (BeltFunnelBlock.isOnValidBelt(equivalentFunnel, world, pos)) - return equivalentFunnel.with(BeltFunnelBlock.SHAPE, BeltFunnelBlock.getShapeForPosition(world, pos, facing)); + return equivalentFunnel.with(BeltFunnelBlock.SHAPE, + BeltFunnelBlock.getShapeForPosition(world, pos, facing)); } } return state; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelItem.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelItem.java index 1c8a21912..cd372d720 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelItem.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.logistics.block.funnel; import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity; +import com.simibubi.create.foundation.advancement.AllTriggers; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -52,8 +53,10 @@ public class FunnelItem extends BlockItem { .getBlock(); BlockState equivalentBeltFunnel = beltFunnelBlock.getStateForPlacement(ctx) .with(BeltFunnelBlock.HORIZONTAL_FACING, direction); - if (BeltFunnelBlock.isOnValidBelt(equivalentBeltFunnel, world, pos)) + if (BeltFunnelBlock.isOnValidBelt(equivalentBeltFunnel, world, pos)) { + AllTriggers.triggerFor(AllTriggers.BELT_FUNNEL, ctx.getPlayer()); return equivalentBeltFunnel; + } return state; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java index 5cb729e75..735f009d8 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInteractionPoint.java @@ -36,6 +36,8 @@ import net.minecraft.nbt.NBTUtil; import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.JukeboxTileEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResult; +import net.minecraft.util.ActionResultType; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.vector.Vector3d; @@ -277,8 +279,12 @@ public abstract class ArmInteractionPoint { @Override ItemStack insert(World world, ItemStack stack, boolean simulate) { - boolean success = BlazeBurnerBlock.tryInsert(state, world, pos, stack.copy(), false, simulate); - return success ? ItemHandlerHelper.copyStackWithSize(stack, stack.getCount() - 1) : stack; + ItemStack input = stack.copy(); + if (!BlazeBurnerBlock.tryInsert(state, world, pos, input, false, true).getResult().isEmpty()) { + return stack; + } + ActionResult res = BlazeBurnerBlock.tryInsert(state, world, pos, input, false, simulate); + return res.getType() == ActionResultType.SUCCESS ? ItemHandlerHelper.copyStackWithSize(stack, stack.getCount() - 1) : stack; } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmTileEntity.java index 82c93783e..bf9c2c50a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmTileEntity.java @@ -367,6 +367,8 @@ public class ArmTileEntity extends KineticTileEntity { return; inputs.clear(); outputs.clear(); + + boolean hasBlazeBurner = false; for (INBT inbt : interactionPointTag) { ArmInteractionPoint point = ArmInteractionPoint.deserialize(world, (CompoundNBT) inbt); if (point == null) @@ -375,7 +377,16 @@ public class ArmTileEntity extends KineticTileEntity { outputs.add(point); if (point.mode == Mode.TAKE) inputs.add(point); + hasBlazeBurner |= point instanceof ArmInteractionPoint.BlazeBurner; } + + if (!world.isRemote) { + if (outputs.size() >= 10) + AllTriggers.triggerForNearbyPlayers(AllTriggers.ARM_MANY_TARGETS, world, pos, 5); + if (hasBlazeBurner) + AllTriggers.triggerForNearbyPlayers(AllTriggers.ARM_BLAZE_BURNER, world, pos, 5); + } + updateInteractionPoints = false; sendData(); markDirty(); diff --git a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java index 4b1ec3d84..0690927b8 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java @@ -13,6 +13,7 @@ import com.google.common.collect.Sets; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllFluids; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperItem; @@ -29,7 +30,6 @@ import net.minecraft.block.Blocks; import net.minecraft.data.DataGenerator; import net.minecraft.data.DirectoryCache; import net.minecraft.data.IDataProvider; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.util.IItemProvider; @@ -59,6 +59,20 @@ public class AllAdvancements implements IDataProvider { kineticsBranch(t, andesite_alloy); + Advancement aesthetics = + advancement("aesthetics", AllBlocks.WOODEN_BRACKET.get(), TaskType.NORMAL).withParent(andesite_alloy) + .withCriterion("0", AllTriggers.BRACKET_SHAFT.instance()) + .withCriterion("1", AllTriggers.BRACKET_COG.instance()) + .withCriterion("2", AllTriggers.BRACKET_PIPE.instance()) + .register(t, id + ":aesthetics"); + + Advancement reinforced = + advancement("reinforced", AllBlocks.ANDESITE_ENCASED_SHAFT.get(), TaskType.NORMAL).withParent(aesthetics) + .withCriterion("0", AllTriggers.CASING_SHAFT.instance()) + .withCriterion("1", AllTriggers.CASING_BELT.instance()) + .withCriterion("2", AllTriggers.CASING_PIPE.instance()) + .register(t, id + ":reinforced"); + Advancement water_wheel = advancement("water_wheel", AllBlocks.WATER_WHEEL.get(), TaskType.NORMAL).withParent(andesite_alloy) .withCriterion("0", placeBlock(AllBlocks.WATER_WHEEL.get())) @@ -69,17 +83,35 @@ public class AllAdvancements implements IDataProvider { .withCriterion("0", AllTriggers.LAVA_WHEEL.instance()) .register(t, id + ":lava_wheel"); + Advancement chocolate_wheel = advancement("chocolate_wheel", AllFluids.CHOCOLATE.get() + .getFilledBucket(), TaskType.SECRET).withParent(water_wheel) + .withCriterion("0", AllTriggers.CHOCOLATE_WHEEL.instance()) + .register(t, id + ":chocolate_wheel"); + Advancement millstone = kinecticAdvancement("millstone", AllBlocks.MILLSTONE.get(), TaskType.NORMAL).withParent(andesite_alloy) .register(t, id + ":millstone"); + Advancement cuckoo = + advancement("cuckoo", AllBlocks.CUCKOO_CLOCK.get(), TaskType.NORMAL).withParent(andesite_alloy) + .withCriterion("0", AllTriggers.CUCKOO.instance()) + .register(t, id + ":cuckoo"); + + Advancement windmill = + advancement("windmill", AllBlocks.WINDMILL_BEARING.get(), TaskType.NORMAL).withParent(andesite_alloy) + .withCriterion("0", AllTriggers.WINDMILL.instance()) + .register(t, id + ":windmill"); + + Advancement maxed_windmill = + advancement("maxed_windmill", AllBlocks.WINDMILL_BEARING.get(), TaskType.GOAL).withParent(windmill) + .withCriterion("0", AllTriggers.MAXED_WINDMILL.instance()) + .register(t, id + ":maxed_windmill"); + Advancement andesite_casing = advancement("andesite_casing", AllBlocks.ANDESITE_CASING.get(), TaskType.GOAL).withParent(andesite_alloy) .withCriterion("0", itemGathered(AllBlocks.ANDESITE_CASING.get())) .register(t, id + ":andesite_casing"); - andesiteExpertLane(t, andesite_casing); - Advancement drill = kinecticAdvancement("mechanical_drill", AllBlocks.MECHANICAL_DRILL.get(), TaskType.NORMAL) .withParent(andesite_casing) .register(t, id + ":mechanical_drill"); @@ -89,6 +121,22 @@ public class AllAdvancements implements IDataProvider { .withCriterion("0", AllTriggers.BONK.instance()) .register(t, id + ":press"); + Advancement fan = advancement("fan", AllBlocks.ENCASED_FAN.get(), TaskType.NORMAL).withParent(press) + .withCriterion("0", AllTriggers.FAN.instance()) + .register(t, id + ":fan"); + + Advancement fan_lava = advancement("fan_lava", Items.LAVA_BUCKET, TaskType.NORMAL).withParent(fan) + .withCriterion("0", AllTriggers.FAN_LAVA.instance()) + .register(t, id + ":fan_lava"); + + Advancement fan_smoke = advancement("fan_smoke", Items.CAMPFIRE, TaskType.NORMAL).withParent(fan) + .withCriterion("0", AllTriggers.FAN_SMOKE.instance()) + .register(t, id + ":fan_smoke"); + + Advancement fan_water = advancement("fan_water", Items.WATER_BUCKET, TaskType.NORMAL).withParent(fan) + .withCriterion("0", AllTriggers.FAN_WATER.instance()) + .register(t, id + ":fan_water"); + Advancement rose_quartz = itemAdvancement("polished_rose_quartz", AllItems.POLISHED_ROSE_QUARTZ, TaskType.NORMAL) .withParent(andesite_casing) @@ -119,7 +167,11 @@ public class AllAdvancements implements IDataProvider { .withParent(basin) .register(t, id + ":compact"); - Advancement brass = itemAdvancement("brass", AllItems.BRASS_INGOT, TaskType.NORMAL).withParent(mixer) + Advancement blaze_burner = + itemAdvancement("blaze_burner", AllBlocks.BLAZE_BURNER, TaskType.NORMAL).withParent(mixer) + .register(t, id + ":blaze_burner"); + + Advancement brass = itemAdvancement("brass", AllItems.BRASS_INGOT, TaskType.NORMAL).withParent(blaze_burner) .register(t, id + ":brass"); brassAge(t, brass); @@ -137,6 +189,34 @@ public class AllAdvancements implements IDataProvider { .withCriterion("0", AllTriggers.CONNECT_BELT.instance()) .register(t, id + ":belt"); + Advancement tunnel = advancement("tunnel", AllBlocks.ANDESITE_TUNNEL.get(), TaskType.NORMAL).withParent(belt) + .withCriterion("0", AllTriggers.PLACE_TUNNEL.instance()) + .register(t, id + ":tunnel"); + + Advancement splitter_tunnel = + advancement("splitter_tunnel", AllBlocks.BRASS_TUNNEL.get(), TaskType.MILESTONE).withParent(tunnel) + .withCriterion("0", AllTriggers.CONNECT_TUNNEL.instance()) + .register(t, id + ":splitter_tunnel"); + + Advancement chute = advancement("chute", AllBlocks.CHUTE.get(), TaskType.NORMAL).withParent(belt) + .withCriterion("0", placeBlock(AllBlocks.CHUTE.get())) + .register(t, id + ":chute"); + + Advancement upward_chute = + advancement("upward_chute", AllBlocks.ENCASED_FAN.get(), TaskType.NORMAL).withParent(chute) + .withCriterion("0", AllTriggers.UPWARD_CHUTE.instance()) + .register(t, id + ":upward_chute"); + + Advancement belt_funnel = + advancement("belt_funnel", AllBlocks.ANDESITE_FUNNEL.get(), TaskType.NORMAL).withParent(belt) + .withCriterion("0", AllTriggers.BELT_FUNNEL.instance()) + .register(t, id + ":belt_funnel"); + + Advancement belt_funnel_kiss = + advancement("belt_funnel_kiss", AllBlocks.BRASS_FUNNEL.get(), TaskType.SECRET).withParent(belt_funnel) + .withCriterion("0", AllTriggers.BELT_FUNNEL_KISS.instance()) + .register(t, id + ":belt_funnel_kiss"); + Advancement wrench = itemAdvancement("wrench", AllItems.WRENCH, TaskType.NORMAL).withParent(its_alive) .register(t, id + ":wrench"); @@ -170,9 +250,61 @@ public class AllAdvancements implements IDataProvider { .withCriterion("0", itemGathered(AllBlocks.COPPER_CASING.get())) .register(t, id + ":copper_casing"); - Advancement copper_end = deadEnd().withParent(copper_casing) - .withCriterion("0", itemGathered(AllBlocks.COPPER_CASING.get())) - .register(t, id + ":copper_end"); + Advancement item_drain = + advancement("item_drain", AllBlocks.ITEM_DRAIN.get(), TaskType.NORMAL).withParent(copper_casing) + .withCriterion("0", AllTriggers.ITEM_DRAIN.instance()) + .register(t, id + ":item_drain"); + + Advancement chained_item_drain = + advancement("chained_item_drain", AllBlocks.ITEM_DRAIN.get(), TaskType.SECRET).withParent(item_drain) + .withCriterion("0", AllTriggers.CHAINED_ITEM_DRAIN.instance()) + .register(t, id + ":chained_item_drain"); + + Advancement spout = advancement("spout", AllBlocks.SPOUT.get(), TaskType.NORMAL).withParent(copper_casing) + .withCriterion("0", AllTriggers.SPOUT.instance()) + .register(t, id + ":spout"); + + Advancement spout_potion = advancement("spout_potion", Items.POTION, TaskType.GOAL).withParent(spout) + .withCriterion("0", AllTriggers.SPOUT_POTION.instance()) + .register(t, id + ":spout_potion"); + + Advancement chocolate = itemAdvancement("chocolate", () -> AllFluids.CHOCOLATE.get() + .getFilledBucket(), TaskType.GOAL).withParent(spout) + .register(t, id + ":chocolate"); + + Advancement glass_pipe = + advancement("glass_pipe", AllBlocks.FLUID_PIPE.get(), TaskType.NORMAL).withParent(copper_casing) + .withCriterion("0", AllTriggers.GLASS_PIPE.instance()) + .register(t, id + ":glass_pipe"); + + Advancement pipe_collision = + advancement("pipe_collision", AllBlocks.FLUID_VALVE.get(), TaskType.NORMAL).withParent(glass_pipe) + .withCriterion("0", AllTriggers.PIPE_COLLISION.instance()) + .register(t, id + ":pipe_collision"); + + Advancement pipe_spill = advancement("pipe_spill", Items.BUCKET, TaskType.NORMAL).withParent(glass_pipe) + .withCriterion("0", AllTriggers.PIPE_SPILL.instance()) + .register(t, id + ":pipe_spill"); + + Advancement hose_pulley = + advancement("hose_pulley", AllBlocks.HOSE_PULLEY.get(), TaskType.NORMAL).withParent(pipe_spill) + .withCriterion("0", AllTriggers.HOSE_PULLEY.instance()) + .register(t, id + ":hose_pulley"); + + Advancement infinite_water = + advancement("infinite_water", Items.WATER_BUCKET, TaskType.NORMAL).withParent(hose_pulley) + .withCriterion("0", AllTriggers.INFINITE_WATER.instance()) + .register(t, id + ":infinite_water"); + + Advancement infinite_lava = + advancement("infinite_lava", Items.LAVA_BUCKET, TaskType.GOAL).withParent(hose_pulley) + .withCriterion("0", AllTriggers.INFINITE_LAVA.instance()) + .register(t, id + ":infinite_lava"); + + Advancement infinite_chocolate = advancement("infinite_chocolate", AllFluids.CHOCOLATE.get() + .getFilledBucket(), TaskType.CHALLENGE).withParent(hose_pulley) + .withCriterion("0", AllTriggers.INFINITE_CHOCOLATE.instance()) + .register(t, id + ":infinite_chocolate"); } void brassAge(Consumer t, Advancement root) { @@ -183,12 +315,45 @@ public class AllAdvancements implements IDataProvider { .withCriterion("0", itemGathered(AllBlocks.BRASS_CASING.get())) .register(t, id + ":brass_casing"); + Advancement nixie_tube = + advancement("nixie_tube", AllBlocks.NIXIE_TUBE.get(), TaskType.NORMAL).withParent(brass_casing) + .withCriterion("0", placeBlock(AllBlocks.NIXIE_TUBE.get())) + .register(t, id + ":nixie_tube"); + Advancement crafter = kinecticAdvancement("crafter", AllBlocks.MECHANICAL_CRAFTER.get(), TaskType.MILESTONE) .withParent(brass_casing) .register(t, id + ":crafter"); + Advancement flywheel = advancement("flywheel", AllBlocks.FLYWHEEL.get(), TaskType.NORMAL).withParent(crafter) + .withCriterion("0", AllTriggers.FLYWHEEL.instance()) + .register(t, id + ":flywheel"); + + Advancement overstress_flywheel = + advancement("overstress_flywheel", AllBlocks.FURNACE_ENGINE.get(), TaskType.CHALLENGE).withParent(flywheel) + .withCriterion("0", AllTriggers.OVERSTRESS_FLYWHEEL.instance()) + .register(t, id + ":overstress_flywheel"); + + Advancement integrated_circuit = + itemAdvancement("integrated_circuit", AllItems.INTEGRATED_CIRCUIT, TaskType.NORMAL).withParent(crafter) + .register(t, id + ":integrated_circuit"); + + Advancement integrated_circuit_eob = deadEnd().withParent(integrated_circuit) + .withCriterion("0", itemGathered(AllItems.INTEGRATED_CIRCUIT.get())) + .register(t, id + ":integrated_circuit_eob"); + + Advancement speed_controller = + kinecticAdvancement("speed_controller", AllBlocks.ROTATION_SPEED_CONTROLLER.get(), TaskType.NORMAL) + .withParent(integrated_circuit) + .register(t, id + ":speed_controller"); + + Advancement clockwork_bearing = + advancement("clockwork_bearing", AllBlocks.CLOCKWORK_BEARING.get(), TaskType.NORMAL) + .withParent(brass_casing) + .withCriterion("0", AllTriggers.CLOCKWORK_BEARING.instance()) + .register(t, id + ":clockwork_bearing"); + Advancement extendo_grip = - advancement("extendo_grip", AllItems.EXTENDO_GRIP.get(), TaskType.NORMAL).withParent(root) + advancement("extendo_grip", AllItems.EXTENDO_GRIP.get(), TaskType.NORMAL).withParent(crafter) .withCriterion("0", AllTriggers.EXTENDO.instance()) .register(t, id + ":extendo_grip"); @@ -197,22 +362,28 @@ public class AllAdvancements implements IDataProvider { .withCriterion("0", AllTriggers.GIGA_EXTENDO.instance()) .register(t, id + ":dual_extendo_grip"); - Advancement mechanical_arm = advancement("mechanical_arm", AllBlocks.MECHANICAL_ARM.get(), TaskType.GOAL) - .withCriterion("0", placeBlock(AllBlocks.MECHANICAL_ARM.get())) - .withCriterion("1", isPowered(AllBlocks.MECHANICAL_ARM.get())) - .withCriterion("2", AllTriggers.MECHANICAL_ARM.instance()) + Advancement mechanical_arm = advancement("mechanical_arm", AllBlocks.MECHANICAL_ARM.get(), TaskType.MILESTONE) + .withCriterion("0", AllTriggers.MECHANICAL_ARM.instance()) .withParent(brass_casing) .register(t, id + ":mechanical_arm"); - + Advancement musical_arm = advancement("musical_arm", Items.MUSIC_DISC_13, TaskType.MILESTONE) - .withCriterion("0", placeBlock(AllBlocks.MECHANICAL_ARM.get())) - .withCriterion("1", isPowered(AllBlocks.MECHANICAL_ARM.get())) - .withCriterion("2", AllTriggers.MUSICAL_ARM.instance()) + .withCriterion("0", AllTriggers.MUSICAL_ARM.instance()) .withParent(mechanical_arm) .register(t, id + ":musical_arm"); + Advancement arm_many_targets = advancement("arm_many_targets", AllBlocks.BRASS_FUNNEL.get(), TaskType.MILESTONE) + .withCriterion("0", AllTriggers.ARM_MANY_TARGETS.instance()) + .withParent(mechanical_arm) + .register(t, id + ":arm_many_targets"); + + Advancement arm_blaze_burner = advancement("arm_blaze_burner", AllBlocks.BLAZE_BURNER.get(), TaskType.NORMAL) + .withCriterion("0", AllTriggers.ARM_BLAZE_BURNER.instance()) + .withParent(mechanical_arm) + .register(t, id + ":arm_blaze_burner"); + Advancement deployer = - kinecticAdvancement("deployer", AllBlocks.DEPLOYER.get(), TaskType.GOAL).withParent(brass_casing) + kinecticAdvancement("deployer", AllBlocks.DEPLOYER.get(), TaskType.MILESTONE).withParent(brass_casing) .register(t, id + ":deployer"); Advancement fist_bump = advancement("fist_bump", AllBlocks.DEPLOYER.get(), TaskType.SECRET).withParent(deployer) @@ -224,9 +395,12 @@ public class AllAdvancements implements IDataProvider { .withCriterion("0", itemGathered(AllBlocks.CRUSHING_WHEEL.get())) .register(t, id + ":crushing_wheel"); + Advancement blaze_cake = + itemAdvancement("blaze_cake", AllItems.BLAZE_CAKE, TaskType.NORMAL).withParent(crushing_wheel) + .register(t, id + ":blaze_cake"); + Advancement chromatic_compound = - itemAdvancement("chromatic_compound", AllItems.CHROMATIC_COMPOUND, TaskType.NORMAL) - .withParent(crushing_wheel) + itemAdvancement("chromatic_compound", AllItems.CHROMATIC_COMPOUND, TaskType.NORMAL).withParent(blaze_cake) .register(t, id + ":chromatic_compound"); Advancement shadow_steel = @@ -237,6 +411,17 @@ public class AllAdvancements implements IDataProvider { itemAdvancement("refined_radiance", AllItems.REFINED_RADIANCE, TaskType.GOAL).withParent(chromatic_compound) .register(t, id + ":refined_radiance"); + Advancement chromatic_age = advancement("chromatic_age", AllBlocks.REFINED_RADIANCE_CASING.get(), TaskType.GOAL) + .withParent(chromatic_compound) + .withCriterion("0", itemGathered(AllBlocks.SHADOW_STEEL_CASING.get())) + .withCriterion("1", itemGathered(AllBlocks.REFINED_RADIANCE_CASING.get())) + .register(t, id + "chromatic_age"); + + Advancement chromatic_eob = deadEnd().withParent(chromatic_age) + .withCriterion("0", itemGathered(AllBlocks.SHADOW_STEEL_CASING.get())) + .withCriterion("1", itemGathered(AllBlocks.REFINED_RADIANCE_CASING.get())) + .register(t, id + ":chromatic_eob"); + Advancement deforester = itemAdvancement("deforester", AllItems.DEFORESTER, TaskType.NORMAL).withParent(refined_radiance) .register(t, id + ":deforester"); @@ -257,13 +442,6 @@ public class AllAdvancements implements IDataProvider { itemAdvancement("wand_of_symmetry", AllItems.WAND_OF_SYMMETRY, TaskType.NORMAL).withParent(refined_radiance) .register(t, id + ":wand_of_symmetry"); - Advancement shadow_end = deadEnd().withParent(shadow_steel) - .withCriterion("0", itemGathered(AllItems.SHADOW_STEEL.get())) - .register(t, id + ":shadow_end"); - } - - private void andesiteExpertLane(Consumer t, Advancement root) { - String id = Create.ID; } // Datagen @@ -348,8 +526,8 @@ public class AllAdvancements implements IDataProvider { } public Builder kinecticAdvancement(String name, Block block, TaskType type) { - return advancement(name, block, type).withCriterion("0", placeBlock(block)) - .withCriterion("1", isPowered(block)); + return advancement(name, block, type).withCriterion("0", placeBlock(block)); +// .withCriterion("1", isPowered(block)); Duplicate toast } public Builder advancement(String name, IItemProvider icon, TaskType type) { @@ -367,7 +545,7 @@ public class AllAdvancements implements IDataProvider { type.hide); } - public Builder itemAdvancement(String name, Supplier item, TaskType type) { + public Builder itemAdvancement(String name, Supplier item, TaskType type) { return advancement(name, item.get(), type).withCriterion("0", itemGathered(item.get())); } diff --git a/src/main/java/com/simibubi/create/foundation/advancement/AllTriggers.java b/src/main/java/com/simibubi/create/foundation/advancement/AllTriggers.java index 905a3b926..dd71105dc 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/AllTriggers.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/AllTriggers.java @@ -25,6 +25,7 @@ public class AllTriggers { BONK = simple("bonk"), WATER_WHEEL = simple("water_wheel"), LAVA_WHEEL = simple("lava_wheel"), + CHOCOLATE_WHEEL = simple("chocolate_wheel"), DEPLOYER_BOOP = simple("deployer"), ABSORBED_LIGHT = simple("light_absorbed"), SPEED_READ = simple("speed_read"), @@ -35,6 +36,40 @@ public class AllTriggers { GIGA_EXTENDO = simple("giga_extendo"), MECHANICAL_ARM = simple("mechanical_arm"), MUSICAL_ARM = simple("musical_arm"), + CUCKOO = simple("cuckoo"), + BRACKET_SHAFT = simple("bracket_shaft"), + BRACKET_COG = simple("bracket_cog"), + BRACKET_PIPE = simple("bracket_pipe"), + CASING_SHAFT = simple("casing_shaft"), + CASING_BELT = simple("casing_belt"), + CASING_PIPE = simple("casing_pipe"), + WINDMILL = simple("windmill"), + MAXED_WINDMILL = simple("maxed_windmill"), + PLACE_TUNNEL = simple("place_tunnel"), + CONNECT_TUNNEL = simple("connect_tunnel"), + UPWARD_CHUTE = simple("upward_chute"), + FAN = simple("fan"), + FAN_LAVA = simple("fan_lava"), + FAN_SMOKE = simple("fan_smoke"), + FAN_WATER = simple("fan_water"), + BELT_FUNNEL = simple("belt_funnel"), + BELT_FUNNEL_KISS = simple("belt_funnel_kiss"), + CLOCKWORK_BEARING = simple("clockwork_bearing"), + ARM_MANY_TARGETS = simple("arm_many_targets"), + ARM_BLAZE_BURNER = simple("arm_blaze_burner"), + FLYWHEEL = simple("flywheel"), + OVERSTRESS_FLYWHEEL = simple("overstress_flywheel"), + ITEM_DRAIN = simple("item_drain"), + CHAINED_ITEM_DRAIN = simple("chained_item_drain"), + SPOUT = simple("spout"), + SPOUT_POTION = simple("spout_potion"), + GLASS_PIPE = simple("glass_pipe"), + PIPE_COLLISION = simple("pipe_collision"), + PIPE_SPILL = simple("pipe_spill"), + HOSE_PULLEY = simple("hose_pulley"), + INFINITE_WATER = simple("infinite_water"), + INFINITE_LAVA = simple("infinite_lava"), + INFINITE_CHOCOLATE = simple("infinite_chocolate"), MIXER_MIX = simple("mixer"); private static SimpleTrigger simple(String id) { diff --git a/src/main/java/com/simibubi/create/foundation/command/ConfigureConfigPacket.java b/src/main/java/com/simibubi/create/foundation/command/ConfigureConfigPacket.java index 908b83d85..b6790ab4b 100644 --- a/src/main/java/com/simibubi/create/foundation/command/ConfigureConfigPacket.java +++ b/src/main/java/com/simibubi/create/foundation/command/ConfigureConfigPacket.java @@ -57,35 +57,42 @@ public class ConfigureConfigPacket extends SimplePacketBase { } enum Actions { - rainbowDebug((value) -> { - AllConfigs.CLIENT.rainbowDebug.set(Boolean.parseBoolean(value)); - }), - overlayScreen(Actions::overlayScreenAction), - fixLighting(Actions::experimentalLightingAction), - overlayReset((value) -> { - AllConfigs.CLIENT.overlayOffsetX.set(0); - AllConfigs.CLIENT.overlayOffsetY.set(0); - }), + rainbowDebug(() -> Actions::rainbowDebug), + overlayScreen(() -> Actions::overlayScreen), + fixLighting(() -> Actions::experimentalLighting), + overlayReset(() -> Actions::overlayReset), ; - private final Consumer consumer; + private final Supplier> consumer; - Actions(Consumer action) { + Actions(Supplier> action) { this.consumer = action; } void performAction(String value) { - consumer.accept(value); + consumer.get() + .accept(value); } @OnlyIn(Dist.CLIENT) - private static void overlayScreenAction(String value) { + private static void rainbowDebug(String value) { + AllConfigs.CLIENT.rainbowDebug.set(Boolean.parseBoolean(value)); + } + + @OnlyIn(Dist.CLIENT) + private static void overlayReset(String value) { + AllConfigs.CLIENT.overlayOffsetX.set(0); + AllConfigs.CLIENT.overlayOffsetY.set(0); + } + + @OnlyIn(Dist.CLIENT) + private static void overlayScreen(String value) { ScreenOpener.open(new GoggleConfigScreen()); } @OnlyIn(Dist.CLIENT) - private static void experimentalLightingAction(String value) { + private static void experimentalLighting(String value) { ForgeConfig.CLIENT.experimentalForgeLightPipelineEnabled.set(true); Minecraft.getInstance().worldRenderer.loadRenderers(); } 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 8646e297e..57ef7e28a 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 @@ -140,8 +140,7 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { SAND = create(() -> Blocks.SAND, b -> b.duration(150) .output(AllPaletteBlocks.LIMESAND.get()) - .output(.5f, AllPaletteBlocks.LIMESAND.get()) - .output(.05f, Items.BONE_MEAL)), + .output(.1f, Items.BONE_MEAL)), NETHERRACK = create(() -> Blocks.NETHERRACK, b -> b.duration(250) .output(AllItems.CINDER_FLOUR.get()) 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 385966243..0c656c6f7 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 @@ -34,7 +34,7 @@ public class FillingRecipeGen extends ProcessingRecipeGen { .require(AllItems.CINDER_FLOUR.get()) .output(Items.REDSTONE)), - GLOWSTONE = create("glowstone", b -> b.require(PotionFluidHandler.potionIngredient(Potions.FIRE_RESISTANCE, 25)) + GLOWSTONE = create("glowstone", b -> b.require(PotionFluidHandler.potionIngredient(Potions.NIGHT_VISION, 25)) .require(AllItems.CINDER_FLOUR.get()) .output(Items.GLOWSTONE_DUST)), diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java index 4837119eb..7a7956291 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/MechanicalCraftingRecipeGen.java @@ -63,24 +63,7 @@ public class MechanicalCraftingRecipeGen extends CreateRecipeProvider { .key('C', I.brassCasing()) .patternLine(" BBB") .patternLine("CB B") - .patternLine(" BBB")), - - NIXIE_TUBE = create(AllBlocks.NIXIE_TUBE::get).returns(1) - .recipe(b -> b.key('E', I.electronTube()) - .key('B', I.brassCasing()) - .patternLine("EBE")), - - MECHANICAL_ARM = create(AllBlocks.MECHANICAL_ARM::get).returns(1) - .recipe(b -> b.key('L', Ingredient.fromTag(I.brassSheet())) - .key('R', I.cog()) - .key('I', I.circuit()) - .key('A', I.andesite()) - .key('C', I.brassCasing()) - .patternLine("LLA") - .patternLine("L ") - .patternLine("LL ") - .patternLine(" I ") - .patternLine("RCR")) + .patternLine(" BBB")) ; 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 ead35a86d..b4b3db588 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 @@ -21,6 +21,7 @@ import com.simibubi.create.AllTags.AllItemTags; import com.simibubi.create.Create; import com.simibubi.create.content.AllSections; import com.simibubi.create.content.palettes.AllPaletteBlocks; +import com.simibubi.create.foundation.data.recipe.CreateRecipeProvider.I; import com.simibubi.create.foundation.utility.Lang; import com.tterrag.registrate.util.entry.BlockEntry; import com.tterrag.registrate.util.entry.ItemEntry; @@ -462,7 +463,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .patternLine("SSS") .patternLine("PCP")), - FLUID_PIPE = create(AllBlocks.FLUID_PIPE).returns(16) + FLUID_PIPE = create(AllBlocks.FLUID_PIPE).returns(8) .unlockedByTag(I::copper) .viaShaped(b -> b.key('S', I.copperSheet()) .key('C', I.copper()) @@ -572,6 +573,17 @@ public class StandardRecipeGen extends CreateRecipeProvider { .patternLine("A") .patternLine("I")), + MECHANICAL_ARM = create(AllBlocks.MECHANICAL_ARM::get).unlockedBy(I::brassCasing) + .returns(1) + .viaShaped(b -> b.key('L', I.brassSheet()) + .key('R', I.cog()) + .key('I', I.electronTube()) + .key('A', I.andesite()) + .key('C', I.brassCasing()) + .patternLine("LLA") + .patternLine("LR ") + .patternLine("ICI")), + MECHANICAL_MIXER = create(AllBlocks.MECHANICAL_MIXER).unlockedBy(I::andesite) .viaShaped(b -> b.key('S', I.cog()) .key('B', I.andesite()) @@ -656,7 +668,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .patternLine("CBC") .patternLine(" C ")), - ENCASED_CHAIN_DRIVE = create(AllBlocks.ENCASED_CHAIN_DRIVE).returns(4) + ENCASED_CHAIN_DRIVE = create(AllBlocks.ENCASED_CHAIN_DRIVE).returns(2) .unlockedBy(I::andesiteCasing) .viaShaped(b -> b.key('S', I.shaft()) .key('B', Tags.Items.NUGGETS_IRON) @@ -681,6 +693,11 @@ public class StandardRecipeGen extends CreateRecipeProvider { .patternLine(" B ") .patternLine("SCS")), + NIXIE_TUBE = create(AllBlocks.NIXIE_TUBE).unlockedBy(I::brassCasing) + .viaShaped(b -> b.key('E', I.electronTube()) + .key('B', I.brassCasing()) + .patternLine("EBE")), + MECHANICAL_SAW = create(AllBlocks.MECHANICAL_SAW).unlockedBy(I::andesiteCasing) .viaShaped(b -> b.key('C', I.andesiteCasing()) .key('A', I.ironSheet()) diff --git a/src/main/java/com/simibubi/create/foundation/fluid/CombinedTankWrapper.java b/src/main/java/com/simibubi/create/foundation/fluid/CombinedTankWrapper.java index 7429764d7..8a25aa0fe 100644 --- a/src/main/java/com/simibubi/create/foundation/fluid/CombinedTankWrapper.java +++ b/src/main/java/com/simibubi/create/foundation/fluid/CombinedTankWrapper.java @@ -108,7 +108,8 @@ public class CombinedTankWrapper implements IFluidHandler { resource.shrink(amount); if (!drainedFromCurrent.isEmpty() && (drained.isEmpty() || drainedFromCurrent.isFluidEqual(drained))) - drained = new FluidStack(drainedFromCurrent.getFluid(), amount + drained.getAmount(), drained.getTag()); + drained = new FluidStack(drainedFromCurrent.getFluid(), amount + drained.getAmount(), + drainedFromCurrent.getTag()); if (resource.isEmpty()) break; } diff --git a/src/main/resources/assets/create/lang/default/advancements.json b/src/main/resources/assets/create/lang/default/advancements.json index 25e5136a7..ce49a805a 100644 --- a/src/main/resources/assets/create/lang/default/advancements.json +++ b/src/main/resources/assets/create/lang/default/advancements.json @@ -11,8 +11,28 @@ "advancement.create.shifting_gears.desc": "Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.", "advancement.create.overstressed": "Overstressed", "advancement.create.overstressed.desc": "Experience the limits of stress firsthand.", - "advancement.create.belt": "Convey It All", + "advancement.create.belt": "Kelp Drive", "advancement.create.belt.desc": "Connect two shafts with a Mechanical Belt.", + "advancement.create.tunnel": "Take cover!", + "advancement.create.tunnel.desc": "Embellish your mechanical belt with a Tunnel.", + "advancement.create.splitter_tunnel": "Divide and Conquer", + "advancement.create.splitter_tunnel.desc": "Create a splitter with a group of Brass Tunnels.", + "advancement.create.chute": "Tumbling down", + "advancement.create.chute.desc": "Place a chute, the vertical counterpart of the belt.", + "advancement.create.upward_chute": "Aerial Abduction", + "advancement.create.upward_chute.desc": "Watch a thrown item fly up into a fan-powered chute.", + "advancement.create.belt_funnel": "Funnels' Flappy Danglers", + "advancement.create.belt_funnel.desc": "Place a sideways funnel on top of a belt or depot to create a special type.", + "advancement.create.belt_funnel_kiss": "The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "Make two belt mounted funnels kiss.", + "advancement.create.fan": "Mechanical Airbender", + "advancement.create.fan.desc": "Ride the stream of air provided by an Encased Fan.", + "advancement.create.fan_lava": "Geothermal Space Heater", + "advancement.create.fan_lava.desc": "Get caught in a stream of air that smelts things.", + "advancement.create.fan_water": "Wacky Washing", + "advancement.create.fan_water.desc": "Get caught in a stream of air that washes things.", + "advancement.create.fan_smoke": "Mechanical Bellows", + "advancement.create.fan_smoke.desc": "Get caught in a stream of air that smokes items.", "advancement.create.wrench": "Configure Conveniently", "advancement.create.wrench.desc": "Create a Wrench to aid you in building your contraptions.", "advancement.create.goggles": "Stress-O-Vision", @@ -22,12 +42,24 @@ "advancement.create.stressometer": "But How Stressed Exactly?", "advancement.create.stressometer.desc": "Place and power a Stressometer. Look at it through your goggles to read its exact value.", + "advancement.create.aesthetics": "Boom, Aesthetics!", + "advancement.create.aesthetics.desc": "Place brackets on a shaft, pipe and cogwheel.", + "advancement.create.reinforced": "Boom, Reinforced!", + "advancement.create.reinforced.desc": "Use fitting casing blocks on a shaft, pipe and mechanical belt.", "advancement.create.water_wheel": "Harnessing Hydraulics", "advancement.create.water_wheel.desc": "Place a Water Wheel and try getting it to spin!", + "advancement.create.chocolate_wheel": "Tasteful power", + "advancement.create.chocolate_wheel.desc": "Run a Water Wheel with molten Chocolate.", "advancement.create.lava_wheel": "Magma Wheel", "advancement.create.lava_wheel.desc": "This shouldn't have worked.", + "advancement.create.cuckoo": "Is it time?", + "advancement.create.cuckoo.desc": "Witness a cuckhoo clock announce bedtime.", "advancement.create.millstone": "Pocket Crusher", "advancement.create.millstone.desc": "Place and power a Millstone.", + "advancement.create.windmill": "A mild Breeze", + "advancement.create.windmill.desc": "Assemble a windmill.", + "advancement.create.maxed_windmill": "A strong breeze", + "advancement.create.maxed_windmill.desc": "Assemble a windmill of maximum strength.", "advancement.create.andesite_casing": "The Andesite Age", "advancement.create.andesite_casing.desc": "Use some Andesite Alloy and Wood to create a basic Casing.", "advancement.create.mechanical_drill": "Stationary Breakers", @@ -44,31 +76,73 @@ "advancement.create.basin.desc": "Place a Basin and try throwing items into it.", "advancement.create.mixer": "Mixin' It Up", "advancement.create.mixer.desc": "Place a Mechanical Mixer above the Basin, power it, and start mixing some ingredients.", + "advancement.create.blaze_burner": "A living Fireplace", + "advancement.create.blaze_burner.desc": "Obtain a Blaze Burner.", "advancement.create.compact": "Automated Compacting", "advancement.create.compact.desc": "Use a Press and a Basin to compact some items.", - "advancement.create.expert_lane_1": "The Andesite Expert Lane", - "advancement.create.expert_lane_1.desc": "Work in Progress", - - "advancement.create.brass": "An Actual Alloy", + "advancement.create.brass": "Actual Alloys", "advancement.create.brass.desc": "Use Crushed Copper and Crushed Zinc to create some Brass.", "advancement.create.brass_casing": "The Brass Age", "advancement.create.brass_casing.desc": "Use newly obtained Brass and some Wood to create a more advanced Casing.", "advancement.create.copper_casing": "The Copper Age", "advancement.create.copper_casing.desc": "Use some Copper Sheets and Wood to create some Copper Casings.", + "advancement.create.spout": "Sploosh", + "advancement.create.spout.desc": "Watch a fluid item being filled using a spout.", + "advancement.create.spout_potion": "Global Brewery", + "advancement.create.spout_potion.desc": "Watch a spout fill a bottle with potion fluid.", + "advancement.create.chocolate": "A world of Imagination", + "advancement.create.chocolate.desc": "Obtain a bucket of Molten Chocolate.", + "advancement.create.item_drain": "Tumble Draining", + "advancement.create.item_drain.desc": "Watch a fluid item being emptied by an item drain.", + "advancement.create.chained_item_drain": "Let it roll!", + "advancement.create.chained_item_drain.desc": "Watch an item roll across several chained item drains.", + "advancement.create.glass_pipe": "Flow Spy", + "advancement.create.glass_pipe.desc": "Watch fluid propagate through a windowed fluid pipe. Straight fluid pipes become windowed when a wrench is used on them.", + "advancement.create.pipe_collision": "Never cross the Streams!", + "advancement.create.pipe_collision.desc": "Watch two fluids meet in your pipe network.", + "advancement.create.pipe_spill": "There's a leak!", + "advancement.create.pipe_spill.desc": "Watch an open end of a pipe take or place fluids into the world.", + "advancement.create.hose_pulley": "Industrial Spillage", + "advancement.create.hose_pulley.desc": "Lower a hose pulley and watch it drain or fill a body of fluid.", + "advancement.create.infinite_water": "Draining the Ocean", + "advancement.create.infinite_water.desc": "Pump from a body of Water large enough to be considered Infinite.", + "advancement.create.infinite_lava": "Draining the Planets' Core", + "advancement.create.infinite_lava.desc": "Pump from a body of Lava large enough to be considered Infinite.", + "advancement.create.infinite_chocolate": "Drowning in Imagination", + "advancement.create.infinite_chocolate.desc": "Pump from a body of Molten Chocolate large enough to be considered Infinite.", + "advancement.create.crafter": "Automated Assembly", "advancement.create.crafter.desc": "Place and power some Mechanical Crafters.", + "advancement.create.clockwork_bearing": "Contraption o'clock", + "advancement.create.clockwork_bearing.desc": "Assemble a Structure mounted on a Clockwork Bearing.", + "advancement.create.nixie_tube": "Signs of Style", + "advancement.create.nixie_tube.desc": "Obtain and place down a pair of Nixie Tubes.", "advancement.create.deployer": "Poke, Place, and Attack", "advancement.create.deployer.desc": "Place and power a Deployer, the perfect reflection of yourself.", - "advancement.create.mechanical_arm": "Mechanical Grab'n'Drop", + "advancement.create.speed_controller": "Engineers hate him!", + "advancement.create.speed_controller.desc": "Place a Rotation Speed Controller, the ultimate device for changing gear.", + "advancement.create.flywheel": "Heart of the Factory", + "advancement.create.flywheel.desc": "Successfully connect an engine to the Flywheel.", + "advancement.create.overstress_flywheel": "High levels of Stress", + "advancement.create.overstress_flywheel.desc": "Overstress a Furnace Engine.", + "advancement.create.integrated_circuit": "Complex Calculation", + "advancement.create.integrated_circuit.desc": "Assemble an Integrated Circuit.", + "advancement.create.mechanical_arm": "Busy Hands!", "advancement.create.mechanical_arm.desc": "Craft a Mechanical Arm, select in- and outputs, place it down and give it power; then watch as it does all the work for you.", "advancement.create.musical_arm": "Play Me My Theme Tune!", "advancement.create.musical_arm.desc": "Watch a Mechanical Arm operate your Jukebox.", + "advancement.create.arm_many_targets": "Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "Program a Mechanical Arm with ten or more output locations.", + "advancement.create.arm_blaze_burner": "Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "Instruct a Mechanical Arm to feed your Blaze Burner.", "advancement.create.fist_bump": "Pound It, Bro!", "advancement.create.fist_bump.desc": "Make two Deployers fist-bump.", "advancement.create.crushing_wheel": "A Pair of Giants", "advancement.create.crushing_wheel.desc": "Create some Crushing Wheels to break down more materials more effectively.", + "advancement.create.blaze_cake": "Sugar Rush", + "advancement.create.blaze_cake.desc": "Bake your blaze burner a special cake.", "advancement.create.chromatic_compound": "Bipolar Minerals", "advancement.create.chromatic_compound.desc": "Create a Bar of Chromatic Compound.", @@ -76,6 +150,8 @@ "advancement.create.shadow_steel.desc": "Create Shadow Steel, a metal bar of nothingness.", "advancement.create.refined_radiance": "Bright and Inspiring", "advancement.create.refined_radiance.desc": "Create Refined Radiance, a powerful chromatic substance.", + "advancement.create.chromatic_age": "The Chromatic Age", + "advancement.create.chromatic_age.desc": "Create casing blocks of the light and dark.", "advancement.create.zapper": "Building With Style", "advancement.create.zapper.desc": "Craft a Blockzapper. A radiant laser gun that helps you build.",