diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index ea00f774d..9e68afabc 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 -d2e6f19325be65457e94bea44fd52863c0f66be7 assets/create/blockstates/radial_chassis.json +6fa36883e76e9e403bb429c8f86b8c0d3bba0cff 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 @@ -401,19 +401,19 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json 2384c6457ecf24c7b38358179b8fa6eb93b9627a assets/create/lang/en_ud.json -1c808ec167a735945a60fdef344aaec7a1fd68d0 assets/create/lang/en_us.json -ae1ea7ce8b825405e38ed0d87b26bbcf46de3742 assets/create/lang/unfinished/de_de.json -8522f80887d94e89a87d20188a3658342de7c757 assets/create/lang/unfinished/es_es.json -e7476bbfef6254a143d999f7f1220af80ce39c8b assets/create/lang/unfinished/es_mx.json -a6516993be60550fd45e55583e6040733f70dcef assets/create/lang/unfinished/fr_fr.json -d5b30386a7a0fdbf8bcd951baa4f6000d9c1501e assets/create/lang/unfinished/it_it.json -4e5101741f7565c4450f36a37da4b3ad92af4076 assets/create/lang/unfinished/ja_jp.json -d526a4dd43baefa89c7a42b2e236ccc7b9cdf678 assets/create/lang/unfinished/ko_kr.json -6dcd80f25ecdc7ead62f1f48a6162575e2a93257 assets/create/lang/unfinished/nl_nl.json -43ff570e703a25847830e99c12722bbc4a9fb2ab assets/create/lang/unfinished/pt_br.json -3312f083a22112e786726047129476710cec0242 assets/create/lang/unfinished/ru_ru.json -25b50c546bb8b40bb8c85e8b4914fbe1bca6bdce assets/create/lang/unfinished/zh_cn.json -bddbc961a8bd12e08a8aa2b0b2329568da1b27ef assets/create/lang/unfinished/zh_tw.json +3c5716831e32264eedbb4855c5381e0e8cbfb91e assets/create/lang/en_us.json +0ea72b7657580c63fa96b869d7c9c1f7fbc8d76c assets/create/lang/unfinished/de_de.json +f8877a94811cdcd095a79016d0eab10654c1d1a1 assets/create/lang/unfinished/es_es.json +b34477d41473ee2da522cda45013dd7fa2f6f47f assets/create/lang/unfinished/es_mx.json +a4dd182d9f14556fe1b3a9c94137c679f89130e2 assets/create/lang/unfinished/fr_fr.json +694df935fc02bc5125e5ddba0b6f65c412201914 assets/create/lang/unfinished/it_it.json +952e2a7d43846e35e815dd7f37c407ffee566634 assets/create/lang/unfinished/ja_jp.json +06cd02f64e33ce33fa18b7c89f7a4bea033d1f5d assets/create/lang/unfinished/ko_kr.json +68019d005300f91f23b66c7d153ad7e67729afa7 assets/create/lang/unfinished/nl_nl.json +638fb33291096e9d4eb1d5fcf04a5184f6d24ff9 assets/create/lang/unfinished/pt_br.json +a66de91e4c2597d12eafe32a332c5a3fdd502303 assets/create/lang/unfinished/ru_ru.json +1bb3efa9bd717110f06ba7fa9feb54786208c710 assets/create/lang/unfinished/zh_cn.json +35c52ca6c33f9419dfe6751910bb4837cb90b446 assets/create/lang/unfinished/zh_tw.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json diff --git a/src/generated/resources/assets/create/blockstates/radial_chassis.json b/src/generated/resources/assets/create/blockstates/radial_chassis.json index 49576633e..f97d8c8bc 100644 --- a/src/generated/resources/assets/create/blockstates/radial_chassis.json +++ b/src/generated/resources/assets/create/blockstates/radial_chassis.json @@ -149,8 +149,8 @@ }, { "when": { - "axis": "x", - "sticky_north": "true" + "sticky_north": "true", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky" @@ -158,8 +158,8 @@ }, { "when": { - "axis": "y", - "sticky_north": "true" + "sticky_north": "true", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky", @@ -168,8 +168,8 @@ }, { "when": { - "axis": "z", - "sticky_north": "true" + "sticky_north": "true", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -178,8 +178,8 @@ }, { "when": { - "axis": "x", - "sticky_north": "false" + "sticky_north": "false", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x" @@ -187,8 +187,8 @@ }, { "when": { - "axis": "y", - "sticky_north": "false" + "sticky_north": "false", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y", @@ -197,8 +197,8 @@ }, { "when": { - "axis": "z", - "sticky_north": "false" + "sticky_north": "false", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_x", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index f095aac38..89a2eec22 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1840,7 +1840,27 @@ "create.ponder.belt_casing.header": "Encasing Belts", "create.ponder.belt_casing.text_1": "Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "3. They can connect vertically", + "create.ponder.belt_directions.text_5": "4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "The Brass Funnel", "create.ponder.brass_funnel.text_1": "Andesite Funnels can only ever extract single items.", @@ -1874,6 +1894,10 @@ "create.ponder.cogwheel.text_1": "Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "Funnel compatibility", "create.ponder.funnel_compat.text_1": "Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "Vertical Saws", @@ -1931,6 +1955,12 @@ "create.ponder.gearshift.text_1": "Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "It will help relaying conveyed speed to other axes of rotation", @@ -1954,6 +1984,19 @@ "create.ponder.shaft_casing.header": "Encasing Shafts", "create.ponder.shaft_casing.text_1": "Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 66f5d34e8..a8532553f 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: 1096", + "_": "Missing Localizations: 1132", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index 39edcad2e..1eb29dcc1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 139", + "_": "Missing Localizations: 175", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file diff --git a/src/generated/resources/assets/create/lang/unfinished/es_mx.json b/src/generated/resources/assets/create/lang/unfinished/es_mx.json index 8bbb010e8..c58c0954f 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_mx.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_mx.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1026", + "_": "Missing Localizations: 1062", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 46592daeb..ab6c6e4c0 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: 808", + "_": "Missing Localizations: 844", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 80b162de6..ca9cbfcb9 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: 144", + "_": "Missing Localizations: 180", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 81d7d2353..ab36bc5f9 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: 151", + "_": "Missing Localizations: 187", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 e374b6616..6a77372b2 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: 197", + "_": "Missing Localizations: 233", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 a4e2e3f9d..f538e4f06 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: 1295", + "_": "Missing Localizations: 1331", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 a685f91c6..8b693bf26 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: 1361", + "_": "Missing Localizations: 1397", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 b227eaf65..9a2eff166 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: 147", + "_": "Missing Localizations: 183", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file 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 8adfbf42d..423be296e 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: 145", + "_": "Missing Localizations: 181", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index 3db9f714c..9effd2d61 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 150", + "_": "Missing Localizations: 186", "_": "->------------------------] Game Elements [------------------------<-", @@ -1841,7 +1841,27 @@ "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts", "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove it again", + "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing", + + "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes", + + "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically", + "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions.\nBelts can span any Length between 2 and 20 blocks", + + "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt", "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel", "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", @@ -1875,6 +1895,10 @@ "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels", "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output", + "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility", "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws", @@ -1932,6 +1956,12 @@ "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line", "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high", + "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels", "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles", "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation", @@ -1955,6 +1985,19 @@ "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts", "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles", + "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually", + "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise", + "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes", + + "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate", + "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow", + "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective", + "_": "Thank you for translating Create!" } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java index 5a41bc869..1e5b8bca9 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java @@ -563,10 +563,19 @@ public class PonderUI extends AbstractSimiScreen { return true; if (identifyMode && hoveredBlockPos != null && PonderIndex.EDITOR_MODE) { - clipboardHelper.setClipboardString(minecraft.getWindow() - .getHandle(), - "BlockPos copied = util.grid.at(" + hoveredBlockPos.getX() + ", " + hoveredBlockPos.getY() + ", " - + hoveredBlockPos.getZ() + ");"); + long handle = minecraft.getWindow() + .getHandle(); + if (copiedBlockPos != null && button == 1) { + clipboardHelper.setClipboardString(handle, + "util.select.fromTo(" + copiedBlockPos.getX() + ", " + copiedBlockPos.getY() + ", " + + copiedBlockPos.getZ() + ", " + hoveredBlockPos.getX() + ", " + hoveredBlockPos.getY() + ", " + + hoveredBlockPos.getZ() + ")"); + copiedBlockPos = hoveredBlockPos; + return true; + } + + clipboardHelper.setClipboardString(handle, "util.grid.at(" + hoveredBlockPos.getX() + ", " + + hoveredBlockPos.getY() + ", " + hoveredBlockPos.getZ() + ")"); copiedBlockPos = hoveredBlockPos; return true; } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java index dab1d0b4b..b8d55dead 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java @@ -21,6 +21,7 @@ import com.simibubi.create.foundation.ponder.elements.InputWindowElement; import com.simibubi.create.foundation.ponder.elements.ParrotElement; import com.simibubi.create.foundation.ponder.elements.TextWindowElement; import com.simibubi.create.foundation.ponder.elements.WorldSectionElement; +import com.simibubi.create.foundation.ponder.instructions.AnimateParrotInstruction; import com.simibubi.create.foundation.ponder.instructions.AnimateTileEntityInstruction; import com.simibubi.create.foundation.ponder.instructions.AnimateWorldSectionInstruction; import com.simibubi.create.foundation.ponder.instructions.ChaseAABBInstruction; @@ -30,6 +31,7 @@ import com.simibubi.create.foundation.ponder.instructions.DisplayWorldSectionIns import com.simibubi.create.foundation.ponder.instructions.EmitParticlesInstruction; import com.simibubi.create.foundation.ponder.instructions.EmitParticlesInstruction.Emitter; import com.simibubi.create.foundation.ponder.instructions.FadeOutOfSceneInstruction; +import com.simibubi.create.foundation.ponder.instructions.LineInstruction; import com.simibubi.create.foundation.ponder.instructions.MarkAsFinishedInstruction; import com.simibubi.create.foundation.ponder.instructions.MovePoiInstruction; import com.simibubi.create.foundation.ponder.instructions.OutlineSelectionInstruction; @@ -279,6 +281,10 @@ public class SceneBuilder { addInstruction(new ChaseAABBInstruction(color, slot, boundingBox, duration)); } + public void showLine(PonderPalette color, Vec3d start, Vec3d end, int duration) { + addInstruction(new LineInstruction(color, start, end, duration)); + } + public void showOutline(PonderPalette color, Object slot, Selection selection, int duration) { addInstruction(new OutlineSelectionInstruction(color, slot, selection, duration)); } @@ -287,23 +293,37 @@ public class SceneBuilder { public class SpecialInstructions { - public void birbOnTurntable(BlockPos pos) { - addInstruction(new CreateParrotInstruction(10, Direction.DOWN, - ParrotElement.spinOnComponent(VecHelper.getCenterOf(pos), pos))); + public ElementLink birbOnTurntable(BlockPos pos) { + ElementLink link = new ElementLink<>(ParrotElement.class); + ParrotElement parrot = ParrotElement.spinOnComponent(VecHelper.getCenterOf(pos), pos); + addInstruction(new CreateParrotInstruction(10, Direction.DOWN, parrot)); + addInstruction(scene -> scene.linkElement(parrot, link)); + return link; } - public void birbOnSpinnyShaft(BlockPos pos) { - addInstruction( - new CreateParrotInstruction(10, Direction.DOWN, ParrotElement.spinOnComponent(VecHelper.getCenterOf(pos) - .add(0, 0.5, 0), pos))); + public ElementLink birbOnSpinnyShaft(BlockPos pos) { + ElementLink link = new ElementLink<>(ParrotElement.class); + ParrotElement parrot = ParrotElement.spinOnComponent(VecHelper.getCenterOf(pos) + .add(0, 0.5, 0), pos); + addInstruction(new CreateParrotInstruction(10, Direction.DOWN, parrot)); + addInstruction(scene -> scene.linkElement(parrot, link)); + return link; } - public void birbLookingAtPOI(Vec3d location) { - addInstruction(new CreateParrotInstruction(10, Direction.DOWN, ParrotElement.lookAtPOI(location))); + public ElementLink birbLookingAtPOI(Vec3d location) { + ElementLink link = new ElementLink<>(ParrotElement.class); + ParrotElement parrot = ParrotElement.lookAtPOI(location); + addInstruction(new CreateParrotInstruction(10, Direction.DOWN, parrot)); + addInstruction(scene -> scene.linkElement(parrot, link)); + return link; } - public void birbPartying(Vec3d location) { - addInstruction(new CreateParrotInstruction(10, Direction.DOWN, ParrotElement.dance(location))); + public ElementLink birbPartying(Vec3d location) { + ElementLink link = new ElementLink<>(ParrotElement.class); + ParrotElement parrot = ParrotElement.dance(location); + addInstruction(new CreateParrotInstruction(10, Direction.DOWN, parrot)); + addInstruction(scene -> scene.linkElement(parrot, link)); + return link; } public void movePointOfInterest(Vec3d location) { @@ -314,6 +334,15 @@ public class SceneBuilder { movePointOfInterest(VecHelper.getCenterOf(location)); } + public void rotateParrot(ElementLink link, double xRotation, double yRotation, double zRotation, + int duration) { + addInstruction(AnimateParrotInstruction.rotate(link, new Vec3d(xRotation, yRotation, zRotation), duration)); + } + + public void moveParrot(ElementLink link, Vec3d offset, int duration) { + addInstruction(AnimateParrotInstruction.move(link, offset, duration)); + } + } public class WorldInstructions { diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java index 7bdb8d506..09c5ff47b 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/BeltScenes.java @@ -5,20 +5,375 @@ import java.util.Collections; import java.util.List; import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; +import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; +import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; +import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.SceneBuilder; import com.simibubi.create.foundation.ponder.SceneBuildingUtil; +import com.simibubi.create.foundation.ponder.Selection; +import com.simibubi.create.foundation.ponder.elements.EntityElement; import com.simibubi.create.foundation.ponder.elements.InputWindowElement; +import com.simibubi.create.foundation.ponder.elements.ParrotElement; +import com.simibubi.create.foundation.ponder.elements.WorldSectionElement; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.Pointing; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.ItemEntity; +import net.minecraft.item.DyeColor; import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; import net.minecraft.util.Direction; +import net.minecraft.util.Direction.Axis; +import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Vec3d; public class BeltScenes { + public static void beltConnector(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("belt_connector", "Using Mechanical Belts"); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + scene.idle(5); + + scene.world.showSection(util.select.fromTo(4, 1, 3, 4, 1, 5), Direction.DOWN); + ElementLink shafts = + scene.world.showIndependentSection(util.select.fromTo(0, 1, 3, 4, 1, 3), Direction.DOWN); + scene.world.moveSection(shafts, util.vector.of(0, 0, -1), 0); + scene.world.setKineticSpeed(util.select.position(0, 1, 3), 0); + scene.idle(20); + + BlockPos backEnd = util.grid.at(4, 1, 2); + BlockPos frontEnd = util.grid.at(0, 1, 2); + ItemStack beltItem = AllItems.BELT_CONNECTOR.asStack(); + Vec3d backEndCenter = util.vector.centerOf(backEnd); + AxisAlignedBB connectBB = new AxisAlignedBB(backEndCenter, backEndCenter); + AxisAlignedBB shaftBB = AllBlocks.SHAFT.getDefaultState() + .with(ShaftBlock.AXIS, Axis.Z) + .getShape(null, null) + .getBoundingBox(); + + scene.overlay.showControls(new InputWindowElement(util.vector.topOf(backEnd), Pointing.DOWN).rightClick() + .withItem(beltItem), 57); + scene.idle(7); + + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, backEnd, shaftBB.offset(backEnd), 42); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.BLACK, backEndCenter, connectBB, 50); + scene.idle(20); + + scene.overlay.showControls(new InputWindowElement(util.vector.topOf(frontEnd), Pointing.DOWN).rightClick() + .withItem(beltItem), 37); + scene.idle(7); + + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, frontEnd, shaftBB.offset(frontEnd), 17); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.BLACK, backEndCenter, connectBB.expand(-4, 0, 0), 20); + scene.idle(20); + + scene.world.moveSection(shafts, util.vector.of(0, -2, 0), 0); + scene.world.showSection(util.select.fromTo(0, 1, 2, 4, 1, 2), Direction.SOUTH); + scene.idle(20); + + scene.overlay.showText(80) + .text("Right-Clicking two shafts with a belt item will connect them together") + .placeNearTarget() + .pointAt(util.vector.topOf(2, 1, 2)); + scene.idle(90); + + Vec3d falseSelection = util.vector.topOf(backEnd.south(1)); + scene.overlay.showControls(new InputWindowElement(falseSelection, Pointing.DOWN).rightClick() + .withItem(beltItem), 37); + scene.idle(7); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.RED, backEnd, shaftBB.offset(backEnd.south(1)), 50); + + scene.overlay.showText(80) + .colored(PonderPalette.RED) + .text("Accidental selections can be canceled with Right-Click while Sneaking") + .placeNearTarget() + .pointAt(util.vector.centerOf(backEnd.south(1))); + scene.idle(43); + + scene.overlay.showControls(new InputWindowElement(falseSelection, Pointing.DOWN).rightClick() + .withItem(beltItem) + .whileSneaking(), 20); + scene.idle(60); + + BlockPos shaftLocation = frontEnd.east(); + scene.overlay.showControls(new InputWindowElement(util.vector.topOf(shaftLocation), Pointing.DOWN).rightClick() + .withItem(AllBlocks.SHAFT.asStack()), 50); + scene.idle(7); + scene.world.modifyBlock(shaftLocation, s -> s.with(BeltBlock.PART, BeltPart.PULLEY), true); + scene.idle(10); + + scene.overlay.showText(43) + .text("Additional Shafts can be added throughout the Belt") + .placeNearTarget() + .pointAt(util.vector.blockSurface(shaftLocation, Direction.NORTH)); + scene.idle(50); + + Selection attachedShafts = util.select.fromTo(0, 1, 1, 1, 1, 1); + scene.world.showSection(attachedShafts, Direction.SOUTH); + scene.world.setKineticSpeed(attachedShafts, 32); + scene.idle(10); + scene.effects.rotationDirectionIndicator(util.grid.at(0, 1, 1)); + scene.effects.rotationDirectionIndicator(util.grid.at(1, 1, 1)); + scene.idle(20); + + scene.overlay.showText(50) + .text("Shafts connected via Belts will rotate with Identical Speed and Direction") + .placeNearTarget() + .pointAt(util.vector.blockSurface(util.grid.at(0, 1, 1), Direction.NORTH)); + scene.idle(60); + + scene.world.hideSection(attachedShafts, Direction.NORTH); + scene.idle(20); + + scene.overlay.showControls(new InputWindowElement(util.vector.topOf(shaftLocation), Pointing.DOWN).rightClick() + .withWrench(), 50); + scene.idle(7); + scene.world.modifyBlock(shaftLocation, s -> s.with(BeltBlock.PART, BeltPart.MIDDLE), true); + scene.idle(10); + scene.overlay.showText(50) + .text("Added shafts can be removed using the wrench") + .placeNearTarget() + .pointAt(util.vector.blockSurface(shaftLocation, Direction.NORTH)); + scene.idle(70); + + scene.overlay + .showControls(new InputWindowElement(util.vector.topOf(shaftLocation.east()), Pointing.DOWN).rightClick() + .withItem(new ItemStack(Items.BLUE_DYE)), 50); + scene.idle(7); + scene.world.modifyTileNBT(util.select.fromTo(0, 1, 2, 4, 1, 2), BeltTileEntity.class, + nbt -> NBTHelper.writeEnum(nbt, "Dye", DyeColor.BLUE)); + scene.idle(20); + scene.overlay.showText(80) + .colored(PonderPalette.BLUE) + .text("Mechanical Belts can be dyed for aesthetic purposes") + .placeNearTarget() + .pointAt(util.vector.topOf(shaftLocation.east())); + } + + public static void directions(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("belt_directions", "Valid Orientations for Mechanical Belts"); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + scene.idle(5); + + ElementLink leftShaft = + scene.world.showIndependentSection(util.select.position(4, 1, 0), Direction.DOWN); + ElementLink rightShaft = + scene.world.showIndependentSection(util.select.position(0, 1, 0), Direction.DOWN); + + scene.world.moveSection(leftShaft, util.vector.of(0, 0, 2), 0); + scene.world.moveSection(rightShaft, util.vector.of(0, 0, 2), 0); + scene.idle(1); + scene.world.moveSection(leftShaft, util.vector.of(-1, 0, 0), 10); + scene.world.moveSection(rightShaft, util.vector.of(1, 1, 0), 10); + + scene.idle(20); + + Vec3d from = util.vector.centerOf(3, 1, 2); + Vec3d to = util.vector.centerOf(1, 2, 2); + + scene.overlay.showLine(PonderPalette.RED, from, to, 70); + scene.idle(10); + scene.overlay.showLine(PonderPalette.GREEN, to.add(-1, -1, 0), from, 60); + scene.overlay.showLine(PonderPalette.GREEN, from.add(0, 3, 0), from, 60); + + scene.idle(20); + scene.overlay.showText(60) + .colored(PonderPalette.RED) + .placeNearTarget() + .pointAt(to) + .text("Belts cannot connect in arbitrary directions"); + scene.idle(70); + + from = util.vector.centerOf(4, 1, 2); + to = util.vector.centerOf(0, 1, 2); + + scene.world.moveSection(leftShaft, util.vector.of(1, 0, 0), 10); + scene.world.moveSection(rightShaft, util.vector.of(-1, -1, 0), 10); + scene.idle(10); + scene.overlay.showLine(PonderPalette.GREEN, from, to, 40); + scene.idle(10); + scene.overlay.showText(40) + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(to) + .text("1. They can connect horizontally"); + + scene.idle(20); + Selection firstBelt = util.select.fromTo(4, 1, 1, 0, 1, 1); + ElementLink belt = scene.world.showIndependentSection(firstBelt, Direction.SOUTH); + scene.world.moveSection(belt, util.vector.of(0, 0, 1), 0); + scene.idle(20); + scene.world.hideIndependentSection(belt, Direction.SOUTH); + scene.idle(15); + + from = util.vector.centerOf(3, 3, 2); + to = util.vector.centerOf(1, 1, 2); + + scene.world.moveSection(leftShaft, util.vector.of(-1, 2, 0), 10); + scene.world.moveSection(rightShaft, util.vector.of(1, 0, 0), 10); + scene.idle(10); + scene.world.rotateSection(leftShaft, 0, 0, 25, 5); + scene.world.rotateSection(rightShaft, 0, 0, 25, 5); + scene.overlay.showLine(PonderPalette.GREEN, from, to, 40); + scene.idle(10); + scene.overlay.showText(40) + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(to) + .text("2. They can connect diagonally"); + + scene.idle(20); + Selection secondBelt = util.select.fromTo(3, 3, 2, 1, 1, 2); + belt = scene.world.showIndependentSection(secondBelt, Direction.SOUTH); + scene.idle(20); + scene.world.hideIndependentSection(belt, Direction.SOUTH); + scene.idle(15); + + from = util.vector.centerOf(2, 4, 2); + to = util.vector.centerOf(2, 1, 2); + + scene.world.moveSection(leftShaft, util.vector.of(-1, 1, 0), 10); + scene.world.moveSection(rightShaft, util.vector.of(1, 0, 0), 10); + scene.idle(10); + scene.world.rotateSection(rightShaft, 0, 0, -25, 5); + scene.overlay.showLine(PonderPalette.GREEN, from, to, 40); + scene.idle(10); + scene.overlay.showText(40) + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(to) + .text("3. They can connect vertically"); + + scene.idle(20); + Selection thirdBelt = util.select.fromTo(2, 1, 3, 2, 4, 3); + belt = scene.world.showIndependentSection(thirdBelt, Direction.SOUTH); + scene.world.moveSection(belt, util.vector.of(0, 0, -1), 0); + scene.idle(20); + scene.world.hideIndependentSection(belt, Direction.SOUTH); + scene.idle(15); + + from = util.vector.centerOf(4, 1, 2); + to = util.vector.centerOf(0, 1, 2); + + scene.world.moveSection(leftShaft, util.vector.of(2, -3, 0), 10); + scene.world.moveSection(rightShaft, util.vector.of(-2, 0, 0), 10); + scene.idle(10); + scene.world.rotateSection(rightShaft, 90, 0, -25, 5); + scene.world.rotateSection(leftShaft, 90, 0, -50, 5); + scene.overlay.showLine(PonderPalette.GREEN, from, to, 60); + scene.idle(10); + scene.overlay.showText(60) + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(to) + .text("4. And they can connect vertical shafts horizontally"); + + scene.idle(20); + Selection fourthBelt = util.select.fromTo(4, 1, 4, 0, 1, 4); + belt = scene.world.showIndependentSection(fourthBelt, Direction.DOWN); + scene.world.moveSection(belt, util.vector.of(0, 1 / 512f, -2), 0); + scene.idle(40); + scene.world.hideIndependentSection(belt, Direction.UP); + scene.idle(15); + scene.world.hideIndependentSection(leftShaft, Direction.UP); + scene.world.hideIndependentSection(rightShaft, Direction.UP); + scene.idle(15); + + scene.world.showSection(firstBelt, Direction.DOWN); + scene.idle(5); + scene.world.showSection(secondBelt, Direction.DOWN); + scene.idle(5); + scene.world.showSection(thirdBelt, Direction.DOWN); + scene.idle(5); + scene.world.showSection(fourthBelt, Direction.DOWN); + scene.idle(10); + + scene.overlay.showText(160) + .text("These are all possible directions.\nBelts can span any Length between 2 and 20 blocks"); + scene.markAsFinished(); + } + + public static void transport(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("belt_transport", "Using Mechanical Belts for Logistics"); + scene.configureBasePlate(0, 0, 5); + scene.world.modifyKineticSpeed(util.select.everywhere(), f -> -.6f * f); + scene.showBasePlate(); + scene.idle(5); + scene.world.showSection(util.select.fromTo(1, 1, 3, 2, 1, 5), Direction.DOWN); + scene.idle(20); + scene.world.showSection(util.select.fromTo(2, 1, 2, 4, 3, 2), Direction.SOUTH); + scene.idle(5); + scene.world.showSection(util.select.fromTo(1, 1, 2, 0, 1, 2), Direction.SOUTH); + scene.idle(10); + scene.special.movePointOfInterest(util.grid.at(2, 2, 0)); + + ItemStack stack = AllBlocks.COPPER_BLOCK.asStack(); + ElementLink item = + scene.world.createItemEntity(util.vector.centerOf(0, 4, 2), util.vector.of(0, 0, 0), stack); + scene.idle(13); + scene.world.modifyEntity(item, Entity::remove); + BlockPos beltEnd = util.grid.at(0, 1, 2); + scene.world.createItemOnBelt(beltEnd, Direction.DOWN, stack); + + scene.idle(20); + + ElementLink parrot = scene.special.birbLookingAtPOI(util.vector.topOf(0, 1, 2) + .add(0, -3 / 16f, 0)); + scene.special.moveParrot(parrot, util.vector.of(1.78, 0, 0), 40); + scene.special.movePointOfInterest(util.grid.at(1, 1, 3)); + + scene.overlay.showText(60) + .placeNearTarget() + .pointAt(util.vector.topOf(beltEnd)) + .text("Moving belts will transport Items and other Entities"); + + scene.idle(20); + item = scene.world.createItemEntity(util.vector.centerOf(0, 4, 2), util.vector.of(0, 0, 0), stack); + scene.special.movePointOfInterest(util.grid.at(0, 3, 2)); + scene.idle(10); + scene.special.movePointOfInterest(beltEnd); + scene.idle(3); + scene.world.modifyEntity(item, Entity::remove); + scene.world.createItemOnBelt(beltEnd, Direction.DOWN, stack); + scene.idle(8); + + scene.special.movePointOfInterest(util.grid.at(3, 2, 1)); + scene.special.moveParrot(parrot, util.vector.of(2.1, 2.1, 0), 60); + scene.idle(20); + scene.special.movePointOfInterest(util.grid.at(5, 5, 2)); + scene.idle(30); + scene.special.movePointOfInterest(util.grid.at(2, 1, 5)); + scene.idle(10); + scene.special.moveParrot(parrot, util.vector.of(.23, 0, 0), 5); + scene.idle(5); + scene.world.setKineticSpeed(util.select.everywhere(), 0f); + scene.idle(10); + scene.world.modifyEntities(ItemEntity.class, Entity::remove); + scene.special.movePointOfInterest(util.grid.at(2, 5, 4)); + + Vec3d topOf = util.vector.topOf(util.grid.at(3, 2, 2)) + .add(-0.1, 0.3, 0); + scene.overlay.showControls(new InputWindowElement(topOf, Pointing.DOWN).rightClick(), 60); + scene.idle(10); + scene.overlay.showText(60) + .placeNearTarget() + .pointAt(topOf.subtract(0, 0.1, 0)) + .text("Right-Click with an empty hand to take items off a belt"); + scene.idle(20); + scene.world.removeItemsFromBelt(util.grid.at(3, 2, 2)); + scene.effects.indicateSuccess(util.grid.at(3, 2, 2)); + scene.idle(20); + + scene.special.movePointOfInterest(util.grid.at(2, 1, 5)); + } + public static void beltsCanBeEncased(SceneBuilder scene, SceneBuildingUtil util) { scene.title("belt_casing", "Encasing Belts"); scene.configureBasePlate(0, 0, 5); @@ -96,7 +451,7 @@ public class BeltScenes { scene.idle(7); scene.world.modifyBlock(beltPos.south(), s -> s.with(BeltBlock.CASING, false), true); scene.overlay.showText(80) - .text("A wrench can be used to remove it again") + .text("A wrench can be used to remove the casing") .placeNearTarget() .pointAt(util.vector.blockSurface(beltPos.south(), Direction.WEST)); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java b/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java index 8b763c330..ffc35cb0c 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java @@ -26,6 +26,11 @@ public class PonderIndex { PonderRegistry.forComponents(AllBlocks.LARGE_COGWHEEL) .addStoryBoard("cog/speedup", KineticsScenes::cogsSpeedUp) .addStoryBoard("cog/large", KineticsScenes::largeCogAsRelay); + PonderRegistry.forComponents(AllItems.BELT_CONNECTOR) + .addStoryBoard("belt/connect", BeltScenes::beltConnector) + .addStoryBoard("belt/directions", BeltScenes::directions) + .addStoryBoard("belt/transport", BeltScenes::transport) + .addStoryBoard("belt/encasing", BeltScenes::beltsCanBeEncased); PonderRegistry.forComponents(AllBlocks.ANDESITE_CASING, AllBlocks.BRASS_CASING) .addStoryBoard("shaft/encasing", KineticsScenes::shaftsCanBeEncased) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/elements/ParrotElement.java b/src/main/java/com/simibubi/create/foundation/ponder/elements/ParrotElement.java index b8cc26f85..38bc429ed 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/elements/ParrotElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/elements/ParrotElement.java @@ -46,21 +46,65 @@ public class ParrotElement extends AnimatedSceneElement { this.location = location; } + @Override + public void reset(PonderScene scene) { + super.reset(scene); + entity.setPos(0, 0, 0); + entity.prevPosX = 0; + entity.prevPosY = 0; + entity.prevPosZ = 0; + } + @Override public void tick(PonderScene scene) { super.tick(scene); if (entity == null) return; + entity.prevPosX = entity.getX(); + entity.prevPosY = entity.getY(); + entity.prevPosZ = entity.getZ(); entity.ticksExisted++; entity.prevRotationYawHead = entity.rotationYawHead; entity.oFlapSpeed = entity.flapSpeed; entity.oFlap = entity.flap; entity.onGround = true; + entity.prevRotationYaw = entity.rotationYaw; + entity.prevRotationPitch = entity.rotationPitch; pose.tick(scene); } + public void setPositionOffset(Vec3d position, boolean immediate) { + if (entity == null) + return; + entity.setPosition(position.x, position.y, position.z); + if (!immediate) + return; + entity.prevPosX = position.x; + entity.prevPosY = position.y; + entity.prevPosZ = position.z; + } + + public void setRotation(Vec3d eulers, boolean immediate) { + if (entity == null) + return; + entity.rotationPitch = (float) eulers.x; + entity.rotationYaw = (float) eulers.y; + if (!immediate) + return; + entity.prevRotationPitch = entity.rotationPitch; + entity.prevRotationYaw = entity.rotationYaw; + } + + public Vec3d getPositionOffset() { + return entity != null ? entity.getPositionVec() : Vec3d.ZERO; + } + + public Vec3d getRotation() { + return entity != null ? new Vec3d(entity.rotationPitch, entity.rotationYaw, 0) : Vec3d.ZERO; + } + @Override protected void renderLast(PonderWorld world, IRenderTypeBuffer buffer, MatrixStack ms, float fade, float pt) { EntityRendererManager entityrenderermanager = Minecraft.getInstance() @@ -71,6 +115,8 @@ public class ParrotElement extends AnimatedSceneElement { ms.push(); ms.translate(location.x, location.y, location.z); + ms.translate(MathHelper.lerp(pt, entity.prevPosX, entity.getX()), + MathHelper.lerp(pt, entity.prevPosY, entity.getY()), MathHelper.lerp(pt, entity.prevPosZ, entity.getZ())); MatrixStacker.of(ms) .rotateY(AngleHelper.angleLerp(pt, entity.prevRotationYaw, entity.rotationYaw)); @@ -138,8 +184,6 @@ public class ParrotElement extends AnimatedSceneElement { double d1 = p_200602_2_.y - vec3d.y; double d2 = p_200602_2_.z - vec3d.z; double d3 = (double) MathHelper.sqrt(d0 * d0 + d2 * d2); - entity.prevRotationYaw = entity.rotationYaw; - entity.prevRotationPitch = entity.rotationPitch; entity.rotationPitch = MathHelper.wrapDegrees((float) -(MathHelper.atan2(d1, d3) * (double) (180F / (float) Math.PI))); entity.rotationYaw = diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateElementInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateElementInstruction.java new file mode 100644 index 000000000..629f31085 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateElementInstruction.java @@ -0,0 +1,57 @@ +package com.simibubi.create.foundation.ponder.instructions; + +import java.util.function.BiConsumer; +import java.util.function.Function; + +import com.simibubi.create.foundation.ponder.ElementLink; +import com.simibubi.create.foundation.ponder.PonderScene; +import com.simibubi.create.foundation.ponder.elements.PonderSceneElement; + +import net.minecraft.util.math.Vec3d; + +public class AnimateElementInstruction extends TickingInstruction { + + protected Vec3d deltaPerTick; + protected Vec3d totalDelta; + protected Vec3d target; + protected ElementLink link; + protected T element; + + private BiConsumer setter; + private Function getter; + + protected AnimateElementInstruction(ElementLink link, Vec3d totalDelta, int ticks, + BiConsumer setter, Function getter) { + super(false, ticks); + this.link = link; + this.setter = setter; + this.getter = getter; + this.deltaPerTick = totalDelta.scale(1d / ticks); + this.totalDelta = totalDelta; + this.target = totalDelta; + } + + @Override + protected final void firstTick(PonderScene scene) { + super.firstTick(scene); + element = scene.resolve(link); + if (element == null) + return; + target = getter.apply(element) + .add(totalDelta); + } + + @Override + public void tick(PonderScene scene) { + super.tick(scene); + if (element == null) + return; + if (remainingTicks == 0) { + setter.accept(element, target); + return; + } + setter.accept(element, getter.apply(element) + .add(deltaPerTick)); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateParrotInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateParrotInstruction.java new file mode 100644 index 000000000..69f44417a --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateParrotInstruction.java @@ -0,0 +1,28 @@ +package com.simibubi.create.foundation.ponder.instructions; + +import java.util.function.BiConsumer; +import java.util.function.Function; + +import com.simibubi.create.foundation.ponder.ElementLink; +import com.simibubi.create.foundation.ponder.elements.ParrotElement; + +import net.minecraft.util.math.Vec3d; + +public class AnimateParrotInstruction extends AnimateElementInstruction { + + public static AnimateParrotInstruction rotate(ElementLink link, Vec3d rotation, int ticks) { + return new AnimateParrotInstruction(link, rotation, ticks, (wse, v) -> wse.setRotation(v, ticks == 0), + ParrotElement::getRotation); + } + + public static AnimateParrotInstruction move(ElementLink link, Vec3d offset, int ticks) { + return new AnimateParrotInstruction(link, offset, ticks, (wse, v) -> wse.setPositionOffset(v, ticks == 0), + ParrotElement::getPositionOffset); + } + + protected AnimateParrotInstruction(ElementLink link, Vec3d totalDelta, int ticks, + BiConsumer setter, Function getter) { + super(link, totalDelta, ticks, setter, getter); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateWorldSectionInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateWorldSectionInstruction.java index 9fda1e459..c73f70dc4 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateWorldSectionInstruction.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/instructions/AnimateWorldSectionInstruction.java @@ -4,21 +4,11 @@ import java.util.function.BiConsumer; import java.util.function.Function; import com.simibubi.create.foundation.ponder.ElementLink; -import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.elements.WorldSectionElement; import net.minecraft.util.math.Vec3d; -public class AnimateWorldSectionInstruction extends TickingInstruction { - - protected Vec3d deltaPerTick; - protected Vec3d totalDelta; - protected Vec3d target; - protected ElementLink link; - protected WorldSectionElement element; - - private BiConsumer setter; - private Function getter; +public class AnimateWorldSectionInstruction extends AnimateElementInstruction { public static AnimateWorldSectionInstruction rotate(ElementLink link, Vec3d rotation, int ticks) { @@ -33,36 +23,7 @@ public class AnimateWorldSectionInstruction extends TickingInstruction { protected AnimateWorldSectionInstruction(ElementLink link, Vec3d totalDelta, int ticks, BiConsumer setter, Function getter) { - super(false, ticks); - this.link = link; - this.setter = setter; - this.getter = getter; - this.deltaPerTick = totalDelta.scale(1d / ticks); - this.totalDelta = totalDelta; - this.target = totalDelta; - } - - @Override - protected final void firstTick(PonderScene scene) { - super.firstTick(scene); - element = scene.resolve(link); - if (element == null) - return; - target = getter.apply(element) - .add(totalDelta); - } - - @Override - public void tick(PonderScene scene) { - super.tick(scene); - if (element == null) - return; - if (remainingTicks == 0) { - setter.accept(element, target); - return; - } - setter.accept(element, getter.apply(element) - .add(deltaPerTick)); + super(link, totalDelta, ticks, setter, getter); } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instructions/LineInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instructions/LineInstruction.java new file mode 100644 index 000000000..2a18361b0 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/ponder/instructions/LineInstruction.java @@ -0,0 +1,30 @@ +package com.simibubi.create.foundation.ponder.instructions; + +import com.simibubi.create.foundation.ponder.PonderScene; +import com.simibubi.create.foundation.ponder.content.PonderPalette; + +import net.minecraft.util.math.Vec3d; + +public class LineInstruction extends TickingInstruction { + + private PonderPalette color; + private Vec3d start; + private Vec3d end; + + public LineInstruction(PonderPalette color, Vec3d start, Vec3d end, int ticks) { + super(false, ticks); + this.color = color; + this.start = start; + this.end = end; + } + + @Override + public void tick(PonderScene scene) { + super.tick(scene); + scene.getOutliner() + .showLine(start, start, end) + .lineWidth(1 / 16f) + .colored(color.getColor()); + } + +} diff --git a/src/main/resources/ponder/belt/connect.nbt b/src/main/resources/ponder/belt/connect.nbt new file mode 100644 index 000000000..b1009a9ce Binary files /dev/null and b/src/main/resources/ponder/belt/connect.nbt differ diff --git a/src/main/resources/ponder/belt/directions.nbt b/src/main/resources/ponder/belt/directions.nbt new file mode 100644 index 000000000..fde59d365 Binary files /dev/null and b/src/main/resources/ponder/belt/directions.nbt differ diff --git a/src/main/resources/ponder/belt/transport.nbt b/src/main/resources/ponder/belt/transport.nbt new file mode 100644 index 000000000..784df024a Binary files /dev/null and b/src/main/resources/ponder/belt/transport.nbt differ