From 3806ab04d74cb863816294ff391656ed87054686 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Wed, 29 Jun 2022 19:11:30 +0200 Subject: [PATCH] Ponder non stop - Steam Whistle, Steam Engine - Display Link, Redstone behaviour - Super Glue - Removed chassis from movement actor scenes - Mention that the windmill structure in the bearing scene needs glue --- src/generated/resources/.cache/cache | 32 +- .../resources/assets/create/lang/en_us.json | 68 ++- .../assets/create/lang/unfinished/de_de.json | 70 ++- .../assets/create/lang/unfinished/es_cl.json | 46 +- .../assets/create/lang/unfinished/es_es.json | 46 +- .../assets/create/lang/unfinished/fr_fr.json | 70 ++- .../assets/create/lang/unfinished/it_it.json | 70 ++- .../assets/create/lang/unfinished/ja_jp.json | 46 +- .../assets/create/lang/unfinished/ko_kr.json | 46 +- .../assets/create/lang/unfinished/nl_nl.json | 70 ++- .../assets/create/lang/unfinished/pl_pl.json | 46 +- .../assets/create/lang/unfinished/pt_br.json | 70 ++- .../assets/create/lang/unfinished/pt_pt.json | 70 ++- .../assets/create/lang/unfinished/ro_ro.json | 46 +- .../assets/create/lang/unfinished/ru_ru.json | 46 +- .../assets/create/lang/unfinished/zh_cn.json | 46 +- .../assets/create/lang/unfinished/zh_tw.json | 46 +- .../burner/BlazeBurnerTileEntity.java | 3 +- .../block/display/DisplayLinkTileEntity.java | 5 + .../ponder/content/BearingScenes.java | 92 +++- .../ponder/content/CartAssemblerScenes.java | 11 +- .../ponder/content/ChassisScenes.java | 222 +++++--- .../ponder/content/DisplayScenes.java | 408 ++++++++++----- .../ponder/content/GantryScenes.java | 16 +- .../ponder/content/PistonScenes.java | 12 +- .../ponder/content/PonderIndex.java | 9 +- .../ponder/content/PulleyScenes.java | 8 + .../foundation/ponder/content/SharedText.java | 2 +- .../ponder/content/SteamScenes.java | 474 ++++++++++++++++++ .../content/trains/TrainStationScenes.java | 4 +- .../assets/create/ponder/display/link.nbt | Bin 1349 -> 0 bytes .../assets/create/ponder/display_link.nbt | Bin 0 -> 1356 bytes .../create/ponder/display_link_redstone.nbt | Bin 0 -> 1049 bytes .../assets/create/ponder/steam_engine.nbt | Bin 0 -> 2660 bytes .../assets/create/ponder/steam_whistle.nbt | Bin 0 -> 805 bytes .../assets/create/ponder/super_glue.nbt | Bin 493 -> 688 bytes 36 files changed, 1766 insertions(+), 434 deletions(-) create mode 100644 src/main/java/com/simibubi/create/foundation/ponder/content/SteamScenes.java delete mode 100644 src/main/resources/assets/create/ponder/display/link.nbt create mode 100644 src/main/resources/assets/create/ponder/display_link.nbt create mode 100644 src/main/resources/assets/create/ponder/display_link_redstone.nbt create mode 100644 src/main/resources/assets/create/ponder/steam_engine.nbt create mode 100644 src/main/resources/assets/create/ponder/steam_whistle.nbt diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index afdcd0027..61605bb07 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -559,22 +559,22 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json f85edc574ee6de0de7693ffb031266643db6724a assets/create/lang/en_ud.json -a7577ac3c680ab2310dc75ad5f4ae2b7c04e3e43 assets/create/lang/en_us.json -8735c5c7044b78e597f5a824e8983d0621860796 assets/create/lang/unfinished/de_de.json -2d30195c7141ccc90f5082a49d45339b228c084b assets/create/lang/unfinished/es_cl.json -34d4ac6a07e0aa9532dd2236f453be14afa62dfd assets/create/lang/unfinished/es_es.json -97f5084b105870db9d9fd09cf69f76204d09fb31 assets/create/lang/unfinished/fr_fr.json -c22700892b9c1d182fcd1fce7949b9514a6dc08d assets/create/lang/unfinished/it_it.json -91001c998ab514bd8c1622934768f2c214a9b400 assets/create/lang/unfinished/ja_jp.json -0e81eec61de0c788d544532cc7d9415953a57532 assets/create/lang/unfinished/ko_kr.json -b5cd4570f324f7ef479b4498530db8424a0fce4e assets/create/lang/unfinished/nl_nl.json -4119cf3e85c2db269cfcbb9b0855dc589f1b2efd assets/create/lang/unfinished/pl_pl.json -7dfea0cf1817b578cf77bb3cf7aec56cf3ae3c79 assets/create/lang/unfinished/pt_br.json -6ebfab1999c828e118fd3416cfc1e7deb92a1951 assets/create/lang/unfinished/pt_pt.json -c0696548db7c287f4328da87d7dbd71b5c2fd5cb assets/create/lang/unfinished/ro_ro.json -8e51c6dff7d3440fb64e96912de3477b7d93b785 assets/create/lang/unfinished/ru_ru.json -b7b8e40e1fdcb192a7d4995ac8e171de8b18714d assets/create/lang/unfinished/zh_cn.json -20ecd8bcb6f5bae81b73e6dc578fbac8d0e18cfb assets/create/lang/unfinished/zh_tw.json +07872a50bd540f0f5e1bfba491ee55c4d990c43b assets/create/lang/en_us.json +0c656030172458b386ce43077d1b160454052fce assets/create/lang/unfinished/de_de.json +23e86d06bfc2f1eb6bed44effa223336cd3f97fb assets/create/lang/unfinished/es_cl.json +9abbeadfbd52e22d94458d7c0d11b298b157e21a assets/create/lang/unfinished/es_es.json +7cc2562b4c3aa05c450a5c487d7e56a78258675b assets/create/lang/unfinished/fr_fr.json +cce01a454ffba9ffd4aa1f4f1a9a0661eb76d088 assets/create/lang/unfinished/it_it.json +8126389f0a4bcac9925785876ac7c69619dc672d assets/create/lang/unfinished/ja_jp.json +66d2af0ba204923af54e3ce84e4bce5638accd21 assets/create/lang/unfinished/ko_kr.json +f23c1a32d21724720fa098e4ecb76b086e6bd57f assets/create/lang/unfinished/nl_nl.json +a218e21e5e161c6935eb51372b955da7a42931f9 assets/create/lang/unfinished/pl_pl.json +4ac48e6e3d07dc6f257f90288ac83858b07cb4ec assets/create/lang/unfinished/pt_br.json +cc3110ceef9fd3af67796cfdb495646b1fe4ebfc assets/create/lang/unfinished/pt_pt.json +aae819c606c1b53f24726daa0323f7c90e9e4fe4 assets/create/lang/unfinished/ro_ro.json +52de848bcd39fbe450f7360aa4a0c0f98d0f6a13 assets/create/lang/unfinished/ru_ru.json +f8a3fab509808697153d89c7561f336474f6a5d3 assets/create/lang/unfinished/zh_cn.json +332856c8f8b65043cf6d7d06e68890de16be8661 assets/create/lang/unfinished/zh_tw.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 24eaa9baf..5e0770f8c 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -2074,7 +2074,7 @@ "create.ponder.shared.ctrl_and": "Ctrl +", "create.ponder.shared.rpm32": "32 RPM", "create.ponder.shared.rpm16_source": "Source: 16 RPM", - "create.ponder.shared.movement_anchors": "With the help of Chassis or Super Glue, larger structures can be moved.", + "create.ponder.shared.movement_anchors": "With the help of Super Glue, larger structures can be moved.", "create.ponder.tag.redstone": "Logic Components", "create.ponder.tag.redstone.description": "Components which help with redstone engineering", "create.ponder.tag.contraption_assembly": "Block Attachment Utility", @@ -2129,7 +2129,7 @@ "create.ponder.assembly.text_4": "During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "An optional second one allows departure from Stations in both directions", @@ -2274,7 +2274,7 @@ "create.ponder.clockwork_bearing.text_4": "4:00", "create.ponder.clockwork_bearing.text_5": "Right-Click the bearing to start or stop animating the structure", "create.ponder.clockwork_bearing.text_6": "In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "Ensure the two Structures are not attached to each other through super glue or similar", + "create.ponder.clockwork_bearing.text_7": "Ensure that the two Structures are not glued to each other", "create.ponder.clockwork_bearing.text_8": "The Second Structure will now rotate as the Minute Hand", "create.ponder.clutch.header": "Controlling rotational force using a Clutch", @@ -2363,10 +2363,19 @@ "create.ponder.display_board.text_6": "Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "Setting up Display Links", - "create.ponder.display_link.text_1": "Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "First, right-click the target display...", + "create.ponder.display_link.text_3": "...then attach it to the block to read from", + "create.ponder.display_link.text_4": "Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "The display will now receive information from the link", + "create.ponder.display_link.text_6": "Not every block can act as a source", + "create.ponder.display_link.text_7": "Each compatible block provides unique information", + "create.ponder.display_link.text_8": "The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "Redstone Control", + "create.ponder.display_link_redstone.text_1": "When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "Using Empty Blaze Burners", "create.ponder.empty_blaze_burner.text_1": "Right-click a Blaze with the empty burner to capture it", @@ -2878,6 +2887,29 @@ "create.ponder.stabilized_bearings.text_3": "Once again, the bearing will attach to the block in front of it", "create.ponder.stabilized_bearings.text_4": "As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "Lvl 4", + "create.ponder.steam_engine.text_11": "4 Engines", + "create.ponder.steam_engine.text_12": "Lvl 8", + "create.ponder.steam_engine.text_13": "8 Engines", + "create.ponder.steam_engine.text_2": "Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "Attaching blocks using the Sticker", "create.ponder.sticker.text_1": "Stickers are ideal for Redstone-controlled block attachment", "create.ponder.sticker.text_2": "Upon receiving a signal, it will toggle its state", @@ -2890,11 +2922,12 @@ "create.ponder.stressometer.text_3": "Comparators can emit analog Restone Signals relative to the Stressometer's measurements", "create.ponder.super_glue.header": "Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "Super Glue can be used between any two blocks", - "create.ponder.super_glue.text_2": "The attached blocks will move together when assembled into a Contraption", - "create.ponder.super_glue.text_3": "Whenever Super Glue is held in the off-hand...", - "create.ponder.super_glue.text_4": "...added blocks will be glued to the face they were placed on automatically", - "create.ponder.super_glue.text_5": "Super Glue can be removed with Left-Click", + "create.ponder.super_glue.text_1": "Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "Controlling Trains", "create.ponder.train_controls.text_1": "Train Controls are required on every train contraption", @@ -2959,11 +2992,12 @@ "create.ponder.windmill_source.header": "Generating Rotational Force using Windmill Bearings", "create.ponder.windmill_source.text_1": "Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "If enough Sail-like blocks are attached to the block, it can act as a Windmill", - "create.ponder.windmill_source.text_3": "Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_4": "The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_5": "Use a Wrench to configure its rotation direction", - "create.ponder.windmill_source.text_6": "Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_source.text_2": "Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "Use a Wrench to configure its rotation direction", + "create.ponder.windmill_source.text_7": "Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "Windmill Contraptions", "create.ponder.windmill_structure.text_1": "Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", 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 83653035b..f9045516c 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: 1285", + "_": "Missing Localizations: 1316", "_": "->------------------------] Game Elements [------------------------<-", @@ -2075,7 +2075,7 @@ "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", "create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM", "create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM", - "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.", "create.ponder.tag.redstone": "UNLOCALIZED: Logic Components", "create.ponder.tag.redstone.description": "UNLOCALIZED: Components which help with redstone engineering", "create.ponder.tag.contraption_assembly": "UNLOCALIZED: Block Attachment Utility", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2275,7 +2275,7 @@ "create.ponder.clockwork_bearing.text_4": "UNLOCALIZED: 4:00", "create.ponder.clockwork_bearing.text_5": "UNLOCALIZED: Right-Click the bearing to start or stop animating the structure", "create.ponder.clockwork_bearing.text_6": "UNLOCALIZED: In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure the two Structures are not attached to each other through super glue or similar", + "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure that the two Structures are not glued to each other", "create.ponder.clockwork_bearing.text_8": "UNLOCALIZED: The Second Structure will now rotate as the Minute Hand", "create.ponder.clutch.header": "UNLOCALIZED: Controlling rotational force using a Clutch", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "UNLOCALIZED: Using Empty Blaze Burners", "create.ponder.empty_blaze_burner.text_1": "UNLOCALIZED: Right-click a Blaze with the empty burner to capture it", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "UNLOCALIZED: Once again, the bearing will attach to the block in front of it", "create.ponder.stabilized_bearings.text_4": "UNLOCALIZED: As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "UNLOCALIZED: Attaching blocks using the Sticker", "create.ponder.sticker.text_1": "UNLOCALIZED: Stickers are ideal for Redstone-controlled block attachment", "create.ponder.sticker.text_2": "UNLOCALIZED: Upon receiving a signal, it will toggle its state", @@ -2891,11 +2923,12 @@ "create.ponder.stressometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Stressometer's measurements", "create.ponder.super_glue.header": "UNLOCALIZED: Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue can be used between any two blocks", - "create.ponder.super_glue.text_2": "UNLOCALIZED: The attached blocks will move together when assembled into a Contraption", - "create.ponder.super_glue.text_3": "UNLOCALIZED: Whenever Super Glue is held in the off-hand...", - "create.ponder.super_glue.text_4": "UNLOCALIZED: ...added blocks will be glued to the face they were placed on automatically", - "create.ponder.super_glue.text_5": "UNLOCALIZED: Super Glue can be removed with Left-Click", + "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "UNLOCALIZED: Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "UNLOCALIZED: To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "UNLOCALIZED: Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "UNLOCALIZED: Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2960,11 +2993,12 @@ "create.ponder.windmill_source.header": "UNLOCALIZED: Generating Rotational Force using Windmill Bearings", "create.ponder.windmill_source.text_1": "UNLOCALIZED: Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "UNLOCALIZED: If enough Sail-like blocks are attached to the block, it can act as a Windmill", - "create.ponder.windmill_source.text_3": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_4": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_5": "UNLOCALIZED: Use a Wrench to configure its rotation direction", - "create.ponder.windmill_source.text_6": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_source.text_2": "UNLOCALIZED: Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "UNLOCALIZED: If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "UNLOCALIZED: Use a Wrench to configure its rotation direction", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "UNLOCALIZED: Windmill Contraptions", "create.ponder.windmill_structure.text_1": "UNLOCALIZED: Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_cl.json b/src/generated/resources/assets/create/lang/unfinished/es_cl.json index aea4abde6..a4c628bcf 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_cl.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_cl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 935", + "_": "Missing Localizations: 966", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "Usando Quemadores Blaze vacíos", "create.ponder.empty_blaze_burner.text_1": "Haz Click-Derecho en un Blaze con el quemador vacío para capturarlo", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "Una vez más, el rodamiento se unirá al bloque enfrente a él.", "create.ponder.stabilized_bearings.text_4": "Como resultado, toda la sub-contrapción permanecerá en posición vertical.", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "Colocación de bloques con el Pegador", "create.ponder.sticker.text_1": "Los Pegadores son ideales para la fijación de bloques controlada por Redstone", "create.ponder.sticker.text_2": "Al recibir señal, alternarán de estado", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "Siempre que se sostenga La Gotita en la mano izquierda...", "create.ponder.super_glue.text_4": "...los bloques añadidos se pegarán a la cara en la que se colocaron automáticamente", "create.ponder.super_glue.text_5": "La Gotita se puede quitar con Click-Izquierdo", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "La cantidad de Bloques de Velas determina su velocidad de rotación.", "create.ponder.windmill_source.text_5": "Usa una Llave Inglesa para configurar su dirección de rotación", "create.ponder.windmill_source.text_6": "Haz Click-Derecho en el Rodamiento en cualquier momento para detener y editar la estructura nuevamente", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "Contrapciones de Molino de Viento", "create.ponder.windmill_structure.text_1": "Cualquier estructura puede contar como un molino de viento válido, siempre que contenga al menos 8 Bloques de Vela.", 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 a9b8c185c..b83ae42db 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: 599", + "_": "Missing Localizations: 630", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "Usar quemadores de blaze vacíos", "create.ponder.empty_blaze_burner.text_1": "Haz clic derecho en un blaze con el quemador vacío para capturarlo", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "Una vez más, el rodamiento se unirá al bloque de enfrente", "create.ponder.stabilized_bearings.text_4": "Como resultado, todo el sub-artefacto se mantendrá en posición vertical", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "Fijar bloques con pegatinas", "create.ponder.sticker.text_1": "Las pegatinas son ideales para la fijación controlada por redstone de bloques", "create.ponder.sticker.text_2": "Al recibir una señal, cambiará su estado", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "Cada vez que el pegamento es sostenido en la mano secundaria...", "create.ponder.super_glue.text_4": "...los bloques añadidos se pegarán a la cara en la que fueron colocados automáticamente", "create.ponder.super_glue.text_5": "El pegamento se puede quitar con un clic izquierdo", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "La cantidad de velas determina su velocidad de rotación", "create.ponder.windmill_source.text_5": "Utiliza una llave inglesa para configurar su sentido de rotación", "create.ponder.windmill_source.text_6": "Haga clic derecho sobre el rodamiento de molino de viento en cualquier momento para detener y editar la estructura de nuevo", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "Artefactos estacionarios de molinos de viento", "create.ponder.windmill_structure.text_1": "Cualquier estructura puede contar como un molino de viento válido, siempre que contenga al menos 8 velas.", 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 f6f3a83e9..db83559e7 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: 2087", + "_": "Missing Localizations: 2118", "_": "->------------------------] Game Elements [------------------------<-", @@ -2075,7 +2075,7 @@ "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", "create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM", "create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM", - "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.", "create.ponder.tag.redstone": "UNLOCALIZED: Logic Components", "create.ponder.tag.redstone.description": "UNLOCALIZED: Components which help with redstone engineering", "create.ponder.tag.contraption_assembly": "UNLOCALIZED: Block Attachment Utility", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2275,7 +2275,7 @@ "create.ponder.clockwork_bearing.text_4": "UNLOCALIZED: 4:00", "create.ponder.clockwork_bearing.text_5": "UNLOCALIZED: Right-Click the bearing to start or stop animating the structure", "create.ponder.clockwork_bearing.text_6": "UNLOCALIZED: In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure the two Structures are not attached to each other through super glue or similar", + "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure that the two Structures are not glued to each other", "create.ponder.clockwork_bearing.text_8": "UNLOCALIZED: The Second Structure will now rotate as the Minute Hand", "create.ponder.clutch.header": "UNLOCALIZED: Controlling rotational force using a Clutch", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "UNLOCALIZED: Using Empty Blaze Burners", "create.ponder.empty_blaze_burner.text_1": "UNLOCALIZED: Right-click a Blaze with the empty burner to capture it", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "UNLOCALIZED: Once again, the bearing will attach to the block in front of it", "create.ponder.stabilized_bearings.text_4": "UNLOCALIZED: As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "UNLOCALIZED: Attaching blocks using the Sticker", "create.ponder.sticker.text_1": "UNLOCALIZED: Stickers are ideal for Redstone-controlled block attachment", "create.ponder.sticker.text_2": "UNLOCALIZED: Upon receiving a signal, it will toggle its state", @@ -2891,11 +2923,12 @@ "create.ponder.stressometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Stressometer's measurements", "create.ponder.super_glue.header": "UNLOCALIZED: Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue can be used between any two blocks", - "create.ponder.super_glue.text_2": "UNLOCALIZED: The attached blocks will move together when assembled into a Contraption", - "create.ponder.super_glue.text_3": "UNLOCALIZED: Whenever Super Glue is held in the off-hand...", - "create.ponder.super_glue.text_4": "UNLOCALIZED: ...added blocks will be glued to the face they were placed on automatically", - "create.ponder.super_glue.text_5": "UNLOCALIZED: Super Glue can be removed with Left-Click", + "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "UNLOCALIZED: Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "UNLOCALIZED: To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "UNLOCALIZED: Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "UNLOCALIZED: Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2960,11 +2993,12 @@ "create.ponder.windmill_source.header": "UNLOCALIZED: Generating Rotational Force using Windmill Bearings", "create.ponder.windmill_source.text_1": "UNLOCALIZED: Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "UNLOCALIZED: If enough Sail-like blocks are attached to the block, it can act as a Windmill", - "create.ponder.windmill_source.text_3": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_4": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_5": "UNLOCALIZED: Use a Wrench to configure its rotation direction", - "create.ponder.windmill_source.text_6": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_source.text_2": "UNLOCALIZED: Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "UNLOCALIZED: If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "UNLOCALIZED: Use a Wrench to configure its rotation direction", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "UNLOCALIZED: Windmill Contraptions", "create.ponder.windmill_structure.text_1": "UNLOCALIZED: Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", 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 a939d5250..8c8825ebb 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: 1858", + "_": "Missing Localizations: 1889", "_": "->------------------------] Game Elements [------------------------<-", @@ -2075,7 +2075,7 @@ "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", "create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM", "create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM", - "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.", "create.ponder.tag.redstone": "UNLOCALIZED: Logic Components", "create.ponder.tag.redstone.description": "UNLOCALIZED: Components which help with redstone engineering", "create.ponder.tag.contraption_assembly": "UNLOCALIZED: Block Attachment Utility", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2275,7 +2275,7 @@ "create.ponder.clockwork_bearing.text_4": "UNLOCALIZED: 4:00", "create.ponder.clockwork_bearing.text_5": "UNLOCALIZED: Right-Click the bearing to start or stop animating the structure", "create.ponder.clockwork_bearing.text_6": "UNLOCALIZED: In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure the two Structures are not attached to each other through super glue or similar", + "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure that the two Structures are not glued to each other", "create.ponder.clockwork_bearing.text_8": "UNLOCALIZED: The Second Structure will now rotate as the Minute Hand", "create.ponder.clutch.header": "UNLOCALIZED: Controlling rotational force using a Clutch", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "UNLOCALIZED: Using Empty Blaze Burners", "create.ponder.empty_blaze_burner.text_1": "UNLOCALIZED: Right-click a Blaze with the empty burner to capture it", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "UNLOCALIZED: Once again, the bearing will attach to the block in front of it", "create.ponder.stabilized_bearings.text_4": "UNLOCALIZED: As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "UNLOCALIZED: Attaching blocks using the Sticker", "create.ponder.sticker.text_1": "UNLOCALIZED: Stickers are ideal for Redstone-controlled block attachment", "create.ponder.sticker.text_2": "UNLOCALIZED: Upon receiving a signal, it will toggle its state", @@ -2891,11 +2923,12 @@ "create.ponder.stressometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Stressometer's measurements", "create.ponder.super_glue.header": "UNLOCALIZED: Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue can be used between any two blocks", - "create.ponder.super_glue.text_2": "UNLOCALIZED: The attached blocks will move together when assembled into a Contraption", - "create.ponder.super_glue.text_3": "UNLOCALIZED: Whenever Super Glue is held in the off-hand...", - "create.ponder.super_glue.text_4": "UNLOCALIZED: ...added blocks will be glued to the face they were placed on automatically", - "create.ponder.super_glue.text_5": "UNLOCALIZED: Super Glue can be removed with Left-Click", + "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "UNLOCALIZED: Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "UNLOCALIZED: To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "UNLOCALIZED: Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "UNLOCALIZED: Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2960,11 +2993,12 @@ "create.ponder.windmill_source.header": "UNLOCALIZED: Generating Rotational Force using Windmill Bearings", "create.ponder.windmill_source.text_1": "UNLOCALIZED: Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "UNLOCALIZED: If enough Sail-like blocks are attached to the block, it can act as a Windmill", - "create.ponder.windmill_source.text_3": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_4": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_5": "UNLOCALIZED: Use a Wrench to configure its rotation direction", - "create.ponder.windmill_source.text_6": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_source.text_2": "UNLOCALIZED: Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "UNLOCALIZED: If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "UNLOCALIZED: Use a Wrench to configure its rotation direction", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "UNLOCALIZED: Windmill Contraptions", "create.ponder.windmill_structure.text_1": "UNLOCALIZED: Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", 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 8b93a40b0..74050e341 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: 601", + "_": "Missing Localizations: 632", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "空のブレイズバーナーの使い方", "create.ponder.empty_blaze_burner.text_1": "空のバーナーでブレイズを右クリックすると捕獲できます", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "ベアリングにブロックを取り付けると", "create.ponder.stabilized_bearings.text_4": "ベアリングに取り付けたサブのからくり全体が角度を真っ直ぐに保ったままになります", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "スティッカーを使ったブロックの付け外し", "create.ponder.sticker.text_1": "スティッカーは、ブロックの付け外しをレッドストーン信号で制御できます", "create.ponder.sticker.text_2": "レッドストーン信号を受けると、状態が切り替わります", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "超粘着剤をオフハンドで持つと...", "create.ponder.super_glue.text_4": "...設置したブロックは置いたブロックの面と接着されます", "create.ponder.super_glue.text_5": "左クリックすれば超粘着剤を剥がせます", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "回転速度は帆ブロックの数で決まります", "create.ponder.windmill_source.text_5": "レンチを使って回転方向を変えられます", "create.ponder.windmill_source.text_6": "いつでもベアリングを右クリックすれば、回転を停止させて構造物を組み立てなおせます", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "からくり風車", "create.ponder.windmill_structure.text_1": "帆とみなされるブロックが8個以上あれば、どのような構造物でも風車として動きます", 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 dde0c37a0..51a896b10 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: 601", + "_": "Missing Localizations: 632", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "빈 블레이즈 버너 사용하기", "create.ponder.empty_blaze_burner.text_1": "블레이즈를 우클릭하여 버너에 가둡니다.", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "베어링에 블록이 부착되어도...", "create.ponder.stabilized_bearings.text_4": "...부착된 구조물의 방향이 유지됩니다.", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "부착기를 통한 블록 부착", "create.ponder.sticker.text_1": "부착기는 레드스톤으로 제어할 수 있습니다.", "create.ponder.sticker.text_2": "신호를 받으면, 부착기가 블록을 부착합니다.", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "강력 접착제를 다른 손에 들고...", "create.ponder.super_glue.text_4": "...블록을 설치하면 자동으로 블록을 붙일 수 있습니다.", "create.ponder.super_glue.text_5": "왼쪽 버튼을 누르면 강력 접착제를 제거할 수 있습니다.", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "날개 수에 따라 회전 속도가 바뀝니다.", "create.ponder.windmill_source.text_5": "렌치를 들고 스크롤하면 회전 방향을 바꿀 수 있습니다.", "create.ponder.windmill_source.text_6": "베어링에 우클릭하면 멈추고, 구조물을 수정할 수 있게 됩니다", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "풍차 구조물", "create.ponder.windmill_structure.text_1": "최소 8개 이상의 날개 블록이 있는 구조물만 풍차로 사용할 수 있습니다.", 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 0cb68524f..41bfd6639 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: 2435", + "_": "Missing Localizations: 2466", "_": "->------------------------] Game Elements [------------------------<-", @@ -2075,7 +2075,7 @@ "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", "create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM", "create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM", - "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.", "create.ponder.tag.redstone": "UNLOCALIZED: Logic Components", "create.ponder.tag.redstone.description": "UNLOCALIZED: Components which help with redstone engineering", "create.ponder.tag.contraption_assembly": "UNLOCALIZED: Block Attachment Utility", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2275,7 +2275,7 @@ "create.ponder.clockwork_bearing.text_4": "UNLOCALIZED: 4:00", "create.ponder.clockwork_bearing.text_5": "UNLOCALIZED: Right-Click the bearing to start or stop animating the structure", "create.ponder.clockwork_bearing.text_6": "UNLOCALIZED: In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure the two Structures are not attached to each other through super glue or similar", + "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure that the two Structures are not glued to each other", "create.ponder.clockwork_bearing.text_8": "UNLOCALIZED: The Second Structure will now rotate as the Minute Hand", "create.ponder.clutch.header": "UNLOCALIZED: Controlling rotational force using a Clutch", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "UNLOCALIZED: Using Empty Blaze Burners", "create.ponder.empty_blaze_burner.text_1": "UNLOCALIZED: Right-click a Blaze with the empty burner to capture it", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "UNLOCALIZED: Once again, the bearing will attach to the block in front of it", "create.ponder.stabilized_bearings.text_4": "UNLOCALIZED: As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "UNLOCALIZED: Attaching blocks using the Sticker", "create.ponder.sticker.text_1": "UNLOCALIZED: Stickers are ideal for Redstone-controlled block attachment", "create.ponder.sticker.text_2": "UNLOCALIZED: Upon receiving a signal, it will toggle its state", @@ -2891,11 +2923,12 @@ "create.ponder.stressometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Stressometer's measurements", "create.ponder.super_glue.header": "UNLOCALIZED: Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue can be used between any two blocks", - "create.ponder.super_glue.text_2": "UNLOCALIZED: The attached blocks will move together when assembled into a Contraption", - "create.ponder.super_glue.text_3": "UNLOCALIZED: Whenever Super Glue is held in the off-hand...", - "create.ponder.super_glue.text_4": "UNLOCALIZED: ...added blocks will be glued to the face they were placed on automatically", - "create.ponder.super_glue.text_5": "UNLOCALIZED: Super Glue can be removed with Left-Click", + "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "UNLOCALIZED: Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "UNLOCALIZED: To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "UNLOCALIZED: Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "UNLOCALIZED: Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2960,11 +2993,12 @@ "create.ponder.windmill_source.header": "UNLOCALIZED: Generating Rotational Force using Windmill Bearings", "create.ponder.windmill_source.text_1": "UNLOCALIZED: Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "UNLOCALIZED: If enough Sail-like blocks are attached to the block, it can act as a Windmill", - "create.ponder.windmill_source.text_3": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_4": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_5": "UNLOCALIZED: Use a Wrench to configure its rotation direction", - "create.ponder.windmill_source.text_6": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_source.text_2": "UNLOCALIZED: Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "UNLOCALIZED: If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "UNLOCALIZED: Use a Wrench to configure its rotation direction", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "UNLOCALIZED: Windmill Contraptions", "create.ponder.windmill_structure.text_1": "UNLOCALIZED: Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json index 9516a0361..cb662fa4b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 974", + "_": "Missing Localizations: 1005", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "Używanie pustych płomiennych palników", "create.ponder.empty_blaze_burner.text_1": "Kliknij PPM na Płomyka trzymają w ręce pusty palnik, aby uwięzić go w środku", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "Znowu, łożysko przyłączy do siebie bloki znajdujące się przed nim", "create.ponder.stabilized_bearings.text_4": "Rezultatem tego będzie to, że pod-maszyna będzie utrzymywała się w tej samej pozycji", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "Przyczepianie bloków z użyciem przyklejacza", "create.ponder.sticker.text_1": "Przyklejacze są idealne do kontrolowanego przez Redstone przyczepiania bloków", "create.ponder.sticker.text_2": "Po otrzymaniu sygnału, zmieni on swoje ułożenie", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "Kiedy Super Glue jest trzymany w drugiej ręce...", "create.ponder.super_glue.text_4": "...stawiane bloki będą automatycznie przyklejane", "create.ponder.super_glue.text_5": "Super Glue może zostać usunięty lewym kliknięciem", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "Ilość żagli ustala prędkość obrotu", "create.ponder.windmill_source.text_5": "Użyj klucza, aby dostosować kierunek obrotu", "create.ponder.windmill_source.text_6": "Kliknij PPM na łożysko, aby zatrzymać obrót i zmodyfikować dołączoną strukturę", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "Wiatraki", "create.ponder.windmill_structure.text_1": "Każda struktura jest uznawana za wiatrak w momencie, kiedy ma w sobie co najmniej 8 żaglo-podobnych bloków", 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 2e3e4a587..825989b3d 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: 1468", + "_": "Missing Localizations: 1499", "_": "->------------------------] Game Elements [------------------------<-", @@ -2075,7 +2075,7 @@ "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", "create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM", "create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM", - "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.", "create.ponder.tag.redstone": "UNLOCALIZED: Logic Components", "create.ponder.tag.redstone.description": "UNLOCALIZED: Components which help with redstone engineering", "create.ponder.tag.contraption_assembly": "UNLOCALIZED: Block Attachment Utility", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2275,7 +2275,7 @@ "create.ponder.clockwork_bearing.text_4": "UNLOCALIZED: 4:00", "create.ponder.clockwork_bearing.text_5": "UNLOCALIZED: Right-Click the bearing to start or stop animating the structure", "create.ponder.clockwork_bearing.text_6": "UNLOCALIZED: In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure the two Structures are not attached to each other through super glue or similar", + "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure that the two Structures are not glued to each other", "create.ponder.clockwork_bearing.text_8": "UNLOCALIZED: The Second Structure will now rotate as the Minute Hand", "create.ponder.clutch.header": "UNLOCALIZED: Controlling rotational force using a Clutch", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "UNLOCALIZED: Using Empty Blaze Burners", "create.ponder.empty_blaze_burner.text_1": "UNLOCALIZED: Right-click a Blaze with the empty burner to capture it", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "UNLOCALIZED: Once again, the bearing will attach to the block in front of it", "create.ponder.stabilized_bearings.text_4": "UNLOCALIZED: As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "UNLOCALIZED: Attaching blocks using the Sticker", "create.ponder.sticker.text_1": "UNLOCALIZED: Stickers are ideal for Redstone-controlled block attachment", "create.ponder.sticker.text_2": "UNLOCALIZED: Upon receiving a signal, it will toggle its state", @@ -2891,11 +2923,12 @@ "create.ponder.stressometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Stressometer's measurements", "create.ponder.super_glue.header": "UNLOCALIZED: Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue can be used between any two blocks", - "create.ponder.super_glue.text_2": "UNLOCALIZED: The attached blocks will move together when assembled into a Contraption", - "create.ponder.super_glue.text_3": "UNLOCALIZED: Whenever Super Glue is held in the off-hand...", - "create.ponder.super_glue.text_4": "UNLOCALIZED: ...added blocks will be glued to the face they were placed on automatically", - "create.ponder.super_glue.text_5": "UNLOCALIZED: Super Glue can be removed with Left-Click", + "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "UNLOCALIZED: Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "UNLOCALIZED: To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "UNLOCALIZED: Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "UNLOCALIZED: Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2960,11 +2993,12 @@ "create.ponder.windmill_source.header": "UNLOCALIZED: Generating Rotational Force using Windmill Bearings", "create.ponder.windmill_source.text_1": "UNLOCALIZED: Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "UNLOCALIZED: If enough Sail-like blocks are attached to the block, it can act as a Windmill", - "create.ponder.windmill_source.text_3": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_4": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_5": "UNLOCALIZED: Use a Wrench to configure its rotation direction", - "create.ponder.windmill_source.text_6": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_source.text_2": "UNLOCALIZED: Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "UNLOCALIZED: If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "UNLOCALIZED: Use a Wrench to configure its rotation direction", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "UNLOCALIZED: Windmill Contraptions", "create.ponder.windmill_structure.text_1": "UNLOCALIZED: Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json index 0749681b3..9648648b9 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2144", + "_": "Missing Localizations: 2175", "_": "->------------------------] Game Elements [------------------------<-", @@ -2075,7 +2075,7 @@ "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", "create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM", "create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM", - "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.", "create.ponder.tag.redstone": "UNLOCALIZED: Logic Components", "create.ponder.tag.redstone.description": "UNLOCALIZED: Components which help with redstone engineering", "create.ponder.tag.contraption_assembly": "UNLOCALIZED: Block Attachment Utility", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2275,7 +2275,7 @@ "create.ponder.clockwork_bearing.text_4": "UNLOCALIZED: 4:00", "create.ponder.clockwork_bearing.text_5": "UNLOCALIZED: Right-Click the bearing to start or stop animating the structure", "create.ponder.clockwork_bearing.text_6": "UNLOCALIZED: In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure the two Structures are not attached to each other through super glue or similar", + "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure that the two Structures are not glued to each other", "create.ponder.clockwork_bearing.text_8": "UNLOCALIZED: The Second Structure will now rotate as the Minute Hand", "create.ponder.clutch.header": "UNLOCALIZED: Controlling rotational force using a Clutch", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "UNLOCALIZED: Using Empty Blaze Burners", "create.ponder.empty_blaze_burner.text_1": "UNLOCALIZED: Right-click a Blaze with the empty burner to capture it", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "UNLOCALIZED: Once again, the bearing will attach to the block in front of it", "create.ponder.stabilized_bearings.text_4": "UNLOCALIZED: As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "UNLOCALIZED: Attaching blocks using the Sticker", "create.ponder.sticker.text_1": "UNLOCALIZED: Stickers are ideal for Redstone-controlled block attachment", "create.ponder.sticker.text_2": "UNLOCALIZED: Upon receiving a signal, it will toggle its state", @@ -2891,11 +2923,12 @@ "create.ponder.stressometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Stressometer's measurements", "create.ponder.super_glue.header": "UNLOCALIZED: Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue can be used between any two blocks", - "create.ponder.super_glue.text_2": "UNLOCALIZED: The attached blocks will move together when assembled into a Contraption", - "create.ponder.super_glue.text_3": "UNLOCALIZED: Whenever Super Glue is held in the off-hand...", - "create.ponder.super_glue.text_4": "UNLOCALIZED: ...added blocks will be glued to the face they were placed on automatically", - "create.ponder.super_glue.text_5": "UNLOCALIZED: Super Glue can be removed with Left-Click", + "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "UNLOCALIZED: Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "UNLOCALIZED: To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "UNLOCALIZED: Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "UNLOCALIZED: Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2960,11 +2993,12 @@ "create.ponder.windmill_source.header": "UNLOCALIZED: Generating Rotational Force using Windmill Bearings", "create.ponder.windmill_source.text_1": "UNLOCALIZED: Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "UNLOCALIZED: If enough Sail-like blocks are attached to the block, it can act as a Windmill", - "create.ponder.windmill_source.text_3": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_4": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_5": "UNLOCALIZED: Use a Wrench to configure its rotation direction", - "create.ponder.windmill_source.text_6": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_source.text_2": "UNLOCALIZED: Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "UNLOCALIZED: If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "UNLOCALIZED: Use a Wrench to configure its rotation direction", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "UNLOCALIZED: Windmill Contraptions", "create.ponder.windmill_structure.text_1": "UNLOCALIZED: Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", diff --git a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json index 4e078bd7a..229e02474 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json +++ b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 602", + "_": "Missing Localizations: 633", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "Folosirea Arzătorilor De Dogorală Goi", "create.ponder.empty_blaze_burner.text_1": "Click-Dreapta pe Dogorală cu arzătorul gol pentru a-l captura", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "Încă odată, rulmentul se va atașa cu blocul din fața lui", "create.ponder.stabilized_bearings.text_4": "Ca rezultat, sub-Invenția întreagă va sta dreaptă", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "Atașarea blocurilor folosind Abțipildul", "create.ponder.sticker.text_1": "Abțipildele sunt ideale pentru atașament de blocuri controlate de Redstone", "create.ponder.sticker.text_2": "La primirea unui semnal, își va comuta starea", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "Oricând Super Glue-ul este pus în mâna opusă...", "create.ponder.super_glue.text_4": "...blocurile adăugate vor fi lipite cu fața cu care au fost plasate automat", "create.ponder.super_glue.text_5": "Super Glue-ul poate fi îndepărtat cu Click-Stânga", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "Cantitatea de Blocuri Velă îi determină Viteza De Rotație", "create.ponder.windmill_source.text_5": "Folosește o Cheie pentru a-i configura direcția de rotație", "create.ponder.windmill_source.text_6": "Click-Dreapta pe Rulment oricând pentru a opri și a modifica Structura din nou", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "Invenții de Moară De Vânt", "create.ponder.windmill_structure.text_1": "Orice Structură se pune ca o Moară De Vânt Validă, atâta timp cât conține cel puțin 8 Blocuri velă.", 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 0698415b0..73d2dc4b8 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: 979", + "_": "Missing Localizations: 1010", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "Использовании Пустых горелок всполохов", "create.ponder.empty_blaze_burner.text_1": "ПКМ по Всполоху с пустой горелкой, чтобы захватить его", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "Опять же, подшипники присоединяют блоки перед ними", "create.ponder.stabilized_bearings.text_4": "И в результате целая под-структура будет держаться ровно", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "Прикреплении блоков при помощи Липучки", "create.ponder.sticker.text_1": "Липучки идеально подходят для Редстоун-управляемого присоединения блоков", "create.ponder.sticker.text_2": "При получении сигнала они переключают своё состояние", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "Когда вы супер-клей во второй руке...", "create.ponder.super_glue.text_4": "...добавленные блоки будут сразу приклеены к грани, на которую они были поставлены", "create.ponder.super_glue.text_5": "Супер-клей можно удалить левым кликом", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "Количество парусов определяет скорость вращения", "create.ponder.windmill_source.text_5": "Используйте ключ, чтобы настроить направление вращения", "create.ponder.windmill_source.text_6": "ПКМ по подшипнику в любое время, чтобы остановить его и отредактировать структуру", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "Штуковинах Мельницах", "create.ponder.windmill_structure.text_1": "Любая структура может считаться мельницей, пока она содержит как минимум 8 парусоподобных блоков", 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 5281f73f5..ec7b74f78 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: 599", + "_": "Missing Localizations: 630", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "使用空的烈焰人燃烧室", "create.ponder.empty_blaze_burner.text_1": "手持空的烈焰人燃烧室右击烈焰人来抓取烈焰人", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "跟默认的一样,动力轴承会黏着它前方的方块", "create.ponder.stabilized_bearings.text_4": "这种情况下,它所黏着的子装置的垂直朝向也不会改变", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "使用黏着器来黏附方块", "create.ponder.sticker.text_1": "你可以用红石信号来控制黏着器的行为", "create.ponder.sticker.text_2": "当接受红石信号时,黏着器会黏着前方的方块", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "当强力胶在副手时……", "create.ponder.super_glue.text_4": "……新放置的方块会自动被黏附在所放置方块的面上", "create.ponder.super_glue.text_5": "左击可以清除强力胶", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "风帆方块的数量决定了它的旋转速度", "create.ponder.windmill_source.text_5": "使用扳手可以调整风车的旋转方向", "create.ponder.windmill_source.text_6": "任何时候右击轴承,都可以将其停止,这样你就能再次修改风车的结构", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "风车装置", "create.ponder.windmill_structure.text_1": "任何有至少 8 个类风帆方块的结构,都被视为一个有效的风车", 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 00a728699..f2318a2d4 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: 993", + "_": "Missing Localizations: 1024", "_": "->------------------------] Game Elements [------------------------<-", @@ -2130,7 +2130,7 @@ "create.ponder.assembly.text_4": "UNLOCALIZED: During Assembly no scheduled trains will approach this station", "create.ponder.assembly.text_5": "UNLOCALIZED: Create new bogeys by using Train Casing on Tracks", "create.ponder.assembly.text_6": "UNLOCALIZED: Click the track again to cycle between bogey designs", - "create.ponder.assembly.text_7": "UNLOCALIZED: Next, attach blocks to them with the help of chassis or super glue", + "create.ponder.assembly.text_7": "UNLOCALIZED: Attach blocks with the help of Super Glue", "create.ponder.assembly.text_8": "UNLOCALIZED: Every Train requires Train Controls on board", "create.ponder.assembly.text_9": "UNLOCALIZED: An optional second one allows departure from Stations in both directions", @@ -2364,10 +2364,19 @@ "create.ponder.display_board.text_6": "UNLOCALIZED: Lines can be reset by clicking them with an empty hand", "create.ponder.display_link.header": "UNLOCALIZED: Setting up Display Links", - "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links should be assigned a target before they are placed", - "create.ponder.display_link.text_2": "UNLOCALIZED: First select a target by Right- Clicking while holding the Link ...", - "create.ponder.display_link.text_3": "UNLOCALIZED: ... then select the source by placing the Link against it", - "create.ponder.display_link.text_4": "UNLOCALIZED: Replacing Targets or Sources at a later time is possible as well", + "create.ponder.display_link.text_1": "UNLOCALIZED: Display Links can used to visualise dynamic information", + "create.ponder.display_link.text_2": "UNLOCALIZED: First, right-click the target display...", + "create.ponder.display_link.text_3": "UNLOCALIZED: ...then attach it to the block to read from", + "create.ponder.display_link.text_4": "UNLOCALIZED: Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "UNLOCALIZED: The display will now receive information from the link", + "create.ponder.display_link.text_6": "UNLOCALIZED: Not every block can act as a source", + "create.ponder.display_link.text_7": "UNLOCALIZED: Each compatible block provides unique information", + "create.ponder.display_link.text_8": "UNLOCALIZED: The Display Link can work with several different displays", + + "create.ponder.display_link_redstone.header": "UNLOCALIZED: Redstone Control", + "create.ponder.display_link_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "UNLOCALIZED: Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "UNLOCALIZED: Signals emitted from the source do not affect the Link", "create.ponder.empty_blaze_burner.header": "使用空的烈焰人燃燒室", "create.ponder.empty_blaze_burner.text_1": "手持空的烈焰人燃燒室右擊烈焰人來抓取烈焰人", @@ -2879,6 +2888,29 @@ "create.ponder.stabilized_bearings.text_3": "跟預設的一樣,動力軸承會黏著它前方的方塊", "create.ponder.stabilized_bearings.text_4": "這種情況下,它所黏著的子結構的垂直朝向也不會改變", + "create.ponder.steam_engine.header": "UNLOCALIZED: Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "UNLOCALIZED: Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "UNLOCALIZED: Lvl 4", + "create.ponder.steam_engine.text_11": "UNLOCALIZED: 4 Engines", + "create.ponder.steam_engine.text_12": "UNLOCALIZED: Lvl 8", + "create.ponder.steam_engine.text_13": "UNLOCALIZED: 8 Engines", + "create.ponder.steam_engine.text_2": "UNLOCALIZED: Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "UNLOCALIZED: With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "UNLOCALIZED: ...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "UNLOCALIZED: The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "UNLOCALIZED: With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "UNLOCALIZED: Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "UNLOCALIZED: The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "UNLOCALIZED: With each added power level, an additional Engine can output at full capacity", + + "create.ponder.steam_whistle.header": "UNLOCALIZED: Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "UNLOCALIZED: Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "UNLOCALIZED: If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "UNLOCALIZED: ...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "UNLOCALIZED: Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "UNLOCALIZED: Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "UNLOCALIZED: Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "使用方塊黏著器來黏取方塊", "create.ponder.sticker.text_1": "方塊黏著器是一個很棒的裝置,他受控於紅石訊號", "create.ponder.sticker.text_2": "當接收到訊號時,他會黏起面前的一個方塊", @@ -2896,6 +2928,7 @@ "create.ponder.super_glue.text_3": "當強力膠在副手時...", "create.ponder.super_glue.text_4": "...新放置的方塊會自動被黏附在所放置方塊的面上", "create.ponder.super_glue.text_5": "左擊可以清除強力膠", + "create.ponder.super_glue.text_6": "UNLOCALIZED: Blocks hanging on others usually do not require glue", "create.ponder.train_controls.header": "UNLOCALIZED: Controlling Trains", "create.ponder.train_controls.text_1": "UNLOCALIZED: Train Controls are required on every train contraption", @@ -2965,6 +2998,7 @@ "create.ponder.windmill_source.text_4": "產生的動能將取決於所黏風帆方塊之數量", "create.ponder.windmill_source.text_5": "使用扳手來調整其旋轉方向", "create.ponder.windmill_source.text_6": "對風車軸承右鍵可使其停止方便你維修風車", + "create.ponder.windmill_source.text_7": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again", "create.ponder.windmill_structure.header": "風車結構", "create.ponder.windmill_structure.text_1": "任一包含至少8個風帆方塊的結構即為有效的風車", diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerTileEntity.java index d901adfb2..3517ecf34 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerTileEntity.java @@ -73,7 +73,8 @@ public class BlazeBurnerTileEntity extends SmartTileEntity { if (level.isClientSide) { tickAnimation(); - spawnParticles(getHeatLevelFromBlock(), 1); + if (!isVirtual()) + spawnParticles(getHeatLevelFromBlock(), 1); return; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java index c21201af5..c06ee51e9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java @@ -47,6 +47,11 @@ public class DisplayLinkTileEntity extends SmartTileEntity { @Override public void tick() { super.tick(); + + if (isVirtual()) { + glow.tickChaser(); + return; + } if (activeSource == null) return; diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java index c2b602971..a15bcc77c 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/BearingScenes.java @@ -1,6 +1,7 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.components.actors.HarvesterTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.SailBlock; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity; @@ -21,6 +22,10 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.WallBlock; +import net.minecraft.world.level.block.state.properties.WallSide; +import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; public class BearingScenes { @@ -29,6 +34,7 @@ public class BearingScenes { scene.title("windmill_source", "Generating Rotational Force using Windmill Bearings"); scene.configureBasePlate(1, 1, 5); scene.setSceneOffsetY(-1); + scene.scaleSceneView(.9f); scene.world.showSection(util.select.fromTo(1, 0, 1, 5, 0, 5), Direction.UP); scene.world.setBlock(util.grid.at(2, -1, 0), AllBlocks.SAIL.getDefaultState() @@ -88,11 +94,30 @@ public class BearingScenes { scene.effects.superGlue(anchorPos.relative(d, 1), d.getOpposite(), false); scene.idle(10); + AABB bb1 = new AABB(util.grid.at(5, 2, 0)); + AABB bb2 = new AABB(util.grid.at(3, 4, 0)); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, bb1, bb1, 1); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, bb1, bb1.expandTowards(-4, 0, 0), 75); + scene.idle(5); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, bb2, bb2, 1); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, bb2, bb2.expandTowards(0, -4, 0), 80); + scene.idle(10); + scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(util.grid.at(5, 2, 0)), Pointing.RIGHT) + .withItem(AllItems.SUPER_GLUE.asStack()), 40); + + scene.idle(15); scene.overlay.showText(60) - .pointAt(util.vector.blockSurface(anchorPos, Direction.NORTH)) + .pointAt(util.vector.blockSurface(util.grid.at(1, 2, 0), Direction.NORTH)) .attachKeyFrame() .placeNearTarget() - .text("If enough Sail-like blocks are attached to the block, it can act as a Windmill"); + .text("Create a movable structure with the help of Super Glue"); + scene.idle(70); + + scene.overlay.showText(80) + .pointAt(util.vector.centerOf(1, 3, 0)) + .attachKeyFrame() + .placeNearTarget() + .text("If enough Sail-like blocks are included, this can act as a Windmill"); scene.idle(70); scene.rotateCameraY(-90); @@ -236,9 +261,10 @@ public class BearingScenes { .text("Mechanical Bearings attach to the block in front of them"); scene.idle(50); - ElementLink plank = scene.world.showIndependentSection(util.select.position(bearingPos.above() - .east() - .north()), Direction.DOWN); + ElementLink plank = + scene.world.showIndependentSection(util.select.position(bearingPos.above() + .east() + .north()), Direction.DOWN); scene.world.moveSection(plank, util.vector.of(-1, 0, 1), 0); scene.idle(20); @@ -264,11 +290,25 @@ public class BearingScenes { Selection plank2 = util.select.position(4, 3, 2); ElementLink contraption = scene.world.showIndependentSection(util.select.layersFrom(3) .substract(plank2), Direction.DOWN); + scene.world.replaceBlocks(util.select.fromTo(2, 4, 3, 4, 3, 3), Blocks.OAK_PLANKS.defaultBlockState(), false); + scene.idle(10); + + scene.overlay.showOutline(PonderPalette.GREEN, "glue", util.select.position(2, 4, 3) + .add(util.select.fromTo(4, 3, 3, 2, 3, 3)) + .add(util.select.position(4, 3, 2)), 40); + scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(util.grid.at(4, 3, 3)), Pointing.RIGHT) + .withItem(AllItems.SUPER_GLUE.asStack()), 40); + scene.idle(10); scene.world.showSectionAndMerge(plank2, Direction.SOUTH, contraption); scene.idle(15); scene.effects.superGlue(util.grid.at(4, 3, 2), Direction.SOUTH, true); - scene.idle(5); + scene.overlay.showText(120) + .pointAt(util.vector.topOf(bearingPos.above())) + .placeNearTarget() + .attachKeyFrame() + .sharedText("movement_anchors"); + scene.idle(25); scene.world.configureCenterOfRotation(contraption, util.vector.topOf(bearingPos)); scene.world.setKineticSpeed(cog1, -8); @@ -279,12 +319,6 @@ public class BearingScenes { scene.world.rotateBearing(bearingPos, 360 * 2, 37 * 4); scene.world.rotateSection(contraption, 0, 360 * 2, 0, 37 * 4); - scene.overlay.showText(120) - .pointAt(util.vector.topOf(bearingPos.above())) - .placeNearTarget() - .attachKeyFrame() - .sharedText("movement_anchors"); - scene.idle(37 * 4); scene.world.setKineticSpeed(all, 0); } @@ -526,13 +560,17 @@ public class BearingScenes { scene.world.hideIndependentSection(plank, Direction.NORTH); scene.idle(15); + scene.world.replaceBlocks(util.select.fromTo(3, 3, 1, 3, 4, 2), Blocks.OAK_PLANKS.defaultBlockState(), false); ElementLink hourHand = scene.world.showIndependentSection(util.select.fromTo(3, 3, 1, 3, 5, 2), Direction.SOUTH); scene.world.configureCenterOfRotation(hourHand, util.vector.centerOf(bearingPos)); scene.idle(15); + scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(util.grid.at(3, 4, 1)), Pointing.RIGHT) + .withItem(AllItems.SUPER_GLUE.asStack()), 40); scene.overlay.showSelectionWithText(util.select.fromTo(3, 3, 1, 3, 4, 2), 80) .placeNearTarget() .attachKeyFrame() + .colored(PonderPalette.GREEN) .sharedText("movement_anchors"); scene.idle(90); @@ -554,6 +592,8 @@ public class BearingScenes { scene.world.rotateBearing(bearingPos, -120, 0); scene.idle(10); + scene.world.setBlock(util.grid.at(3, 3, 0), Blocks.STONE_BRICK_WALL.defaultBlockState() + .setValue(WallBlock.SOUTH_WALL, WallSide.TALL), false); ElementLink minuteHand = scene.world.showIndependentSection(util.select.fromTo(3, 3, 0, 3, 6, 0), Direction.SOUTH); scene.world.configureCenterOfRotation(minuteHand, util.vector.centerOf(bearingPos)); @@ -563,7 +603,7 @@ public class BearingScenes { scene.overlay.showSelectionWithText(util.select.fromTo(3, 3, 1, 3, 4, 2), 80) .placeNearTarget() .colored(PonderPalette.GREEN) - .text("Ensure the two Structures are not attached to each other through super glue or similar"); + .text("Ensure that the two Structures are not glued to each other"); scene.idle(90); scene.overlay.showControls(clickTheBearingSide.rightClick(), 20); @@ -649,26 +689,26 @@ public class BearingScenes { scene.rotateCameraY(-30); scene.idle(10); InputWindowElement input = - new InputWindowElement(util.vector.blockSurface(util.grid.at(2, 3, 1), Direction.NORTH), Pointing.RIGHT) - .withItem(new ItemStack(Items.BLUE_DYE)); + new InputWindowElement(util.vector.blockSurface(util.grid.at(2, 3, 1), Direction.NORTH), Pointing.RIGHT) + .withItem(new ItemStack(Items.BLUE_DYE)); scene.overlay.showControls(input, 30); scene.idle(7); - scene.world.setBlock(util.grid.at(2, 3, 1), AllBlocks.DYED_SAILS.get(DyeColor.BLUE).getDefaultState() - .setValue(SailBlock.FACING, Direction.WEST), false); + scene.world.setBlock(util.grid.at(2, 3, 1), AllBlocks.DYED_SAILS.get(DyeColor.BLUE) + .getDefaultState() + .setValue(SailBlock.FACING, Direction.WEST), false); scene.idle(10); scene.overlay.showText(40) - .colored(PonderPalette.BLUE) - .text("Right-Click with Dye to paint them") - .attachKeyFrame() - .pointAt(util.vector.blockSurface(util.grid.at(2, 3, 1), Direction.WEST)) - .placeNearTarget(); + .colored(PonderPalette.BLUE) + .text("Right-Click with Dye to paint them") + .attachKeyFrame() + .pointAt(util.vector.blockSurface(util.grid.at(2, 3, 1), Direction.WEST)) + .placeNearTarget(); scene.idle(20); scene.overlay.showControls(input, 30); scene.idle(7); - scene.world.replaceBlocks(util.select.fromTo(2, 2, 1, 2, 4, 1), - AllBlocks.DYED_SAILS.get(DyeColor.BLUE).getDefaultState() - .setValue(SailBlock.FACING, Direction.WEST), - false); + scene.world.replaceBlocks(util.select.fromTo(2, 2, 1, 2, 4, 1), AllBlocks.DYED_SAILS.get(DyeColor.BLUE) + .getDefaultState() + .setValue(SailBlock.FACING, Direction.WEST), false); scene.idle(20); scene.world.rotateBearing(bearingPos, 90, 33); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/CartAssemblerScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/CartAssemblerScenes.java index 6091b89a3..90351ed32 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/CartAssemblerScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/CartAssemblerScenes.java @@ -71,8 +71,7 @@ public class CartAssemblerScenes { .placeNearTarget(); scene.idle(80); - ElementLink cart = - scene.special.createCart(util.vector.topOf(2, 0, 4), 90, Minecart::new); + ElementLink cart = scene.special.createCart(util.vector.topOf(2, 0, 4), 90, Minecart::new); scene.world.showSection(util.select.position(assemblerPos.above()), Direction.DOWN); scene.idle(10); scene.special.moveCart(cart, util.vector.of(0, 0, -2), 20); @@ -114,12 +113,20 @@ public class CartAssemblerScenes { scene.world.destroyBlock(assemblerPos.above()); scene.idle(5); + scene.world.replaceBlocks(util.select.fromTo(3, 3, 2, 1, 4, 2), Blocks.OAK_PLANKS.defaultBlockState(), false); ElementLink contraption = scene.world.showIndependentSection(util.select.fromTo(1, 4, 2, 3, 3, 2), Direction.DOWN); scene.world.moveSection(contraption, util.vector.of(0, -1, 0), 0); scene.idle(10); scene.world.showSectionAndMerge(util.select.position(3, 3, 1), Direction.SOUTH, contraption); + scene.idle(15); + scene.overlay.showOutline(PonderPalette.GREEN, "glue", util.select.position(1, 3, 2) + .add(util.select.fromTo(3, 2, 2, 1, 2, 2)) + .add(util.select.position(3, 2, 1)), 40); + scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(util.grid.at(3, 2, 2)), Pointing.RIGHT) + .withItem(AllItems.SUPER_GLUE.asStack()), 40); + scene.effects.superGlue(util.grid.at(3, 2, 1), Direction.SOUTH, true); scene.overlay.showText(80) .attachKeyFrame() diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/ChassisScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/ChassisScenes.java index 40b57f68f..f1fcde366 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/ChassisScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/ChassisScenes.java @@ -18,6 +18,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; @@ -485,86 +486,169 @@ public class ChassisScenes { public static void superGlue(SceneBuilder scene, SceneBuildingUtil util) { scene.title("super_glue", "Attaching blocks using Super Glue"); scene.configureBasePlate(0, 0, 5); - scene.world.showSection(util.select.layer(0), Direction.UP); - scene.idle(5); - scene.world.showSection(util.select.layer(1), Direction.DOWN); - scene.idle(10); - - BlockPos central = util.grid.at(2, 2, 2); - ElementLink plank = - scene.world.showIndependentSection(util.select.position(central), Direction.DOWN); + scene.showBasePlate(); + scene.setSceneOffsetY(-1); scene.idle(15); - Vec3 blockSurface = util.vector.blockSurface(central, Direction.NORTH); - scene.overlay.showControls(new InputWindowElement(blockSurface, Pointing.DOWN).rightClick() - .withItem(AllItems.SUPER_GLUE.asStack()), 40); - scene.idle(7); -// ElementLink glueEntity = scene.world.createGlueEntity(central, Direction.NORTH);TODO - scene.idle(10); - scene.overlay.showText(60) - .pointAt(blockSurface) + + Selection slab = util.select.fromTo(0, 2, 2, 1, 2, 2); + Selection pulley = util.select.fromTo(2, 2, 2, 2, 4, 2); + BlockPos pulleyPos = util.grid.at(2, 4, 2); + Selection kinetics = util.select.fromTo(1, 4, 2, 2, 4, 2); + BlockPos crankPos = util.grid.at(1, 4, 2); + Selection torch = util.select.position(1, 2, 3); + Selection harvester = util.select.position(3, 2, 3); + Selection lever = util.select.position(1, 1, 1); + + scene.world.setBlocks(util.select.fromTo(2, 2, 2, 2, 3, 2), Blocks.AIR.defaultBlockState(), false); + + scene.world.showSection(util.select.fromTo(1, 1, 2, 2, 1, 2), Direction.DOWN); + scene.world.showSection(util.select.fromTo(2, 2, 3, 2, 1, 3), Direction.DOWN); + scene.idle(5); + scene.world.showSection(util.select.fromTo(4, 1, 2, 3, 1, 2), Direction.WEST); + scene.idle(20); + + scene.overlay.showText(80) + .text("Super Glue groups blocks together into moving contraptions") .placeNearTarget() - .text("Super Glue can be used between any two blocks") - .colored(PonderPalette.GREEN); + .attachKeyFrame() + .pointAt(util.vector.topOf(util.grid.at(2, 1, 2))); + scene.idle(70); + + scene.overlay.showControls( + new InputWindowElement(util.vector.topOf(2, 2, 3), Pointing.DOWN).withItem(AllItems.SUPER_GLUE.asStack()) + .rightClick(), + 40); + scene.idle(6); + scene.effects.indicateSuccess(util.grid.at(2, 2, 3)); + + scene.idle(45); + scene.overlay.showControls( + new InputWindowElement(util.vector.blockSurface(util.grid.at(1, 1, 2), Direction.DOWN), Pointing.UP) + .withItem(AllItems.SUPER_GLUE.asStack()) + .rightClick(), + 40); + scene.idle(6); + + AABB bb = new AABB(util.grid.at(2, 2, 3)); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, lever, bb, 1); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, lever, bb.expandTowards(-1, -1, -1), 285); + scene.idle(25); + + scene.overlay.showText(70) + .text("Clicking two endpoints creates a new 'glued' area") + .placeNearTarget() + .colored(PonderPalette.GREEN) + .attachKeyFrame() + .pointAt(util.vector.blockSurface(util.grid.at(1, 1, 2), Direction.WEST)); + scene.idle(80); + + bb = new AABB(util.grid.at(3, 1, 3)); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, crankPos, bb, 1); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, crankPos, bb.expandTowards(0, 0, -2), 66); + scene.idle(20); + + scene.overlay.showText(70) + .text("To remove a box, punch it with the glue item in hand") + .placeNearTarget() + .attachKeyFrame() + .pointAt(util.vector.blockSurface(util.grid.at(3, 1, 1), Direction.WEST)); + scene.idle(40); + + scene.overlay.showControls( + new InputWindowElement(util.vector.blockSurface(util.grid.at(3, 1, 1), Direction.UP), Pointing.DOWN) + .withItem(AllItems.SUPER_GLUE.asStack()) + .leftClick(), + 40); scene.idle(50); - scene.world.glueBlockOnto(central.north(), Direction.SOUTH, plank); + Selection toMove = util.select.fromTo(1, 1, 2, 2, 1, 2) + .add(util.select.fromTo(2, 2, 3, 2, 1, 3)); + scene.overlay.showSelectionWithText(toMove, 70) + .text("Adjacent blocks sharing an area will pull each other along") + .placeNearTarget() + .attachKeyFrame() + .pointAt(util.vector.blockSurface(util.grid.at(1, 1, 2), Direction.WEST)); + scene.idle(50); + + scene.world.showSection(pulley, Direction.DOWN); + scene.idle(10); + scene.world.showSection(util.select.position(crankPos), Direction.EAST); scene.idle(20); -// scene.world.modifyEntity(glueEntity, Entity::discard); - BlockPos bearingPos = util.grid.at(2, 1, 2); - scene.world.configureCenterOfRotation(plank, util.vector.centerOf(bearingPos)); - scene.world.rotateBearing(bearingPos, 360, 80); - scene.world.rotateSection(plank, 0, 360, 0, 80); - scene.idle(30); - scene.overlay.showText(80) - .attachKeyFrame() - .pointAt(util.vector.topOf(central)) - .placeNearTarget() - .text("The attached blocks will move together when assembled into a Contraption"); - scene.idle(90); - - scene.overlay.showText(50) - .attachKeyFrame() - .pointAt(util.vector.topOf(central)) - .placeNearTarget() - .text("Whenever Super Glue is held in the off-hand..."); - scene.idle(60); - - scene.world.glueBlockOnto(central.south(), Direction.NORTH, plank); - scene.idle(5); - scene.world.glueBlockOnto(central.north() - .east(), Direction.WEST, plank); - scene.idle(5); - scene.world.glueBlockOnto(central.above(), Direction.DOWN, plank); - scene.idle(5); - scene.world.glueBlockOnto(central.south() - .west(), Direction.EAST, plank); + scene.world.movePulley(pulleyPos, -1, 20); + scene.world.setKineticSpeed(kinetics, -24); + ElementLink contraption = scene.world.makeSectionIndependent(toMove); + scene.world.moveSection(contraption, util.vector.of(0, 1, 0), 20); + scene.idle(20); + scene.world.setKineticSpeed(kinetics, 0); scene.idle(10); - scene.overlay.showText(80) - .pointAt(util.vector.topOf(central) - .subtract(.5, 0, 0)) - .placeNearTarget() - .text("...added blocks will be glued to the face they were placed on automatically"); - scene.idle(90); - - scene.world.rotateBearing(bearingPos, 360, 80); - scene.world.rotateSection(plank, 0, 360, 0, 80); - scene.idle(90); - -// glueEntity = scene.world.createGlueEntity(central, Direction.UP);TODO - scene.world.destroyBlock(central.above()); + scene.world.movePulley(pulleyPos, 1, 20); + scene.world.setKineticSpeed(kinetics, 24); + scene.world.moveSection(contraption, util.vector.of(0, -1, 0), 20); scene.idle(20); - scene.addKeyframe(); - scene.overlay.showControls(new InputWindowElement(util.vector.topOf(central), Pointing.DOWN).leftClick(), 40); - scene.idle(7); -// scene.world.modifyEntity(glueEntity, Entity::discard); - scene.effects.superGlue(central, Direction.UP, false); + scene.world.setKineticSpeed(kinetics, 0); scene.idle(10); - scene.overlay.showText(60) - .pointAt(util.vector.topOf(central)) + + bb = new AABB(util.grid.at(2, 2, 3)); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, "0", bb.expandTowards(-1, -1, -1), 70); + scene.idle(15); + scene.world.showSection(slab, Direction.DOWN); + bb = new AABB(util.grid.at(2, 1, 2)); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, "1", bb, 1); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, "1", bb.expandTowards(2, 0, 0), 55); + scene.idle(15); + bb = new AABB(util.grid.at(1, 2, 2)); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, "2", bb, 1); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.GREEN, "2", bb.expandTowards(-1, 0, 0), 40); + + scene.overlay.showText(70) + .text("Overlapping glue volumes will move together") .placeNearTarget() - .text("Super Glue can be removed with Left-Click"); + .colored(PonderPalette.GREEN) + .attachKeyFrame() + .pointAt(util.vector.blockSurface(util.grid.at(0, 2, 2), Direction.WEST)); + scene.idle(40); + + ElementLink cogs = scene.world.makeSectionIndependent(util.select.fromTo(4, 1, 2, 3, 1, 2) + .add(util.select.fromTo(1, 2, 2, 0, 2, 2))); + + scene.world.movePulley(pulleyPos, -1, 20); + scene.world.setKineticSpeed(kinetics, -24); + scene.world.moveSection(contraption, util.vector.of(0, 1, 0), 20); + scene.world.moveSection(cogs, util.vector.of(0, 1, 0), 20); + scene.idle(20); + scene.world.setKineticSpeed(kinetics, 0); + scene.idle(10); + + scene.overlay.showOutline(PonderPalette.GREEN, cogs, util.select.fromTo(4, 2, 2, 1, 2, 2) + .add(util.select.fromTo(2, 3, 3, 2, 2, 3)) + .add(util.select.fromTo(1, 3, 2, 0, 3, 2)), 70); + ElementLink brittles = scene.world.showIndependentSection(lever, Direction.SOUTH); + scene.world.moveSection(brittles, util.vector.of(0, 1, 0), 0); + scene.idle(5); + scene.world.showSectionAndMerge(harvester, Direction.WEST, brittles); + scene.idle(5); + scene.world.showSectionAndMerge(torch, Direction.EAST, brittles); + scene.idle(25); + + scene.overlay.showText(80) + .text("Blocks hanging on others usually do not require glue") + .placeNearTarget() + .colored(PonderPalette.BLUE) + .attachKeyFrame() + .pointAt(util.vector.blockSurface(util.grid.at(1, 2, 2), Direction.NORTH)); + scene.idle(80); + + scene.world.movePulley(pulleyPos, 1, 20); + scene.world.setKineticSpeed(kinetics, 24); + scene.world.moveSection(cogs, util.vector.of(0, -1, 0), 20); + scene.world.moveSection(brittles, util.vector.of(0, -1, 0), 20); + scene.world.moveSection(contraption, util.vector.of(0, -1, 0), 20); + scene.idle(20); + scene.world.setKineticSpeed(kinetics, 0); + scene.idle(10); + } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/DisplayScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/DisplayScenes.java index 66a997707..e9c855c08 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/DisplayScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/DisplayScenes.java @@ -2,16 +2,14 @@ package com.simibubi.create.foundation.ponder.content; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; -import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; 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.element.InputWindowElement; -import com.simibubi.create.foundation.ponder.element.ParrotElement; import com.simibubi.create.foundation.ponder.element.WorldSectionElement; +import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Pointing; import net.minecraft.core.BlockPos; @@ -20,8 +18,7 @@ import net.minecraft.network.chat.TextComponent; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.entity.SignBlockEntity; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; @@ -32,148 +29,200 @@ public class DisplayScenes { scene.configureBasePlate(0, 0, 5); scene.showBasePlate(); - ItemStack linkItem = AllBlocks.DISPLAY_LINK.asStack(); - BlockPos invalidLinkPos = util.grid.at(2, 1, 2); - Selection invalidLinkSel = util.select.position(invalidLinkPos); + BlockPos depotPos = util.grid.at(3, 1, 1); + Selection depot = util.select.position(3, 1, 1); BlockPos linkPos = util.grid.at(2, 1, 1); - Selection linkSel = util.select.position(linkPos); + Selection link = util.select.position(linkPos); + BlockPos board = util.grid.at(3, 2, 3); + Selection fullBoard = util.select.fromTo(3, 2, 3, 1, 1, 3); + Selection largeCog = util.select.position(3, 0, 5); + Selection smallCog = util.select.fromTo(4, 1, 5, 4, 1, 3); - BlockPos signPos = util.grid.at(2, 1, 4); - BlockPos signTarget = util.grid.at(2, 2, 4); + Selection cuckoo = util.select.position(3, 2, 1); + Selection stresso = util.select.position(3, 3, 1); + Selection content = util.select.fromTo(4, 4, 1, 3, 4, 1); + Selection dirt = util.select.position(3, 5, 1); - scene.idle(20); - - scene.world.showSection(invalidLinkSel, Direction.DOWN); - - scene.idle(10); - scene.effects.indicateRedstone(invalidLinkPos); - scene.overlay.showSelectionWithText(invalidLinkSel, 60) - .attachKeyFrame() - .colored(PonderPalette.RED) - .text("Display Links should be assigned a target before they are placed") - .pointAt(util.vector.blockSurface(invalidLinkPos, Direction.WEST)) - .placeNearTarget(); - - scene.idle(60); - - ElementLink signSection = - scene.world.showIndependentSection(util.select.position(signPos), Direction.DOWN); - scene.world.moveSection(signSection, util.vector.of(0, 1, 0), 0); - - ElementLink concreteSection = - scene.world.showIndependentSection(util.select.position(signPos.below()), Direction.UP); - scene.world.moveSection(concreteSection, util.vector.of(0, 1, 0), 0); - - scene.world.hideSection(invalidLinkSel, Direction.UP); - - scene.idle(20); - - scene.overlay.showControls( - new InputWindowElement(util.vector.blockSurface(signTarget, Direction.UP), Pointing.DOWN).rightClick() - .withItem(linkItem), - 50); - - scene.idle(5); - AABB signBounds = Block.box(4.0D, 0.0D, 4.0D, 12.0D, 16.0D, 12.0D) - .bounds(); - scene.overlay.chaseBoundingBoxOutline(PonderPalette.OUTPUT, new Object(), signBounds.move(signTarget), 60); - - scene.overlay.showText(70) - .colored(PonderPalette.OUTPUT) - .text("First select a target by Right- Clicking while holding the Link ...") - .pointAt(util.vector.topOf(signTarget)) - .placeNearTarget(); - - scene.idle(50); - - BlockPos observerPos = util.grid.at(3, 1, 1); - - scene.world.showSection(util.select.fromTo(observerPos, observerPos.relative(Direction.SOUTH)), Direction.DOWN); - - scene.idle(10); - - scene.overlay.showControls( - new InputWindowElement(util.vector.blockSurface(observerPos, Direction.WEST), Pointing.RIGHT).rightClick() - .withItem(linkItem), - 50); - scene.overlay.showText(60) - .attachKeyFrame() - .colored(PonderPalette.INPUT) - .text("... then select the source by placing the Link against it") - .pointAt(util.vector.blockSurface(observerPos, Direction.UP)) - .placeNearTarget(); - - scene.idle(55); - - scene.world.showSection(linkSel, Direction.EAST); - - scene.idle(20); - - scene.world.modifyTileEntity(linkPos, DisplayLinkTileEntity.class, linkTile -> linkTile.glow.setValue(2)); - scene.world.modifyTileEntity(signPos, SignBlockEntity.class, - signTile -> signTile.setMessage(1, new TextComponent("42 Cinder Flour"))); - - scene.idle(60); - - scene.world.hideIndependentSection(signSection, Direction.UP); - scene.world.hideIndependentSection(concreteSection, Direction.DOWN); - scene.idle(25); - - Selection boards = util.select.fromTo(4, 1, 4, 1, 2, 4) - .substract(util.select.position(signPos)); - Selection cogs = util.select.position(5, 2, 4) - .add(util.select.position(5, 2, 5)) - .add(util.select.position(5, 1, 5)) - .add(util.select.position(4, 0, 5)); - - scene.world.showSection(boards, Direction.DOWN); - scene.world.showSection(cogs, Direction.DOWN); - - scene.overlay.showText(70) - .attachKeyFrame() - .colored(PonderPalette.WHITE) - .text("Replacing Targets or Sources at a later time is possible as well") - .placeNearTarget(); - - scene.idle(7); - - scene.world.modifyTileEntity(linkPos, DisplayLinkTileEntity.class, linkTile -> linkTile.glow.setValue(2)); - - scene.idle(43); - - scene.world.hideSection(util.select.fromTo(observerPos, observerPos.relative(Direction.SOUTH)), - Direction.SOUTH); + Selection lectern = util.select.position(2, 2, 4); + Selection sign = util.select.position(2, 1, 4); + Selection nixies = util.select.fromTo(3, 3, 4, 1, 3, 4); scene.idle(15); - ElementLink seatSection = - scene.world.showIndependentSection(util.select.position(3, 1, 0), Direction.SOUTH); - scene.world.moveSection(seatSection, util.vector.of(0, 0, 1), 0); + scene.world.showSection(util.select.position(2, 1, 2), Direction.DOWN); - scene.world.modifyTileEntity(util.grid.at(4, 2, 4), FlapDisplayTileEntity.class, displayTile -> { - displayTile.applyTextManually(0, ""); - displayTile.applyTextManually(1, ""); - }); + scene.idle(10); + + scene.overlay.showText(70) + .attachKeyFrame() + .text("Display Links can used to visualise dynamic information") + .pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(60); + + scene.world.hideSection(util.select.position(2, 1, 2), Direction.UP); + scene.idle(5); + scene.world.showSection(largeCog, Direction.UP); + scene.world.showSection(smallCog, Direction.WEST); + scene.idle(5); + scene.world.showSection(fullBoard, Direction.NORTH); + scene.idle(25); + + Vec3 target = util.vector.of(3.5, 2.75, 3.25); + scene.overlay + .showControls(new InputWindowElement(target, Pointing.RIGHT).withItem(AllBlocks.DISPLAY_LINK.asStack()) + .rightClick(), 60); + scene.idle(6); + scene.overlay.chaseBoundingBoxOutline(PonderPalette.OUTPUT, link, new AABB(board).expandTowards(-2, -1, 0) + .deflate(0, 0, 3 / 16f), 60); + scene.idle(35); + scene.overlay.showText(70) + .text("First, right-click the target display...") + .pointAt(target.add(-1, 0, 0)) + .colored(PonderPalette.OUTPUT) + .attachKeyFrame() + .placeNearTarget(); + scene.idle(60); + + scene.world.showSection(depot, Direction.DOWN); + scene.idle(10); + scene.world.showSection(link, Direction.EAST); + scene.idle(20); + scene.overlay.showSelectionWithText(depot, 70) + .text("...then attach it to the block to read from") + .pointAt(util.vector.centerOf(linkPos)) + .colored(PonderPalette.INPUT) + .placeNearTarget(); + scene.idle(60); + + ItemStack item = AllItems.PROPELLER.asStack(); + scene.world.createItemOnBeltLike(depotPos, Direction.SOUTH, item); + scene.idle(20); + + scene.overlay.showControls(new InputWindowElement(util.vector.topOf(linkPos), Pointing.DOWN).rightClick(), 60); + scene.idle(20); + scene.overlay.showText(80) + .text("Open the Interface to select and configure what is sent") + .pointAt(util.vector.centerOf(linkPos)) + .attachKeyFrame() + .placeNearTarget(); + scene.idle(80); + scene.effects.indicateSuccess(linkPos); + scene.world.setDisplayBoardText(board, 1, item.getHoverName()); + scene.world.flashDisplayLink(linkPos); + scene.idle(50); + + scene.world.removeItemsFromBelt(depotPos); + item = AllItems.BLAZE_CAKE.asStack(); + scene.world.createItemOnBeltLike(depotPos, Direction.SOUTH, item); + scene.world.setDisplayBoardText(board, 1, item.getHoverName()); + scene.world.flashDisplayLink(linkPos); + scene.idle(20); + + scene.overlay.showText(80) + .text("The display will now receive information from the link") + .pointAt(target.add(-2.45f, -.5f, 0)) + .attachKeyFrame() + .placeNearTarget(); scene.idle(30); - scene.special.createBirb(util.vector.of(3.5, 1.4, 1.5), ParrotElement.DancePose::new); + scene.world.removeItemsFromBelt(depotPos); + item = AllBlocks.DISPLAY_BOARD.asStack(); + scene.world.createItemOnBeltLike(depotPos, Direction.SOUTH, item); + scene.world.setDisplayBoardText(board, 1, item.getHoverName()); + scene.world.flashDisplayLink(linkPos); + scene.idle(50); + scene.world.hideSection(depot, Direction.SOUTH); + scene.idle(5); + scene.world.setDisplayBoardText(board, 1, TextComponent.EMPTY); + scene.world.flashDisplayLink(linkPos); + scene.idle(5); + ElementLink dirtElement = scene.world.showIndependentSection(dirt, Direction.SOUTH); + scene.world.moveSection(dirtElement, util.vector.of(0, -4, 0), 0); + + scene.idle(25); + scene.overlay.showSelectionWithText(depot, 50) + .text("Not every block can act as a source") + .pointAt(util.vector.topOf(depotPos)) + .attachKeyFrame() + .colored(PonderPalette.RED) + .placeNearTarget(); + scene.idle(60); + scene.world.hideIndependentSection(dirtElement, Direction.SOUTH); scene.idle(10); - // scene.world.modifyTileEntity(util.grid.at(4, 2, 4), - // FlapDisplayTileEntity.class, displayTile -> { - // displayTile.applyTextManually(0, "Sitting here:"); - // displayTile.applyTextManually(1, "Party Parrot"); - // }); - - ElementLink replacementBoards = - scene.world.showIndependentSectionImmediately(util.select.fromTo(4, 2, 3, 1, 2, 3)); - scene.world.moveSection(replacementBoards, util.vector.of(0, 0, 1), 0); - - scene.world.modifyTileEntity(linkPos, DisplayLinkTileEntity.class, linkTile -> linkTile.glow.setValue(2)); - + ElementLink stressElement = scene.world.showIndependentSection(stresso, Direction.SOUTH); + scene.world.moveSection(stressElement, util.vector.of(0, -2, 0), 0); + scene.idle(10); + scene.world.setDisplayBoardText(board, 1, + new TextComponent(1024 + " ").append(Lang.translate("generic.unit.stress"))); + scene.world.flashDisplayLink(linkPos); + scene.idle(40); + scene.world.hideIndependentSection(stressElement, Direction.SOUTH); scene.idle(10); + ElementLink chestElement = scene.world.showIndependentSection(content, Direction.SOUTH); + scene.world.moveSection(chestElement, util.vector.of(0, -3, 0), 0); + scene.idle(10); + scene.world.setDisplayBoardText(board, 1, + new TextComponent(418 + " ").append(new ItemStack(Items.DEEPSLATE).getHoverName())); + scene.world.setDisplayBoardText(board, 2, new TextComponent(14 + " ").append(AllBlocks.COGWHEEL.asStack() + .getHoverName())); + scene.world.flashDisplayLink(linkPos); + scene.idle(40); + scene.world.hideIndependentSection(chestElement, Direction.SOUTH); + scene.idle(10); + + scene.overlay.showText(90) + .text("Each compatible block provides unique information") + .pointAt(util.vector.topOf(depotPos)) + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .placeNearTarget(); + + ElementLink cuckooElement = scene.world.showIndependentSection(cuckoo, Direction.SOUTH); + scene.world.moveSection(cuckooElement, util.vector.of(0, -1, 0), 0); + scene.idle(10); + scene.world.setDisplayBoardText(board, 1, + new TextComponent("6:00 ").append(Lang.translate("generic.daytime.pm"))); + scene.world.setDisplayBoardText(board, 2, TextComponent.EMPTY); + scene.world.flashDisplayLink(linkPos); + scene.idle(90); + + scene.world.hideSection(fullBoard, Direction.SOUTH); + scene.world.hideSection(largeCog, Direction.DOWN); + scene.world.hideSection(smallCog, Direction.EAST); + scene.idle(10); + + ElementLink signElement = scene.world.showIndependentSection(sign, Direction.SOUTH); + scene.world.moveSection(signElement, util.vector.of(0, 0, -1), 0); + scene.idle(10); + scene.world.flashDisplayLink(linkPos); + scene.idle(5); + scene.world.hideIndependentSection(signElement, Direction.SOUTH); + scene.idle(10); + + ElementLink lecternElement = scene.world.showIndependentSection(lectern, Direction.SOUTH); + scene.world.moveSection(lecternElement, util.vector.of(0, -1, -1), 0); + scene.idle(10); + scene.world.flashDisplayLink(linkPos); + scene.idle(5); + scene.world.hideIndependentSection(lecternElement, Direction.SOUTH); + scene.idle(10); + + scene.overlay.showText(90) + .text("The Display Link can work with several different displays") + .pointAt(util.vector.blockSurface(util.grid.at(1, 1, 3), Direction.WEST)) + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .placeNearTarget(); + + ElementLink nixieElement = scene.world.showIndependentSection(nixies, Direction.SOUTH); + scene.world.moveSection(nixieElement, util.vector.of(0, -2, -1), 0); + scene.idle(10); + scene.world.flashDisplayLink(linkPos); + scene.idle(60); } public static void board(SceneBuilder scene, SceneBuildingUtil util) { @@ -323,4 +372,97 @@ public class DisplayScenes { } + public static void redstone(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("display_link_redstone", "Redstone Control"); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + + BlockPos depotPos = util.grid.at(3, 1, 1); + Selection depot = util.select.position(3, 1, 1); + BlockPos linkPos = util.grid.at(2, 1, 1); + Selection link = util.select.position(linkPos); + BlockPos board = util.grid.at(3, 2, 3); + Selection fullBoard = util.select.fromTo(3, 2, 3, 1, 1, 3); + Selection largeCog = util.select.position(3, 0, 5); + Selection smallCog = util.select.fromTo(4, 1, 5, 4, 1, 3); + Selection redstone = util.select.fromTo(1, 1, 1, 0, 1, 1); + BlockPos leverPos = util.grid.at(0, 1, 1); + + scene.world.showSection(largeCog, Direction.UP); + scene.world.showSection(smallCog, Direction.WEST); + scene.idle(5); + scene.world.showSection(fullBoard, Direction.NORTH); + scene.idle(25); + + Vec3 target = util.vector.of(3.5, 2.75, 3.25); + scene.world.showSection(depot, Direction.DOWN); + scene.idle(10); + scene.world.showSection(link, Direction.EAST); + scene.idle(10); + scene.world.flashDisplayLink(linkPos); + scene.world.setDisplayBoardText(board, 1, new ItemStack(Items.CALCITE).getHoverName()); + scene.idle(10); + scene.world.showSection(redstone, Direction.EAST); + scene.idle(20); + scene.world.toggleRedstonePower(redstone); + scene.world.toggleRedstonePower(link); + scene.effects.indicateRedstone(leverPos); + + scene.idle(20); + scene.overlay.showText(80) + .colored(PonderPalette.RED) + .attachKeyFrame() + .pointAt(util.vector.topOf(linkPos)) + .placeNearTarget() + .text("When powered by Redstone, Display Links stop sending updates"); + + scene.idle(50); + scene.world.removeItemsFromBelt(depotPos); + ItemStack item = new ItemStack(Items.AMETHYST_BLOCK); + scene.world.createItemOnBeltLike(depotPos, Direction.SOUTH, item); + scene.idle(20); + + scene.idle(30); + scene.world.removeItemsFromBelt(depotPos); + item = new ItemStack(Items.GOLD_BLOCK); + scene.world.createItemOnBeltLike(depotPos, Direction.SOUTH, item); + scene.idle(50); + + scene.world.toggleRedstonePower(redstone); + scene.world.toggleRedstonePower(link); + scene.effects.indicateRedstone(leverPos); + scene.idle(1); + scene.world.flashDisplayLink(linkPos); + scene.world.setDisplayBoardText(board, 1, item.getHoverName()); + + scene.idle(15); + scene.overlay.showText(100) + .colored(PonderPalette.GREEN) + .attachKeyFrame() + .pointAt(target.add(-2.45, -0.5, 0)) + .placeNearTarget() + .text("Once unpowered, the Timer is reset and new info is sent immediately"); + scene.idle(100); + + scene.world.hideSection(depot, Direction.SOUTH); + scene.world.setBlock(util.grid.at(4, 1, 0), Blocks.REDSTONE_BLOCK.defaultBlockState(), false); + scene.idle(10); + ElementLink redstoneBlock = + scene.world.showIndependentSection(util.select.position(4, 1, 0), Direction.SOUTH); + scene.world.moveSection(redstoneBlock, util.vector.of(-1, 0, 1), 0); + scene.idle(10); + scene.world.flashDisplayLink(linkPos); + scene.world.setDisplayBoardText(board, 1, TextComponent.EMPTY); + scene.idle(25); + + scene.overlay.showSelectionWithText(depot, 80) + .colored(PonderPalette.RED) + .attachKeyFrame() + .pointAt(util.vector.topOf(linkPos)) + .placeNearTarget() + .text("Signals emitted from the source do not affect the Link"); + scene.idle(70); + + } + } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/GantryScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/GantryScenes.java index 414d89c19..0df78ea17 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/GantryScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/GantryScenes.java @@ -1,15 +1,19 @@ package com.simibubi.create.foundation.ponder.content; +import com.simibubi.create.AllItems; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; 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.element.InputWindowElement; import com.simibubi.create.foundation.ponder.element.WorldSectionElement; import com.simibubi.create.foundation.utility.Iterate; +import com.simibubi.create.foundation.utility.Pointing; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.RedStoneWireBlock; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.phys.Vec3; @@ -68,16 +72,22 @@ public class GantryScenes { scene.world.showSectionAndMerge(util.select.layersFrom(3) .substract(planks), Direction.DOWN, gantry); + scene.world.replaceBlocks(util.select.fromTo(5, 3, 2, 3, 4, 2), Blocks.OAK_PLANKS.defaultBlockState(), false); scene.idle(10); scene.world.showSectionAndMerge(planks, Direction.SOUTH, gantry); - scene.idle(10); - scene.effects.superGlue(util.grid.at(5, 3, 1), Direction.SOUTH, true); + scene.idle(10); + scene.overlay.showOutline(PonderPalette.GREEN, "glue", util.select.position(3, 4, 2) + .add(util.select.fromTo(3, 3, 2, 5, 3, 2)) + .add(util.select.position(5, 3, 1)), 40); + scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(util.grid.at(3, 3, 2)), Pointing.UP) + .withItem(AllItems.SUPER_GLUE.asStack()), 40); + scene.effects.superGlue(util.grid.at(5, 3, 1), Direction.SOUTH, true); scene.idle(20); scene.overlay.showText(80) .attachKeyFrame() .sharedText("movement_anchors") - .pointAt(gantryTop) + .pointAt(util.vector.blockSurface(util.grid.at(3, 3, 2), Direction.WEST)) .placeNearTarget(); scene.idle(80); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/PistonScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/PistonScenes.java index 3624fb0c4..a561f1ff8 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/PistonScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/PistonScenes.java @@ -1,5 +1,6 @@ package com.simibubi.create.foundation.ponder.content; +import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonHeadBlock; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; @@ -81,7 +82,8 @@ public class PistonScenes { .withItem(new ItemStack(Items.SLIME_BALL)), 30); scene.idle(7); - scene.world.modifyBlock(piston.north(), s -> s.setValue(MechanicalPistonHeadBlock.TYPE, PistonType.STICKY), false); + scene.world.modifyBlock(piston.north(), s -> s.setValue(MechanicalPistonHeadBlock.TYPE, PistonType.STICKY), + false); scene.effects.superGlue(piston, Direction.WEST, true); scene.idle(33); @@ -108,6 +110,14 @@ public class PistonScenes { scene.idle(50); scene.world.setBlock(util.grid.at(2, 1, 1), Blocks.AIR.defaultBlockState(), false); + + scene.world.replaceBlocks(util.select.fromTo(2, 3, 2, 2, 2, 0), Blocks.OAK_PLANKS.defaultBlockState(), false); + scene.overlay.showOutline(PonderPalette.GREEN, "glue", util.select.fromTo(2, 2, 3, 2, 1, 3) + .add(util.select.fromTo(2, 1, 3, 2, 1, 1)) + .add(util.select.position(1, 1, 1)), 40); + scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(util.grid.at(2, 2, 0)), Pointing.RIGHT) + .withItem(AllItems.SUPER_GLUE.asStack()), 40); + ElementLink chassis = scene.world.showIndependentSection(util.select.fromTo(2, 2, 0, 2, 3, 2), Direction.DOWN); scene.world.moveSection(chassis, util.vector.of(0, -1, 1), 0); 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 f413c5d24..473873192 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 @@ -327,10 +327,17 @@ public class PonderIndex { // Display Link HELPER.forComponents(AllBlocks.DISPLAY_LINK) - .addStoryBoard("display/link", DisplayScenes::link); + .addStoryBoard("display_link", DisplayScenes::link) + .addStoryBoard("display_link_redstone", DisplayScenes::redstone); HELPER.forComponents(AllBlocks.DISPLAY_BOARD) .addStoryBoard("display_board", DisplayScenes::board); + // Steam + HELPER.forComponents(AllBlocks.STEAM_WHISTLE) + .addStoryBoard("steam_whistle", SteamScenes::whistle); + HELPER.forComponents(AllBlocks.STEAM_ENGINE) + .addStoryBoard("steam_engine", SteamScenes::engine); + // Debug scenes, can be found in game via the Brass Hand if (REGISTER_DEBUG_SCENES) DebugScenes.registerAll(); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/PulleyScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/PulleyScenes.java index 683acfac4..482c4f36e 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/PulleyScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/PulleyScenes.java @@ -1,5 +1,6 @@ package com.simibubi.create.foundation.ponder.content; +import com.simibubi.create.AllItems; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.PonderPalette; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -76,8 +77,15 @@ public class PulleyScenes { ElementLink chassis = scene.world.showIndependentSection(util.select.fromTo(2, 1, 1, 0, 2, 1), Direction.SOUTH); scene.world.moveSection(chassis, util.vector.of(1, 0, 1), 0); + scene.world.replaceBlocks(util.select.fromTo(0, 2, 1, 2, 1, 1), Blocks.OAK_PLANKS.defaultBlockState(), false); + scene.idle(5); scene.world.showSectionAndMerge(util.select.position(2, 1, 0), Direction.SOUTH, chassis); + scene.overlay.showOutline(PonderPalette.GREEN, "glue", util.select.position(3, 1, 1) + .add(util.select.fromTo(1, 1, 2, 3, 1, 2)) + .add(util.select.position(1, 2, 2)), 40); + scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(util.grid.at(2, 2, 0)), Pointing.RIGHT) + .withItem(AllItems.SUPER_GLUE.asStack()), 40); scene.idle(15); scene.effects.superGlue(util.grid.at(3, 1, 1), Direction.SOUTH, true); scene.overlay.showText(80) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/SharedText.java b/src/main/java/com/simibubi/create/foundation/ponder/content/SharedText.java index 5542b4a69..aa04c28aa 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/SharedText.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/SharedText.java @@ -18,7 +18,7 @@ public class SharedText { add("rpm16_source", "Source: 16 RPM"); add("rpm32", "32 RPM"); - add("movement_anchors", "With the help of Chassis or Super Glue, larger structures can be moved."); + add("movement_anchors", "With the help of Super Glue, larger structures can be moved."); add("behaviour_modify_wrench", "This behaviour can be modified using a Wrench"); add("storage_on_contraption", "Inventories attached to the Contraption will pick up their drops automatically"); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/SteamScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/SteamScenes.java new file mode 100644 index 000000000..bce07dd0f --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/SteamScenes.java @@ -0,0 +1,474 @@ +package com.simibubi.create.foundation.ponder.content; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleBlock; +import com.simibubi.create.content.contraptions.components.steam.whistle.WhistleExtenderBlock; +import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; +import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel; +import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; +import com.simibubi.create.foundation.ponder.ElementLink; +import com.simibubi.create.foundation.ponder.PonderPalette; +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.element.InputWindowElement; +import com.simibubi.create.foundation.ponder.element.WorldSectionElement; +import com.simibubi.create.foundation.utility.Iterate; +import com.simibubi.create.foundation.utility.Pointing; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + +public class SteamScenes { + + public static void whistle(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("steam_whistle", "Setting up Steam Whistles"); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + + Selection tank = util.select.fromTo(3, 1, 2, 3, 2, 2); + Selection boiler = util.select.fromTo(2, 2, 2, 2, 3, 2); + BlockPos leverPos = util.grid.at(1, 3, 2); + Selection lever = util.select.position(leverPos); + Selection whistleArea = util.select.fromTo(2, 3, 1, 2, 7, 1); + BlockPos whistlePos = util.grid.at(2, 3, 1); + Selection campfire = util.select.position(2, 1, 2); + + scene.idle(15); + ElementLink tankElement = scene.world.showIndependentSection(tank, Direction.DOWN); + scene.world.moveSection(tankElement, util.vector.of(-1, 0, 0), 0); + scene.idle(10); + ElementLink whistleElement = + scene.world.showIndependentSection(whistleArea, Direction.SOUTH); + scene.world.moveSection(whistleElement, util.vector.of(0, -1, 0), 0); + scene.idle(15); + scene.world.moveSection(tankElement, util.vector.of(0, -1000, 0), 0); + scene.world.hideIndependentSection(tankElement, null); + ElementLink boilerElement = scene.world.showIndependentSectionImmediately(boiler); + scene.world.moveSection(boilerElement, util.vector.of(0, -1, 0), 0); + scene.effects.indicateSuccess(util.grid.at(2, 1, 2)); + scene.idle(25); + + scene.overlay.showText(70) + .attachKeyFrame() + .text("Steam Whistles can be placed on a Fluid Tank") + .pointAt(util.vector.blockSurface(util.grid.at(2, 2, 2), Direction.NORTH)) + .placeNearTarget(); + scene.idle(60); + + scene.world.moveSection(boilerElement, util.vector.of(0, 1, 0), 15); + scene.world.moveSection(whistleElement, util.vector.of(0, 1, 0), 15); + scene.idle(10); + scene.world.showSection(campfire, Direction.NORTH); + scene.idle(15); + + scene.overlay.showText(50) + .attachKeyFrame() + .text("If the tank receives sufficient heat...") + .pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(40); + + scene.world.showSection(lever, Direction.DOWN); + scene.idle(20); + scene.world.toggleRedstonePower(whistleArea); + scene.world.toggleRedstonePower(lever); + scene.effects.indicateRedstone(leverPos); + scene.idle(10); + + scene.overlay.showText(70) + .attachKeyFrame() + .text("...the Whistle will play a note when activated") + .pointAt(util.vector.blockSurface(util.grid.at(2, 3, 2), Direction.NORTH)) + .placeNearTarget(); + + scene.idle(10); + scene.world.toggleRedstonePower(whistleArea); + scene.world.toggleRedstonePower(lever); + scene.idle(20); + scene.world.toggleRedstonePower(whistleArea); + scene.world.toggleRedstonePower(lever); + scene.effects.indicateRedstone(leverPos); + scene.idle(20); + scene.world.toggleRedstonePower(whistleArea); + scene.world.toggleRedstonePower(lever); + scene.idle(40); + + InputWindowElement rightClick = + new InputWindowElement(util.vector.blockSurface(util.grid.at(2, 3, 1), Direction.EAST), Pointing.RIGHT) + .withItem(AllBlocks.STEAM_WHISTLE.asStack()) + .rightClick(); + + scene.overlay.showControls(rightClick, 50); + scene.idle(6); + BlockState extension = AllBlocks.STEAM_WHISTLE_EXTENSION.getDefaultState(); + scene.world.setBlock(whistlePos.above(), extension, false); + scene.idle(20); + + scene.overlay.showText(70) + .attachKeyFrame() + .text("Use a Whistle item on the block to lower its pitch") + .pointAt(util.vector.blockSurface(util.grid.at(2, 3, 2), Direction.NORTH)) + .placeNearTarget(); + + scene.idle(40); + + scene.overlay.showControls(rightClick, 2); + scene.idle(6); + scene.world.cycleBlockProperty(whistlePos.above(), WhistleExtenderBlock.SHAPE); + scene.idle(4); + scene.overlay.showControls(rightClick, 2); + scene.idle(6); + scene.world.setBlock(whistlePos.above(2), extension, false); + scene.world.cycleBlockProperty(whistlePos.above(), WhistleExtenderBlock.SHAPE); + scene.idle(4); + scene.overlay.showControls(rightClick, 2); + scene.idle(6); + scene.world.cycleBlockProperty(whistlePos.above(2), WhistleExtenderBlock.SHAPE); + scene.idle(4); + scene.overlay.showControls(rightClick, 2); + scene.idle(6); + scene.world.cycleBlockProperty(whistlePos.above(2), WhistleExtenderBlock.SHAPE); + scene.world.setBlock(whistlePos.above(3), extension, false); + scene.idle(20); + + rightClick = + new InputWindowElement(util.vector.blockSurface(util.grid.at(2, 3, 1), Direction.EAST), Pointing.RIGHT) + .withWrench() + .rightClick(); + + scene.overlay.showControls(rightClick, 50); + scene.idle(6); + for (int i = 0; i < 4; i++) { + scene.world.cycleBlockProperty(whistlePos.above(i), WhistleBlock.SIZE); + scene.idle(1); + } + scene.idle(20); + + scene.overlay.showText(70) + .attachKeyFrame() + .text("Cycle between three different octaves using a Wrench") + .pointAt(util.vector.blockSurface(util.grid.at(2, 3, 2), Direction.NORTH)) + .placeNearTarget(); + + scene.idle(40); + scene.overlay.showControls(rightClick, 4); + scene.idle(6); + for (int i = 0; i < 4; i++) { + scene.world.cycleBlockProperty(whistlePos.above(i), WhistleBlock.SIZE); + scene.idle(1); + } + + scene.idle(20); + scene.world.toggleRedstonePower(whistleArea); + scene.world.toggleRedstonePower(lever); + scene.effects.indicateRedstone(leverPos); + scene.idle(20); + scene.world.toggleRedstonePower(whistleArea); + scene.world.toggleRedstonePower(lever); + scene.idle(20); + + scene.overlay.showControls( + new InputWindowElement(util.vector.blockSurface(util.grid.at(2, 3, 1), Direction.DOWN), Pointing.UP) + .withItem(AllItems.GOGGLES.asStack()), + 80); + scene.idle(6); + + scene.overlay.showText(70) + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .text("Engineer's Goggles can help to find out the current pitch of a Whistle") + .pointAt(util.vector.blockSurface(util.grid.at(2, 3, 2), Direction.NORTH)) + .placeNearTarget(); + scene.idle(40); + } + + public static void engine(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("steam_engine", "Setting up Steam Engines"); + scene.configureBasePlate(0, 0, 7); + scene.setSceneOffsetY(-1); + scene.scaleSceneView(.9f); + scene.showBasePlate(); + + Selection fakeGround = util.select.fromTo(4, 0, 0, 2, 0, 0); + ElementLink fakeGroundElement = + scene.world.showIndependentSection(fakeGround, Direction.UP); + scene.world.moveSection(fakeGroundElement, util.vector.of(1, 0, 1), 0); + + Selection campfires = util.select.fromTo(4, 1, 4, 5, 1, 3); + Selection burners = util.select.fromTo(3, 1, 3, 2, 1, 4); + + Selection tank = util.select.fromTo(4, 2, 3, 5, 2, 4); + Selection boiler1 = util.select.fromTo(5, 4, 2, 4, 4, 1); + Selection boiler2 = util.select.fromTo(5, 7, 6, 4, 4, 5); + Selection boiler3 = util.select.fromTo(5, 4, 3, 4, 11, 4); + + Selection engine = util.select.position(2, 2, 3); + Selection engine1 = util.select.fromTo(3, 4, 1, 2, 4, 1); + BlockPos engine1ShaftPos = util.grid.at(1, 4, 1); + Selection engine1Shaft = util.select.position(1, 4, 1); + + Selection pumpCogs = util.select.fromTo(6, 1, 7, 6, 1, 2); + Selection largeCog = util.select.position(5, 0, 7); + + Selection pump1 = util.select.fromTo(5, 2, 2, 4, 1, 1); + Selection pump2 = util.select.fromTo(5, 2, 7, 4, 1, 6); + Selection pump3 = util.select.fromTo(2, 3, 7, 1, 1, 6); + + scene.idle(15); + ElementLink tankElement = scene.world.showIndependentSection(tank, Direction.DOWN); + scene.world.moveSection(tankElement, util.vector.of(0, -1, 0), 0); + scene.idle(10); + ElementLink engineElement = scene.world.showIndependentSection(engine, Direction.EAST); + scene.world.moveSection(engineElement, util.vector.of(1, -1, 0), 0); + scene.idle(15); + scene.world.moveSection(tankElement, util.vector.of(0, -1000, 0), 0); + scene.world.hideIndependentSection(tankElement, null); + ElementLink boilerElement = scene.world.showIndependentSectionImmediately(boiler1); + scene.world.moveSection(boilerElement, util.vector.of(0, -3, 2), 0); + scene.effects.indicateSuccess(util.grid.at(5, 1, 3)); + scene.effects.indicateSuccess(util.grid.at(4, 1, 3)); + scene.effects.indicateSuccess(util.grid.at(5, 1, 4)); + scene.effects.indicateSuccess(util.grid.at(4, 1, 4)); + scene.idle(25); + + scene.overlay.showText(50) + .attachKeyFrame() + .text("Steam Engines can be placed on a Fluid Tank") + .pointAt(util.vector.blockSurface(util.grid.at(3, 1, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(60); + + scene.overlay.showControls( + new InputWindowElement(util.vector.blockSurface(util.grid.at(3, 1, 3), Direction.UP), Pointing.DOWN) + .withItem(AllBlocks.SHAFT.asStack()) + .rightClick(), + 60); + scene.idle(10); + scene.world.setBlock(engine1ShaftPos, AllBlocks.SHAFT.getDefaultState() + .setValue(ShaftBlock.AXIS, Axis.Z), false); + ElementLink engineShaftElement = scene.world.showIndependentSection(engine1Shaft, null); + scene.world.moveSection(engineShaftElement, util.vector.of(0, -3, 2), 0); + scene.idle(5); + scene.world.moveSection(engineElement, util.vector.of(0, -1000, 0), 0); + scene.world.hideIndependentSection(engineElement, null); + engineElement = scene.world.showIndependentSectionImmediately(engine1); + scene.world.moveSection(engineElement, util.vector.of(0, -3, 2), 0); + scene.world.setBlock(engine1ShaftPos, AllBlocks.POWERED_SHAFT.getDefaultState() + .setValue(ShaftBlock.AXIS, Axis.Z), false); + scene.effects.indicateSuccess(util.grid.at(1, 1, 3)); + scene.idle(40); + + scene.overlay.showText(80) + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .text("Clicking the engine with a Shaft creates the Kinetic Output") + .pointAt(util.vector.centerOf(util.grid.at(1, 1, 3))) + .placeNearTarget(); + scene.idle(90); + + scene.world.multiplyKineticSpeed(largeCog, -1); + scene.world.multiplyKineticSpeed(pumpCogs, -1); + scene.world.multiplyKineticSpeed(pump1, -1); + scene.world.multiplyKineticSpeed(pump2, -1); + + scene.world.moveSection(boilerElement, util.vector.of(0, 1, 0), 15); + scene.world.moveSection(engineElement, util.vector.of(0, 1, 0), 15); + scene.world.moveSection(engineShaftElement, util.vector.of(0, 1, 0), 15); + scene.idle(10); + scene.world.showSection(campfires, Direction.NORTH); + scene.idle(10); + scene.world.hideIndependentSection(fakeGroundElement, Direction.DOWN); + scene.world.showSection(largeCog, Direction.UP); + scene.idle(5); + scene.world.showSection(pump1, Direction.DOWN); + scene.idle(5); + scene.world.showSection(pumpCogs, Direction.WEST); + scene.idle(25); + + scene.overlay.showText(60) + .attachKeyFrame() + .text("With sufficient Heat, Water and Boiler space...") + .pointAt(util.vector.blockSurface(util.grid.at(4, 2, 4), Direction.UP)) + .placeNearTarget(); + scene.idle(30); + + scene.world.setKineticSpeed(engine1Shaft, 16); + scene.effects.createRedstoneParticles(util.grid.at(3, 2, 3), 0xFFFFFF, 10); + scene.idle(40); + + scene.overlay.showText(60) + .text("...they will generate Rotational Force") + .pointAt(util.vector.blockSurface(util.grid.at(1, 2, 3), Direction.NORTH)) + .placeNearTarget(); + scene.idle(70); + + scene.overlay.showSelectionWithText(util.select.fromTo(5, 2, 3, 4, 2, 4), 50) + .attachKeyFrame() + .text("The minimal setup requires 4 Fluid Tanks") + .pointAt(util.vector.blockSurface(util.grid.at(4, 2, 4), Direction.UP)) + .placeNearTarget(); + scene.idle(60); + + scene.world.hideSection(campfires, Direction.SOUTH); + scene.idle(15); + ElementLink burnersElement = scene.world.showIndependentSection(burners, Direction.SOUTH); + scene.world.moveSection(burnersElement, util.vector.of(2, 0, 0), 0); + scene.idle(25); + + scene.overlay.showControls( + new InputWindowElement(util.vector.blockSurface(util.grid.at(4, 1, 3), Direction.EAST), Pointing.RIGHT) + .withItem(new ItemStack(Items.OAK_LOG)) + .rightClick(), + 60); + scene.idle(10); + scene.world.setBlocks(burners, AllBlocks.BLAZE_BURNER.getDefaultState() + .setValue(BlazeBurnerBlock.HEAT_LEVEL, HeatLevel.KINDLED), false); + scene.idle(5); + + scene.world.setKineticSpeed(engine1Shaft, 64); + scene.effects.createRedstoneParticles(util.grid.at(3, 2, 3), 0xFFFFFF, 10); + scene.idle(40); + + scene.overlay.showText(80) + .text("With the help of Blaze Burners, the power output can be increased") + .attachKeyFrame() + .pointAt(util.vector.blockSurface(util.grid.at(4, 1, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(90); + + scene.world.hideSection(pump1, Direction.UP); + scene.idle(5); + scene.world.hideIndependentSection(boilerElement, Direction.SOUTH); + scene.idle(10); + boilerElement = scene.world.showIndependentSection(boiler2, Direction.SOUTH); + scene.world.moveSection(boilerElement, util.vector.of(0, -2, -2), 0); + scene.idle(10); + ElementLink pumpElement = scene.world.showIndependentSection(pump2, Direction.DOWN); + scene.world.moveSection(pumpElement, util.vector.of(0, 0, -5), 0); + scene.idle(20); + + Vec3 target = util.vector.blockSurface(util.grid.at(4, 3, 3), Direction.WEST); + scene.overlay.showText(80) + .text("Higher power levels require more Water, Size and Heat") + .attachKeyFrame() + .pointAt(target) + .placeNearTarget(); + scene.idle(90); + + scene.overlay.showControls( + new InputWindowElement(target.add(0, 0, 0.5), Pointing.DOWN).withItem(AllItems.GOGGLES.asStack()), 60); + scene.idle(6); + scene.overlay.showText(80) + .text("The boiler's current power level can be inspected with Engineer's Goggles") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .pointAt(target.add(0, 0, 0.5)) + .placeNearTarget(); + scene.idle(90); + + scene.world.showSectionAndMerge(util.select.fromTo(3, 4, 6, 1, 4, 6), Direction.EAST, boilerElement); + scene.idle(5); + scene.world.setKineticSpeed(util.select.position(1, 4, 6), 64); + scene.world.showSectionAndMerge(util.select.fromTo(3, 5, 6, 1, 5, 6), Direction.EAST, boilerElement); + scene.idle(5); + scene.world.setKineticSpeed(util.select.position(1, 5, 6), -64); + scene.world.showSectionAndMerge(util.select.fromTo(3, 5, 5, 1, 5, 5), Direction.EAST, boilerElement); + scene.idle(5); + scene.world.setKineticSpeed(util.select.position(1, 5, 5), -64); + scene.world.showSectionAndMerge(util.select.fromTo(1, 4, 7, 1, 5, 7), Direction.NORTH, boilerElement); + scene.idle(5); + scene.world.setKineticSpeed(util.select.position(1, 5, 7), -64); + scene.world.setKineticSpeed(util.select.position(1, 4, 7), 64); + scene.idle(20); + + scene.overlay.showText(100) + .text("With each added power level, an additional Engine can output at full capacity") + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .pointAt(util.vector.blockSurface(util.grid.at(1, 3, 3), Direction.NORTH)) + .placeNearTarget(); + scene.idle(110); + + scene.overlay.showText(30) + .text("Lvl 4") + .colored(PonderPalette.BLUE) + .pointAt(util.vector.blockSurface(util.grid.at(4, 4, 4), Direction.WEST)) + .placeNearTarget(); + scene.idle(40); + scene.overlay.showSelectionWithText(util.select.fromTo(3, 2, 3, 3, 3, 4), 30) + .text("4 Engines") + .colored(PonderPalette.BLUE) + .pointAt(util.vector.blockSurface(util.grid.at(3, 3, 4), Direction.UP)) + .placeNearTarget(); + scene.idle(30); + + scene.world.hideIndependentSection(pumpElement, Direction.UP); + scene.idle(5); + scene.world.hideIndependentSection(boilerElement, Direction.SOUTH); + scene.world.hideIndependentSection(engineElement, Direction.SOUTH); + scene.world.hideIndependentSection(engineShaftElement, Direction.SOUTH); + scene.idle(20); + + scene.overlay.showControls( + new InputWindowElement(util.vector.of(5, 2, 4), Pointing.DOWN).withItem(AllItems.BLAZE_CAKE.asStack()) + .rightClick(), + 10); + scene.idle(6); + scene.world.setBlocks(burners, AllBlocks.BLAZE_BURNER.getDefaultState() + .setValue(BlazeBurnerBlock.HEAT_LEVEL, HeatLevel.SEETHING), false); + scene.idle(15); + + boilerElement = scene.world.showIndependentSection(boiler3, Direction.SOUTH); + scene.world.moveSection(boilerElement, util.vector.of(0, -2, 0), 0); + scene.idle(10); + pumpElement = scene.world.showIndependentSection(pump3, Direction.DOWN); + scene.world.moveSection(pumpElement, util.vector.of(3, 0, -5), 0); + scene.idle(20); + + ElementLink cogsElement = + scene.world.showIndependentSection(util.select.position(1, 1, 7), Direction.NORTH); + scene.world.moveSection(cogsElement, util.vector.of(0, -2, -2), 0); + + Selection previous = null; + boolean previousForward = false; + for (int y = 4; y < 9; y++) { + if (y != 6) + for (boolean left : Iterate.trueAndFalse) { + int z = (left ^ y % 2 == 0) ? 3 : 4; + if (previous != null) + scene.world.setKineticSpeed(previous, previousForward ? 64 : -64); + scene.world.showSectionAndMerge(previous = util.select.fromTo(3, y, z, 1, y, z), Direction.EAST, + boilerElement); + previousForward = y % 2 == 0; + scene.idle(5); + } + + scene.world.showSectionAndMerge(util.select.position(1, y, 7), Direction.NORTH, cogsElement); + scene.world.setKineticSpeed(util.select.position(1, y, 7), y % 2 == 0 ? 64 : -64); + } + + scene.world.setKineticSpeed(previous, 64); + + scene.overlay.showText(30) + .text("Lvl 8") + .colored(PonderPalette.BLUE) + .pointAt(util.vector.blockSurface(util.grid.at(4, 4, 3), Direction.NORTH)) + .placeNearTarget(); + scene.idle(40); + scene.overlay.showSelectionWithText(util.select.fromTo(3, 2, 3, 3, 6, 4), 30) + .text("8 Engines") + .colored(PonderPalette.BLUE) + .pointAt(util.vector.blockSurface(util.grid.at(3, 3, 4), Direction.UP)) + .placeNearTarget(); + scene.idle(30); + + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainStationScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainStationScenes.java index 40df7b579..67ef3d38d 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainStationScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/trains/TrainStationScenes.java @@ -164,12 +164,12 @@ public class TrainStationScenes { .add(util.select.position(6, 2, 6)) .add(util.select.position(3, 2, 6)), 40); - scene.overlay.showText(120) + scene.overlay.showText(70) .pointAt(util.vector.topOf(3, 2, 6)) .placeNearTarget() .attachKeyFrame() .colored(PonderPalette.GREEN) - .text("Next, attach blocks to them with the help of chassis or super glue"); + .text("Attach blocks with the help of Super Glue"); scene.idle(35); scene.world.showSectionAndMerge(train1, Direction.DOWN, trainElement1); diff --git a/src/main/resources/assets/create/ponder/display/link.nbt b/src/main/resources/assets/create/ponder/display/link.nbt deleted file mode 100644 index 01db75a31d9b19199af678ec184987c992f0265b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1349 zcmV-L1-kkliwFP!00000|Ls|AZ`(EyKG~8jzoai)hhzh`2L3i+2$HVAx_sHv1nr6y zS+Qh&*)SNiMB9RCQK0BKZc(8BWc%2kvF(@a7wj)=CtH*iS(24B$Q)n_63Wc+;oWn0 zB#*8G)Ij&0m$VE3!EZ&iH880w9qCXXf~N+R4&&Cquj7ZU8k9Zmt3lCI2E&&`(r`qY zj24s8GGs~xaLNU6^c);5Mdu`rlFi~@Wb$~{3-GLD@_1GQHt&(g5SgqtyQ6O(1jQ5MTXi#}A&3l3E?Ahg6Qa7#Lvg6OUMqoP6^p0M?IikqMO6 zq4dZGsQwPxZ}$wS97#d_*%D(y$+6)BOHc&c^_`)|XnWweR6152CHY8LxKL@&QT8^r zFR;Cb?T^@gl*OwNvqKN^4*j$w)Dl5vEH~mG zd_p7OEJkF^9uMD2IJ*Xohm4OMw|7iWBw`x-oN)n0hY@RlAA|0@(0J97_|n>KwO)sv zpQm-+N$cE6bOvf)8=@7KAYF+8(sMI3jt6fw;;Zt&VUmg&(Ape`I6@2bAGv5&8JaV( zy8n<#O}G zBr8T}M?5#{2|NDGumguY5A{Wx%!66@ZsT#~h+5L&?(~47Ackgi%~EM z^ZKMigLo}}OD9l0pj|Rz5(=<$Er%Uc>cyf`JMXB}=|t@^;1@vrCbpOwe|8UJfnhW}5N#ebreB_@PB(*{3{>)zy4ne{|oW2_-9+MCq&4}CjJ#%o>^%uQuar_*w8G>QKY-u}2SxBv8!PWeu9&JH5W#V^|SUJ7RGyV)5>sId^++W878T(XfLd zjCIdL;zc8y(a6pDz^~(3bJOp0fprkI+cO9s)ZnjPwXhMSwfj>X=I75^*y;KV&BUId z-rbtHV#{(|8_VG?L)K$Xew*jy8&3%v(Z@mQEX9bnw=Zc8QC7xF(=&$UMaAL5x}pN_ zJo{<^_Uac@A1<}SNJ*fg_2DJfxk)=x>)fP2R@ja&m)UW;UavvbBaBK(gT!cJVjPko zg^l?g#<-7J-nO`lYTzIxaVvI*I98M{O{=g!vTn zNOBMKAm2@>bhyM7IQpMoj#KHP``sSs9g3txNp|eGEn4&`&~strh8FN!Z1-ZcwS(GC zlNN=rB3BZl6_;2pD=R^O{7L_!@9j6FeeR#Qvm#fLX_BTd4T8W11WBvevomLA&(6{< zfF@Xx|ALwTpk6k<>gv@5hX&G@K8-;AHKE>P+#N+N{BpMmX2>HwY5r$|9Z4c-IwQ}< zSh6t+Y-$y7%nCSG367EDa~4P27!`186>!W7I93Txtpd;5ri^E8Q^vElDdSn&l<_>z zM+uI$DdSn&l<}->%6Qf`WjtFIc-A&$JZqaWp0!OG&)ViZp6!f3HE4ku^rQ{;VMwX> z=WB(%zKe5Z`5t`a3W{J`kv|R@?T-9_O5bgvC69%R0%JTy+voWH?BwL+4Zi=JxSXFK zdnpbx6USeW9|ul(n)-_|IlF!oGBQQ6at^60eICrj%Rrc)d`}J^{i}Spccw0*;1CuL zNsme#GQXu$XzbEHiJ62evV%@NJL}ZFD>{{M{z1xlpOLWZCCCP}c6cBKXN(HS^6#ho z|DEz*%hMqvQ;$~4e+yQQh!{|L(CMYX5-&#OHH+Fvt1@q@t;J(e>!IpYHC z9wY7uzpCMf(0AXq@ALI?*hmHB*=UaF0-g*4}{I`3V2`buKV=N|DkiJBL z8w3T8FAH=dbv&8BqN|UFTvhTxEW=oC$NfGPi(EQQu=gY#N2v&&mB#GmaBigWy2^8O zo-}Iy^UCu)d3cLQY&H%vujRQy7PRiG1Ab>vQ+@uu98Q z%j}2tjjmo7|Ie!&`$haGi{4(Gz6>LvBJTjMWu#ywlR_v+;pw>C*d1}+b=9+u9R06l z&fnFG?^ClvooxT{mg}Tep-w70rIGGm8`6U-B2}ziqo{UEdxE0cHDPThjwBzergAUv z=&>@!j%_gtU%u?%n;@O7U$EyCB#0P-VB?v%x;dZ$6~4Rak*V~@bd!ubuYUbZcc*t| zt*h!$SAQUr{{eQk`BK&b|JbKp8TV+8ewvxhcdLv8Hw~0%YpDjOqcvenMEB zb8n4i`<9O>%3n?qni*kQD@y>pe+e*45`eqX;q+N6zL%>Pe;=`ruY``bo*`xjWuS=I*&lgIE zTaN_~sZjq7aG*WG^#$XD0oJtLCoG~klN|dI7%%1^x;bX*SqyqGm<%apm9Xl4Jjj9p z*Z~)Ei2TGMSW?7l8IMnb)Nm0^=Fv`%6X9i7YJ_}3Mb0YLMA5CWavu{_g;I`Q1SmIp zM{rCqo^)V*F-O~2q=b`EclHcI|90xx!sU{+Hm~ptr0EQbb|f02pO?<`9DbJSS>7*} zX=g|x{DqHn(G=z@S$2+|(`II%3nu0^k5%Gtdpz#p)e&JS4l>R~QDNpNV1aW;q66zH zIbFhdFzEJufk3C3%so~rZy8FKJS&pNOI3g+ry+%Ugkx;s?HP46p}k8ac|t{`b_%qA OhyMWPRX-rj8~^|z*q_?~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/ponder/display_link_redstone.nbt b/src/main/resources/assets/create/ponder/display_link_redstone.nbt new file mode 100644 index 0000000000000000000000000000000000000000..431f06571013f50fa0ca640f44156ff1795c8273 GIT binary patch literal 1049 zcmV+!1m^o6iwFP!00000|LvI1Zrer>#)tnTN(zt`ZP6Zj@}<|bJ=KQ-v3;=7!Z9GX zO?na5~`ShT3#zl0l`gHO|54=n$+iCgnAW)iVEPK>x zoHdQJLF2aY@ml!!4L(jy%vB$&aa#DeEquHdK7NCb+k&&zG;y|?CeBvV#Mx?^I4{?u z!N+QvI9p8qYHISn!wcvh;F!(1h8xnMpq^X}>dPAjRWSdkWIpCB8^wjQ1O0uGYAHBJ303}2 zOaA|s{N1`*NxmVu6VlAhO8 zooW_$DyzSDxB53-{nwjT-)&s|@DO=?q;VEN_eA2e6QRDn?ETRP-!v9MeK?~vk0cxG z-H365g$~U}%v0?c7!T74H>SS@;FaCU-Sf92}(wi7bGb zh=}n@UedT{vkNm}GWF41XLG$bACFP4)++2lV1iX;nYmhgs_ECgD?aZk{nWPNWBJ#m z-?q#D7H?wJd3bd<{^~r!_kSM#rg^MyPI~X(JgS?Djq?buu^xBV_15b;YqP0vE7wE+ zuCBf-{<6(&eH;H4`R}#hzxU@Y^LHEg6Sh;yQk9q{Cj|c#pKBQWvZLv^v%9nN>syCy z$NK6P$NKt)uv_Mpvnj6{@7GuJst4VSanu@3umeJI%w`Cmt#*csDeVhKkw_^d>SPrk zuM{d3i&6ek$|UNE6d6kMzKWz{79j*mxd9WPk)73Z>mD1E_w4kkPb-clX zXh|+6leO4=_B>JGyjZ%~+aEViQ^aesm?H94UP}&n^ppYf416u;W|&wk(o(o$UwJq? z6HLa{kv7sUs93Ms2R-}e8~gO@VYy#gycLiuE;bM~rPaDN)1`e5H7C4>0B&(TJO0`=uW@Daq`#U=TMr~uiI0h1n;Dh9IOv@{5hBH_E5P3EajsuAqk zg5i#+^R=&TI4lqNL`Q|5nA6(majdNyITaS%rEp$vFlUo*LSUF&NHvh_vwA zaGZn*rojA_BcgpO&(1rtv$MhLTdQk}2;tsiDb+42W}3iFbN{Yx^!D^+r;4DyLkz!T z^03~3GzGP86i9V9ig?a{KKAv|#@3JSr^+eOTb~)jqud*KLI)``XjkQck2kyhW?)7U zDQcia$2qDM&D?67t9>S>i`_Ms7UmIh?^q>;jm>1ssU*)7H(&(kF2R;LLL)zqfBZg< zfzFU}cr}AOX!)m`U){7udgJPIJvUZzVsYHL#M_xb)|bhvld+jLEVwhql5#a<4TVj}E@dzsElx zJnQan2Yt3aPS0$MeNFO6TF+-6D`V*xxg`Y)6YIVcmbhvJreMl`detb)Ty; z@o)L_CNQ@xN2g%|c<^RH<*dE>F>{$H0&oGQ;^!S8Qg)#HqeiJUv>L}18a{6z0nEPH zrh<3FPq&Z8qU833A9aExSs4YB#vldK8^a71F|o^o_oL;3mEPg|dL^+1Q6UWU?hwVG zYknI)h9R1X%GKVoMiRPKK}-{yaF}|6?kZ{OWDD}xcX?A>GQdNZ(_}y65x2ZRg{nYC zsnke}UaNL)m#a^~z#}V*4zIW%J&R&D!;;?2xhGAuyfsGn;PKuQ`QtFo_2ivFi4#qO zlmj)L;POjnyl8dN-d7IFBZ))sR<#cdCuZn`^lS^bcc9aoa{F8~my3vv<-z_DBg$AL zOVRUVgyU%PA?XsQ^{GgRwEeyRY}iKY^3aA^Rdv+x+afv8)_7>vYR_FqV zp{o!Usz2dSm2f4!TOz&X)`zBy+Z#2`IrzNw;)EamkZEvb~eTEL*oCfs>8GU?9QK zw?;au<2wG&DnF1xsm{6M7Ua>nMEYaop%eY&*wgZ`ux=S4Z41p7JO5^%^I}XNS0>8@ zYoka>tDH%Qp79M6Z>4<3C-;>;^@hjx1>I@Mp-NAc`OIDeYFR=%7j;y=l@rXXJ29&&b9>?Ydbrt(g*ur}@DMMRpew^9h0yKH9?O0L`E z>&&4WG-S$dx3WvoV*hSgu6TUVJcNh!DBT8;4tv2x72ryoK3Y^o9-clr99)&we2#er zxoc8k8)`oT-#|nDaE(KRZAWSb711&GpJ-8tH@XA(2Udb7`r>N`I^joaf!`UDJHaq) z#9(u9q{yUU)a?H4X|CY7$wsW&onfZeUwl+munW*JS?E|j`csgfAKJeiW%J;I=s@J* zs}J6`Z5EUQ4bA7*L?}$QeVJm|58+(z;N$x1(g*x7v$)0+uYshTpXq|D9Z?V}oC)q_ zQR-E)5|)|8#T8Lq^L51w#P6(VKhG%mgrvKVJERH}>wM5*Um_7P&s8Hwj8o2yrOU)E zzASD!TalCCgkMm_UOIOP5~H(@gwTz~M2~|G6iG6|f!JT-{S*^(#I#xyX%hH1d4b0A zpHbT5`s`|^419*rD#bR$kkKoh4%ywaCeE6rgAa2=lCJrMOTZudefnosb(NrYd`$nh zQv?o?hqGxWxUG}a56rm6wB}@pAc9numO5H15sW@Gs66vHsI?`=Q4UX{a62LkL#ztBkkqYxB!w&1ea_gkT6S5GIk<- zSHcyc8-eSM2<}rafqPj%_6kg!w=2q};fEasouj%>U z4#b}Au(UpvnNjKP%YNUSEndD@K4FIG)*A+XIG*;IWrPOd25Ks?2{Xi9M;ERul!;LUp`^Z6LBM5~>(ylUukdgfd+(<`9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/ponder/steam_whistle.nbt b/src/main/resources/assets/create/ponder/steam_whistle.nbt new file mode 100644 index 0000000000000000000000000000000000000000..9a37b476ebcd511d2856e3a1dff45caaf4a3bb11 GIT binary patch literal 805 zcmV+=1KRu_iwFP!00000|IL=qZqq;z#>erWI8G5N>VYd)&IqC2N&yw9pi&D3F45N6 zB&)8y#=EIio&vaXfEVC#fHy(nRK|8Tab0_HrGl_zS@C}UX6CoEn+*U4;7In4+5nK> zF5Z6r9Dq+_#T26w@@oLz5f|aH4DiRT0oaL<`lID#gDVwLbn!)##;Rzn7EP~%kKMt? zG5A;wIoEx(#_HhH>)>N|@No=2y$+nU#>81`Oq{jG#93=hoR{-q@X;C*XRR@D)*2IM ztub+SI&jt+6KAb4an>3WXRR@D&aeI-a<=rmRWv;az>bg90NlrlM&)83!rHbF$1I*6 zu&CGomPqt9gmo;|8T~n;^i*og10|U5`J3D3=H>(lv-_p_aYgiG0s^3VLZiz%3^Wgki}z> zSplr=5~-fXB8&I()T~!Hj!~`GXJ=>M@c9ORV@}}g(K z)9aPRuZJlnKsP6R&c-7};^P2@2l&_)vBFK(hry$K=oyJ9Twjr*QKC-KZz~e>SV2oO z*P%I=gk~9_Sxacp1`Qj*eV)ZM%|qY2_Upq>`_Ar{_jf;iz5Ve?GtjpSpx^&Lpgnz8 zfV%&r3(dV(MOEX|jwHx&q=FYIx3qFYL)Gi|7WLz+J*L9hD(J={s8p0hqpU>GK-7lw z`(*#G5UsbUx%qxv4bh9e+){s)DE24x6T+!dG(S!ad~k|hy}9aDq^amA6fvfOA8EzL zN+GeZQE?{2sKH(;5}M}6HIz^o=;Slzwj($T*CCiq!ovB@FF^9^Qg|%FXy_J jdh_b+K;+WN+c11U6nRNg$wZ82gU|3APZr7IS_}XHLk*X> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/ponder/super_glue.nbt b/src/main/resources/assets/create/ponder/super_glue.nbt index 46f30a682f4b61b8643baa15fbfd890f912d7a84..3f39add501f69a6c2569cdde1f6376e6be242bee 100644 GIT binary patch literal 688 zcmV;h0#E%PiwFP!00000|GidCZ__{!9e?GMic*1u#6Rd6A=DEGE=8zCR4qqq<4lrO zHoKO0TetiQ;K~910DljO8{@%il8;0ZeLgbp6RgU=S@^4VfsK3j~-XNz(9yzPgB$6{PQTa3$Ri*fmEF)p9O4nA9q z%V&#m`D`&RpDkwJJbR5?eoMc)VuC#we-Fm$srwVO?5W?-6SnYl#nkmgJ2cmMdM%is zf$75t0y!}eL>DRIblr0}Jfn|#{l#TEC8Re1pHJagk|8~vXue7X#!D{I@T6q~o7M~- zE{*?x(gY8iCUjJ@p*bvR7A(6#Z7^#Q+MJSMN1+sQDlheV@iy6>Y_rK}oMcQcTZS@h z2p*N`0ysF8^xw+F`D~`q6tH~~#t@z7lBy!w*9U*T{tjNg|M}(B_g}}~-g(gfcr7KD zb4oqFNHQhF6%*Gry+@_qOr;p7*FxYOMSWtVf}$emZIryZ|I6aH6f!1EKV<@q!Qw#h zXaM0ETOmAOQTND>nK{W9++dt2Ntr3gBA!+VEma<`PZis@ht=Cj#_70Gc=n+XofStB zg3VZh5avvX0ZC9fX5?8kV?yHqdh~W(k5rjiY*`;ytO9Sy!v^U%r?N7k=JOg?Xzo&^ zQ;#x6t+rH06_sMkSPM33vRM&fPGi_scOgDDDoYj}gj57&2RF@&S8Psu@-GDA+6Z)W zfZcKp-d*Km$&jddzCaW^D@RtV{6!hH!i2VkCrrfEj&|~{W!aizv5|UP_38e+7rXJ6 W8Fq!4=1S5O|A4=n?7D0M3jhE&jYA~> literal 493 zcmVfRzlCd9(n z2s_GdAFR*UA%Sc}STvR_e&)=_jE`k9fDK5m|DphZekL?!f89WeHt3+yLq9gKDvT>@ zpV7nj4T#qHG3hb{BtEEsL&mixn$biPP0Zj321hbDRd9LeB}eZ`Ev1j8@E@N0=97#zvqM8o&4HR7G#1*3P#@KiE9UE&A^ zN6vCG5Vi;jBu_2k7EXDe9_iMfUi@jdq>NIC^%lOA9n#Z-*G+3MueHUX%b8N9+g&n0 zL-8NBGI)-!e;=&Xwj$)+Q`tFVo|QSAg6Dd^4fQlw?v>T0GI@cj>r-x*Fq&-DWT@!| zo}S?!2RNa<*M5d5Cd3tK)~zxa0`}+aItBTt8icP6tyI~mU3fU|b-=uImgtl;Dn7p{ zymiO?bZE~-ovQQJC|mnW^!_bcI9K~UnjQ6){pwtcUH>ac;qFK!cE(i|Eq=07#v`Sx z7wRi|xsXPGjq0kt$m+O9G*i}Ur^