From 2e1129a3a50e97681ef1e2956838c920540a73d4 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Tue, 2 Mar 2021 05:53:43 +0100 Subject: [PATCH] Thinking about Gantries - Added Ponder entries for gantry shafts and carriages - Added ability to mark lang key prefixes as ignored, leaving out 'dev-only' lang entries from the localization templates - Gantry Pinion -> Gantry Carriage - Scenes can now be "re-assembled" by their storyboard while Ponder is opened using shift+refresh - removed the requirement of editor provided lang keys for text windows - couple fixes, changes to instructions --- src/generated/resources/.cache/cache | 38 +-- ...antry_pinion.json => gantry_carriage.json} | 24 +- .../resources/assets/create/lang/en_ud.json | 2 +- .../resources/assets/create/lang/en_us.json | 156 +++++++--- .../assets/create/lang/unfinished/de_de.json | 158 +++++++--- .../assets/create/lang/unfinished/es_es.json | 158 +++++++--- .../assets/create/lang/unfinished/es_mx.json | 158 +++++++--- .../assets/create/lang/unfinished/fr_fr.json | 158 +++++++--- .../assets/create/lang/unfinished/it_it.json | 158 +++++++--- .../assets/create/lang/unfinished/ja_jp.json | 158 +++++++--- .../assets/create/lang/unfinished/ko_kr.json | 158 +++++++--- .../assets/create/lang/unfinished/nl_nl.json | 158 +++++++--- .../assets/create/lang/unfinished/pt_br.json | 158 +++++++--- .../assets/create/lang/unfinished/ru_ru.json | 158 +++++++--- .../assets/create/lang/unfinished/zh_cn.json | 158 +++++++--- .../assets/create/lang/unfinished/zh_tw.json | 158 +++++++--- .../create/models/item/gantry_carriage.json | 3 + .../create/models/item/gantry_pinion.json | 3 - ...antry_pinion.json => gantry_carriage.json} | 4 +- ...antry_pinion.json => gantry_carriage.json} | 2 +- ...antry_pinion.json => gantry_carriage.json} | 2 +- .../com/simibubi/create/AllBlockPartials.java | 2 +- .../java/com/simibubi/create/AllBlocks.java | 6 +- .../com/simibubi/create/AllTileEntities.java | 12 +- .../structureMovement/Contraption.java | 8 +- ...ionBlock.java => GantryCarriageBlock.java} | 12 +- ...derer.java => GantryCarriageRenderer.java} | 8 +- ...ity.java => GantryCarriageTileEntity.java} | 14 +- .../gantry/GantryContraption.java | 2 +- .../particle/RotationIndicatorParticle.java | 2 + .../relays/advanced/GantryShaftBlock.java | 10 + .../advanced/GantryShaftTileEntity.java | 24 +- .../foundation/data/AllLangPartials.java | 2 +- .../create/foundation/data/LangMerger.java | 23 +- .../data/recipe/StandardRecipeGen.java | 2 +- .../foundation/ponder/PonderLocalization.java | 11 +- .../create/foundation/ponder/PonderScene.java | 20 +- .../create/foundation/ponder/PonderUI.java | 19 +- .../foundation/ponder/SceneBuilder.java | 77 ++--- .../ponder/content/DebugScenes.java | 81 +++-- .../ponder/content/FunnelScenes.java | 111 ++++--- .../ponder/content/GantryScenes.java | 292 ++++++++++++++++++ .../ponder/content/KineticsScenes.java | 12 +- .../ponder/content/PonderIndex.java | 8 + .../foundation/ponder/content/SharedText.java | 2 + .../ponder/elements/OutlinerElement.java | 17 +- .../ponder/elements/TextWindowElement.java | 84 +++-- .../ponder/elements/WorldSectionElement.java | 6 +- .../DisplayWorldSectionInstruction.java | 20 +- .../ponder/instructions/TextInstruction.java | 35 +-- .../instructions/WorldModifyInstruction.java | 2 +- .../horizontal.json | 0 .../item.json | 0 .../vertical.json | 0 .../wheels.json | 0 .../resources/ponder/gantry/direction.nbt | Bin 0 -> 819 bytes src/main/resources/ponder/gantry/intro.nbt | Bin 0 -> 708 bytes src/main/resources/ponder/gantry/redstone.nbt | Bin 0 -> 718 bytes .../resources/ponder/gantry/subgantry.nbt | Bin 0 -> 716 bytes 59 files changed, 2134 insertions(+), 920 deletions(-) rename src/generated/resources/assets/create/blockstates/{gantry_pinion.json => gantry_carriage.json} (53%) create mode 100644 src/generated/resources/assets/create/models/item/gantry_carriage.json delete mode 100644 src/generated/resources/assets/create/models/item/gantry_pinion.json rename src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/{gantry_pinion.json => gantry_carriage.json} (81%) rename src/generated/resources/data/create/loot_tables/blocks/{gantry_pinion.json => gantry_carriage.json} (86%) rename src/generated/resources/data/create/recipes/crafting/kinetics/{gantry_pinion.json => gantry_carriage.json} (89%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/{GantryPinionBlock.java => GantryCarriageBlock.java} (91%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/{GantryPinionRenderer.java => GantryCarriageRenderer.java} (90%) rename src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/{GantryPinionTileEntity.java => GantryCarriageTileEntity.java} (91%) create mode 100644 src/main/java/com/simibubi/create/foundation/ponder/content/GantryScenes.java rename src/main/resources/assets/create/models/block/{gantry_pinion => gantry_carriage}/horizontal.json (100%) rename src/main/resources/assets/create/models/block/{gantry_pinion => gantry_carriage}/item.json (100%) rename src/main/resources/assets/create/models/block/{gantry_pinion => gantry_carriage}/vertical.json (100%) rename src/main/resources/assets/create/models/block/{gantry_pinion => gantry_carriage}/wheels.json (100%) create mode 100644 src/main/resources/ponder/gantry/direction.nbt create mode 100644 src/main/resources/ponder/gantry/intro.nbt create mode 100644 src/main/resources/ponder/gantry/redstone.nbt create mode 100644 src/main/resources/ponder/gantry/subgantry.nbt diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index e4ec0acbe..22ff97d25 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -157,7 +157,7 @@ afff479c0e5284771afa9e7ce513595fe65860ee assets/create/blockstates/gabbro_cobble a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.json a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json -2d7ffcb339b0a38b98935a382ac2a164866255b1 assets/create/blockstates/gantry_pinion.json +23744450886af88ed468aecbbd7b8d7babcbbd6f assets/create/blockstates/gantry_carriage.json 9fa39a44bba30c5ae8fa245b122a837c705462b4 assets/create/blockstates/gantry_shaft.json eca1f0e56efdadb241f42dc6ebb036f1d52213a9 assets/create/blockstates/gearbox.json f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json @@ -400,20 +400,20 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -e3f618c5b622d21880de858678d1802cbf65e615 assets/create/lang/en_ud.json -07eaea807200c157af29adbbc411d2a80b9cade5 assets/create/lang/en_us.json -3f89caaa4c6ac34222ebd1d5577139c18a9aa6b8 assets/create/lang/unfinished/de_de.json -591db95e6cd9e9f3f106ef4dc1f9ce475edee4df assets/create/lang/unfinished/es_es.json -ee7da78e00b92e5fde92c8ad8b25627bb7f478c7 assets/create/lang/unfinished/es_mx.json -3b604e06a29ddac65e71e4b853e88066496b3118 assets/create/lang/unfinished/fr_fr.json -d50db792720189290b382537f2703d08feab7f52 assets/create/lang/unfinished/it_it.json -2969a487f270d80969d69a5f76cef7e1b41c5c9e assets/create/lang/unfinished/ja_jp.json -5df95bcadb862b4522439ea66dc28a018771562b assets/create/lang/unfinished/ko_kr.json -9f65db261fdda1c22691b5238a8327d7aabcb912 assets/create/lang/unfinished/nl_nl.json -1864077ccca4c023e5bee33a3b1efe9ccdcaad28 assets/create/lang/unfinished/pt_br.json -1559765f5d8f1361e1a78680c60dd16ac5111259 assets/create/lang/unfinished/ru_ru.json -7b9680e0d83fdd4749418e54342fa567b4e2ea6b assets/create/lang/unfinished/zh_cn.json -ea077d3e3141001ebe3fb2cda60276ac21647a1f assets/create/lang/unfinished/zh_tw.json +2384c6457ecf24c7b38358179b8fa6eb93b9627a assets/create/lang/en_ud.json +569b3aaadf1e5c5849692c4e918dc762edd9a316 assets/create/lang/en_us.json +70a747f3639180da9cba1b8747fb19dacb1e9619 assets/create/lang/unfinished/de_de.json +610b1e766bc338d38906a160908cdb79e0d3bc54 assets/create/lang/unfinished/es_es.json +8eff0c23695d3e8c26d1265a82324242a9762226 assets/create/lang/unfinished/es_mx.json +fb150f105517632023265602cfc3c948be932917 assets/create/lang/unfinished/fr_fr.json +09111dedc02d6803134a8276ec481abcaa0e00c7 assets/create/lang/unfinished/it_it.json +c1f6faed7efb6f224aec7563b0ac6b891bc780d4 assets/create/lang/unfinished/ja_jp.json +c6139e7280236adcd136d40a94cd1cb708d402c6 assets/create/lang/unfinished/ko_kr.json +bb3fda881575df3ae26921edc3f4a3e2ecbc6ccd assets/create/lang/unfinished/nl_nl.json +8915f0902e59c1bbfb2c16e43e2ce62b3d616e0d assets/create/lang/unfinished/pt_br.json +ad8d2b7c8c7f3ac584218c33f86ba67c1873b7fc assets/create/lang/unfinished/ru_ru.json +e549baab96828524fc4694355546c685859956d6 assets/create/lang/unfinished/zh_cn.json +2506abb1c796aad920e803a8e1427908c5b115c1 assets/create/lang/unfinished/zh_tw.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json @@ -1325,7 +1325,7 @@ b10971277417369f421324b28f0a4b47ce4c8625 assets/create/models/item/gabbro_bricks b3d7398dbc16c450928bd76b772c273382687447 assets/create/models/item/gabbro_cobblestone_stairs.json 5680f24b43838cb6632bfcedba282a244bd24db0 assets/create/models/item/gabbro_cobblestone_wall.json 20950b692eecfccd77d96678bb3d909d51f6d787 assets/create/models/item/gabbro_pillar.json -b10f1b188f2bf380628377bd42af2b8f8ffe5611 assets/create/models/item/gantry_pinion.json +a642f570ec8223c066e542f062aff3b7f93e002b assets/create/models/item/gantry_carriage.json b4bfd5041b62f3a0a955fa4872d178b590614f22 assets/create/models/item/gantry_shaft.json 6ab0d17f3d02678ed992e188ff09f6b2c00b5b03 assets/create/models/item/gearbox.json 2fe29893d74c176ea35aed73a169c13dd4ddb2a8 assets/create/models/item/gearshift.json @@ -1738,7 +1738,7 @@ b42213bffce4e51618e1bba481959208d247c120 data/create/advancements/recipes/create 11d89eca0ccb0f1a8cd27acc9fc0c10d7bf83285 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json a2b33e972c7130cbf105f34d88dd7a9a53d5465c data/create/advancements/recipes/create.base/crafting/kinetics/fluid_tank.json a91b11ae44d9b1f479c6dee1f1a4580104059287 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json -e17c45fc17e1a8e1e618b6eae02fa0aba3247495 data/create/advancements/recipes/create.base/crafting/kinetics/gantry_pinion.json +b2a73fc7e0e4e764c2af400a6e093c2d78d7d37d data/create/advancements/recipes/create.base/crafting/kinetics/gantry_carriage.json d1d2fc2f5c4e89393808c65e015917eabb50dffe data/create/advancements/recipes/create.base/crafting/kinetics/gantry_shaft.json dae9e65a089955c0367dc1453e104c3153ebad79 data/create/advancements/recipes/create.base/crafting/kinetics/gearbox.json 8f9819912605cb2499cb3e79ecb0e709b0e38c19 data/create/advancements/recipes/create.base/crafting/kinetics/gearboxfrom_conversion.json @@ -2448,7 +2448,7 @@ e51893e1601c470da466b35b17251238e15d0361 data/create/loot_tables/blocks/gabbro_b 54879fe6ca3b7271fbb94ec26bef1c3031942d4d data/create/loot_tables/blocks/gabbro_cobblestone_stairs.json ae19749df10663efc51b8b27af310164f250ed38 data/create/loot_tables/blocks/gabbro_cobblestone_wall.json e8d09c919e3b8125d7da0f38383c01bcfc61c7a8 data/create/loot_tables/blocks/gabbro_pillar.json -04e42ba63002ed8ba67780123413f6ff3fb85b02 data/create/loot_tables/blocks/gantry_pinion.json +0ea37ff1af6c6a884670cd12ff1d8fdf223519c5 data/create/loot_tables/blocks/gantry_carriage.json f2883656e417a78e5e4093002eb1e36ffa1157e9 data/create/loot_tables/blocks/gantry_shaft.json b0109b4a4f0f738cbbe6b5911e8c3c0310b76f99 data/create/loot_tables/blocks/gearbox.json 5f39461c5c9d3ad8d84195b06b9468fe2b0fb269 data/create/loot_tables/blocks/gearshift.json @@ -2797,7 +2797,7 @@ f4ae37f736d06ccda5fbba7831a7a174ec916a05 data/create/recipes/crafting/kinetics/f 86ad4d2820e8e2b01de8d977af7796119dfb7430 data/create/recipes/crafting/kinetics/fluid_tank.json 3dad2a849796df268cd3a06ed37376f2cc529957 data/create/recipes/crafting/kinetics/fluid_valve.json 84153bd478c0e63a04c77579d6595043f604b7ab data/create/recipes/crafting/kinetics/furnace_minecart_from_contraption_cart.json -5299a12e9272089e64073c8e151b70a5bc57b53c data/create/recipes/crafting/kinetics/gantry_pinion.json +9e75756423b7f9372a2330a7140f80b1b87bd30e data/create/recipes/crafting/kinetics/gantry_carriage.json 21095a156547d4a7d215964be793f1e960b81c09 data/create/recipes/crafting/kinetics/gantry_shaft.json 5eb05cdf88bccdaddfe7ebfbd8b70d1196d422a6 data/create/recipes/crafting/kinetics/gearbox.json b5da8c58f6b8aba525ae8a12ad906db37b78a566 data/create/recipes/crafting/kinetics/gearboxfrom_conversion.json diff --git a/src/generated/resources/assets/create/blockstates/gantry_pinion.json b/src/generated/resources/assets/create/blockstates/gantry_carriage.json similarity index 53% rename from src/generated/resources/assets/create/blockstates/gantry_pinion.json rename to src/generated/resources/assets/create/blockstates/gantry_carriage.json index 1280e18d4..06cac5b0c 100644 --- a/src/generated/resources/assets/create/blockstates/gantry_pinion.json +++ b/src/generated/resources/assets/create/blockstates/gantry_carriage.json @@ -1,51 +1,51 @@ { "variants": { "axis_along_first=false,facing=down": { - "model": "create:block/gantry_pinion/horizontal", + "model": "create:block/gantry_carriage/horizontal", "x": 270, "y": 90 }, "axis_along_first=true,facing=down": { - "model": "create:block/gantry_pinion/horizontal", + "model": "create:block/gantry_carriage/horizontal", "x": 270 }, "axis_along_first=false,facing=up": { - "model": "create:block/gantry_pinion/horizontal", + "model": "create:block/gantry_carriage/horizontal", "x": 90, "y": 90 }, "axis_along_first=true,facing=up": { - "model": "create:block/gantry_pinion/horizontal", + "model": "create:block/gantry_carriage/horizontal", "x": 90 }, "axis_along_first=false,facing=north": { - "model": "create:block/gantry_pinion/vertical", + "model": "create:block/gantry_carriage/vertical", "y": 180 }, "axis_along_first=true,facing=north": { - "model": "create:block/gantry_pinion/horizontal", + "model": "create:block/gantry_carriage/horizontal", "y": 180 }, "axis_along_first=false,facing=south": { - "model": "create:block/gantry_pinion/vertical" + "model": "create:block/gantry_carriage/vertical" }, "axis_along_first=true,facing=south": { - "model": "create:block/gantry_pinion/horizontal" + "model": "create:block/gantry_carriage/horizontal" }, "axis_along_first=false,facing=west": { - "model": "create:block/gantry_pinion/horizontal", + "model": "create:block/gantry_carriage/horizontal", "y": 90 }, "axis_along_first=true,facing=west": { - "model": "create:block/gantry_pinion/vertical", + "model": "create:block/gantry_carriage/vertical", "y": 90 }, "axis_along_first=false,facing=east": { - "model": "create:block/gantry_pinion/horizontal", + "model": "create:block/gantry_carriage/horizontal", "y": 270 }, "axis_along_first=true,facing=east": { - "model": "create:block/gantry_pinion/vertical", + "model": "create:block/gantry_carriage/vertical", "y": 270 } } diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index 65c0554be..7f167ccad 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -158,7 +158,7 @@ "block.create.gabbro_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 o\u0279qq\u0250\u2141", "block.create.gabbro_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 o\u0279qq\u0250\u2141", "block.create.gabbro_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 o\u0279qq\u0250\u2141", - "block.create.gantry_pinion": "uo\u0131u\u0131\u0500 \u028E\u0279\u0287u\u0250\u2141", + "block.create.gantry_carriage": "\u01DDb\u0250\u0131\u0279\u0279\u0250\u0186 \u028E\u0279\u0287u\u0250\u2141", "block.create.gantry_shaft": "\u0287\u025F\u0250\u0265S \u028E\u0279\u0287u\u0250\u2141", "block.create.gearbox": "xoq\u0279\u0250\u01DD\u2141", "block.create.gearshift": "\u0287\u025F\u0131\u0265s\u0279\u0250\u01DD\u2141", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index b7a9084e2..b3690cb9c 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -161,7 +161,7 @@ "block.create.gabbro_cobblestone_stairs": "Gabbro Cobblestone Stairs", "block.create.gabbro_cobblestone_wall": "Gabbro Cobblestone Wall", "block.create.gabbro_pillar": "Gabbro Pillar", - "block.create.gantry_pinion": "Gantry Pinion", + "block.create.gantry_carriage": "Gantry Carriage", "block.create.gantry_shaft": "Gantry Shaft", "block.create.gearbox": "Gearbox", "block.create.gearshift": "Gearshift", @@ -1801,61 +1801,119 @@ "create.tooltip.randomWipDescription8": "Use it and regret your decision immediately.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "Hold [%1$s] to Ponder", "create.ponder.subject": "Subject of this scene", "create.ponder.pondering": "Pondering about...", "create.ponder.identify_mode": "Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "Sneak +", "create.ponder.shared.ctrl_and": "Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "Das X axis", - "create.ponder.brass_hand.scene_0.y": "Das Y axis", - "create.ponder.brass_hand.scene_0.z": "Das Z axis", - "create.ponder.brass_hand.scene_0.title": "Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "wut?", - "create.ponder.brass_hand.scene_2.title": "Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "Incoming...", - "create.ponder.brass_hand.scene_4.title": "Emitting particles", - "create.ponder.brass_hand.scene_5.title": "Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "Point of Interest", - "create.ponder.brass_hand.scene_6.title": "Birbs", - "create.ponder.brass_hand.scene_7.seamless": "Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "Sections", - "create.ponder.brass_hand.scene_8.stalling": "Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "Depots", + "create.ponder.brass_funnel.scene_3.text_4": "Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 2bf4d5364..01610abd3 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: 1023", + "_": "Missing Localizations: 1059", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone_wall": "Gabelsteinbruchstein", "block.create.gabbro_pillar": "Gabelsteinsäule", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "Getriebe", "block.create.gearshift": "Gangschaltung", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "UNLOCALIZED: Use it and regret your decision immediately.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 9f0011544..b99910daf 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: 65", + "_": "Missing Localizations: 102", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "Escaleras de adoquínes de gabro", "block.create.gabbro_cobblestone_wall": "Pared de adoquínes de gabro", "block.create.gabbro_pillar": "Pilar de gabro", - "block.create.gantry_pinion": "Piñón de grúa", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "Eje de grúa", "block.create.gearbox": "Caja de transmisión", "block.create.gearshift": "Caja de cambios", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "Úsalo y arrepiéntete de tu decisión inmediatamente", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" diff --git a/src/generated/resources/assets/create/lang/unfinished/es_mx.json b/src/generated/resources/assets/create/lang/unfinished/es_mx.json index 33cd85111..6611145d1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_mx.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_mx.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 953", + "_": "Missing Localizations: 989", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "Escaleras de Piedra Labrada de Gabro", "block.create.gabbro_cobblestone_wall": "Pared de Piedra Labrada de Gabro", "block.create.gabbro_pillar": "Pilar de Gabro", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "Transmisión", "block.create.gearshift": "Cambio de Marcha", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "UNLOCALIZED: Use it and regret your decision immediately.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 01831c87c..249958a19 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: 735", + "_": "Missing Localizations: 771", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs", "block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall", "block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "Boîte à roue dentée", "block.create.gearshift": "Décaleur de rotation", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "Utilisez-le et regrettez immédiatement votre décision.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 14100deba..593c35df1 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: 70", + "_": "Missing Localizations: 107", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "Scalini di pietrisco di gabbro", "block.create.gabbro_cobblestone_wall": "Muretto di pietrisco di gabbro", "block.create.gabbro_pillar": "Pilastro di gabbro", - "block.create.gantry_pinion": "Pignone a portale", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "Albero a portale", "block.create.gearbox": "Riduttore", "block.create.gearshift": "Cambio", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "Usalo e rimpiangi immediatamente la tua decisione.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 88b1f8229..e46f52ebf 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: 77", + "_": "Missing Localizations: 114", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "斑れい岩の丸石の階段", "block.create.gabbro_cobblestone_wall": "斑れい岩の丸石の壁", "block.create.gabbro_pillar": "斑れい岩の柱", - "block.create.gantry_pinion": "ガントリーピニオン", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "ガントリーシャフト", "block.create.gearbox": "ギアボックス", "block.create.gearshift": "ギアシフト", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "それを使ったことをすぐ後悔する。", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 b755f5f47..e6ab8c399 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: 124", + "_": "Missing Localizations: 160", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "반려암 조약돌 계단", "block.create.gabbro_cobblestone_wall": "반려암 조약돌 담장", "block.create.gabbro_pillar": "반려암 기둥", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "기어박스", "block.create.gearshift": "기어쉬프트", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "Use it and regret your decision immediately.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 2890bc7ef..dd0cc915d 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: 1222", + "_": "Missing Localizations: 1258", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs", "block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall", "block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "Versnellingsbak", "block.create.gearshift": "Versnellingspook", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "Gebruikt het en je zal meteen spijt hebben.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 768fd4e46..0dd6b00bf 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: 1288", + "_": "Missing Localizations: 1324", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs", "block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall", "block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "Caixa de Transmissão", "block.create.gearshift": "Câmbio", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "UNLOCALIZED: Use it and regret your decision immediately.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 f14fee5da..e9c2d527f 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: 74", + "_": "Missing Localizations: 110", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "Ступени из габбро-булыжника", "block.create.gabbro_cobblestone_wall": "Стена из габбро-булыжника", "block.create.gabbro_pillar": "Габбро колонна", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "Коробка передач", "block.create.gearshift": "Реверсивный механизм", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "Используя его, вы немедленно пожалеете о своем решении.", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 aa9fa5d81..6bd1e6840 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: 72", + "_": "Missing Localizations: 108", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "辉长岩圆石楼梯", "block.create.gabbro_cobblestone_wall": "辉长岩圆石墙", "block.create.gabbro_pillar": "竖纹辉长岩", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "十字齿轮箱", "block.create.gearshift": "反转齿轮箱", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "试试就逝世。", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" 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 feddcaa20..0fdf50b31 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: 77", + "_": "Missing Localizations: 113", "_": "->------------------------] Game Elements [------------------------<-", @@ -162,7 +162,7 @@ "block.create.gabbro_cobblestone_stairs": "碎輝長岩樓梯", "block.create.gabbro_cobblestone_wall": "碎輝長岩牆", "block.create.gabbro_pillar": "豎紋輝長岩", - "block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion", + "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gearbox": "齒輪箱", "block.create.gearshift": "變速箱", @@ -1802,61 +1802,119 @@ "create.tooltip.randomWipDescription8": "用了就死定了。", - "_": "->------------------------] MetaDoc Text [------------------------<-", + "_": "->------------------------] Ponder Content [------------------------<-", "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder", "create.ponder.subject": "UNLOCALIZED: Subject of this scene", "create.ponder.pondering": "UNLOCALIZED: Pondering about...", "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]", + "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.", "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +", "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +", - "create.ponder.brass_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.brass_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.brass_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.brass_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.brass_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.brass_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.brass_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.brass_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.brass_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", - "create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.", - "create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts", - "create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", - "create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts", - "create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis", - "create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis", - "create.ponder.brass_hand.scene_0.z": "UNLOCALIZED: Das Z axis", - "create.ponder.brass_hand.scene_0.title": "UNLOCALIZED: Coordinate Space", - "create.ponder.brass_hand.scene_1.change_blocks": "UNLOCALIZED: Blocks can be modified", - "create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Changing Blocks", - "create.ponder.brass_hand.scene_2.wut": "UNLOCALIZED: wut?", - "create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Showing Fluids", - "create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.", - "create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling", - "create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.", - "create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Out of bounds / configureBasePlate", - "create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...", - "create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Emitting particles", - "create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Basic player interaction", - "create.ponder.brass_hand.scene_6.birbs_interesting": "UNLOCALIZED: More birbs = More interesting", - "create.ponder.brass_hand.scene_6.poi": "UNLOCALIZED: Point of Interest", - "create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Birbs", - "create.ponder.brass_hand.scene_7.seamless": "UNLOCALIZED: Seamless substitution of blocks", - "create.ponder.brass_hand.scene_7.blast_off": "UNLOCALIZED: Up, up and away.", - "create.ponder.brass_hand.scene_7.independent": "UNLOCALIZED: This Section renders independently.", - "create.ponder.brass_hand.scene_7.merged": "UNLOCALIZED: This Section got merged to base.", - "create.ponder.brass_hand.scene_7.title": "UNLOCALIZED: Sections", - "create.ponder.brass_hand.scene_8.stalling": "UNLOCALIZED: Belt Items can only be force-stalled on the belt they were created on.", - "create.ponder.brass_hand.scene_8.title": "UNLOCALIZED: Manipulating Items", - "create.ponder.andesite_funnel.scene_0.funnels_transfer": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", - "create.ponder.andesite_funnel.scene_0.title": "UNLOCALIZED: Using funnels", - "create.ponder.andesite_funnel.scene_1.regular_place": "UNLOCALIZED: Placed normally, it pull items from the inventory.", - "create.ponder.andesite_funnel.scene_1.same_for_other": "UNLOCALIZED: Same rules will apply for most orientations.", - "create.ponder.andesite_funnel.scene_1.wrench_reverse": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", - "create.ponder.andesite_funnel.scene_1.belt_funnel": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", - "create.ponder.andesite_funnel.scene_1.title": "UNLOCALIZED: Direction of Transfer", - "create.ponder.andesite_funnel.scene_1.sneak_place": "UNLOCALIZED: Placed while sneaking, it will put items into the inventory.", - "create.ponder.andesite_funnel.scene_2.title": "UNLOCALIZED: Funnel compatibility", + + "create.ponder.brass_funnel.scene_0.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.brass_funnel.scene_0.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.scene_0.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.scene_0.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.scene_0.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.brass_funnel.scene_1.header": "UNLOCALIZED: Using funnels", + "create.ponder.brass_funnel.scene_1.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.brass_funnel.scene_2.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.brass_funnel.scene_2.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.brass_funnel.scene_2.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.brass_funnel.scene_2.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.brass_funnel.scene_2.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.brass_funnel.scene_2.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.brass_funnel.scene_3.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.brass_funnel.scene_3.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.brass_funnel.scene_3.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.brass_funnel.scene_3.text_3": "UNLOCALIZED: Depots", + "create.ponder.brass_funnel.scene_3.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.brass_funnel.scene_4.header": "UNLOCALIZED: Redstone control", + "create.ponder.brass_funnel.scene_4.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.brass_funnel.scene_5.header": "UNLOCALIZED: Direct transfer", + "create.ponder.brass_funnel.scene_5.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.brass_funnel.scene_5.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.brass_funnel.scene_5.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.gantry_shaft.scene_0.header": "UNLOCALIZED: Using Gantry Shafts", + "create.ponder.gantry_shaft.scene_0.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_shaft.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_shaft.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_shaft.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_shaft.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_shaft.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_shaft.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_shaft.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_shaft.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_shaft.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_shaft.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_shaft.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_shaft.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", + + "create.ponder.shaft.scene_0.header": "UNLOCALIZED: Relaying rotational force using Shafts", + "create.ponder.shaft.scene_0.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.", + + "create.ponder.shaft.scene_1.header": "UNLOCALIZED: Encasing Shafts", + "create.ponder.shaft.scene_1.text_1": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.", + + "create.ponder.andesite_funnel.scene_0.header": "UNLOCALIZED: Using funnels", + "create.ponder.andesite_funnel.scene_0.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.", + + "create.ponder.andesite_funnel.scene_1.header": "UNLOCALIZED: Direction of Transfer", + "create.ponder.andesite_funnel.scene_1.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.", + "create.ponder.andesite_funnel.scene_1.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.", + "create.ponder.andesite_funnel.scene_1.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.", + "create.ponder.andesite_funnel.scene_1.text_4": "UNLOCALIZED: Same rules will apply for most orientations.", + "create.ponder.andesite_funnel.scene_1.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.", + + "create.ponder.andesite_funnel.scene_2.header": "UNLOCALIZED: Funnel compatibility", + "create.ponder.andesite_funnel.scene_2.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.", + "create.ponder.andesite_funnel.scene_2.text_2": "UNLOCALIZED: Vertical Saws", + "create.ponder.andesite_funnel.scene_2.text_3": "UNLOCALIZED: Depots", + "create.ponder.andesite_funnel.scene_2.text_4": "UNLOCALIZED: Item Drains", + + "create.ponder.andesite_funnel.scene_3.header": "UNLOCALIZED: Redstone control", + "create.ponder.andesite_funnel.scene_3.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting.", + + "create.ponder.andesite_funnel.scene_4.header": "UNLOCALIZED: Direct transfer", + "create.ponder.andesite_funnel.scene_4.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.andesite_funnel.scene_4.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.andesite_funnel.scene_4.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", + + "create.ponder.andesite_funnel.scene_5.header": "UNLOCALIZED: The Brass Funnel", + "create.ponder.andesite_funnel.scene_5.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.", + "create.ponder.andesite_funnel.scene_5.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.", + "create.ponder.andesite_funnel.scene_5.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.", + "create.ponder.andesite_funnel.scene_5.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + + "create.ponder.gantry_carriage.scene_0.header": "UNLOCALIZED: Using Gantry Carriages", + "create.ponder.gantry_carriage.scene_0.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.scene_0.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.", + + "create.ponder.gantry_carriage.scene_1.header": "UNLOCALIZED: Gantry Power Propagation", + "create.ponder.gantry_carriage.scene_1.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_carriage.scene_1.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft", + + "create.ponder.gantry_carriage.scene_2.header": "UNLOCALIZED: Gantry Movement Direction", + "create.ponder.gantry_carriage.scene_2.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations", + "create.ponder.gantry_carriage.scene_2.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_carriage.scene_2.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft", + "create.ponder.gantry_carriage.scene_2.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation", + + "create.ponder.gantry_carriage.scene_3.header": "UNLOCALIZED: Cascaded Gantries", + "create.ponder.gantry_carriage.scene_3.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_carriage.scene_3.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_carriage.scene_3.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement", "_": "Thank you for translating Create!" diff --git a/src/generated/resources/assets/create/models/item/gantry_carriage.json b/src/generated/resources/assets/create/models/item/gantry_carriage.json new file mode 100644 index 000000000..7421b9883 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/gantry_carriage.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/gantry_carriage/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/gantry_pinion.json b/src/generated/resources/assets/create/models/item/gantry_pinion.json deleted file mode 100644 index 55924eb15..000000000 --- a/src/generated/resources/assets/create/models/item/gantry_pinion.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "create:block/gantry_pinion/item" -} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/gantry_pinion.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/gantry_carriage.json similarity index 81% rename from src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/gantry_pinion.json rename to src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/gantry_carriage.json index b0d383da3..736ef1b67 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/gantry_pinion.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/gantry_carriage.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "create:crafting/kinetics/gantry_pinion" + "create:crafting/kinetics/gantry_carriage" ] }, "criteria": { @@ -19,7 +19,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "create:crafting/kinetics/gantry_pinion" + "recipe": "create:crafting/kinetics/gantry_carriage" } } }, diff --git a/src/generated/resources/data/create/loot_tables/blocks/gantry_pinion.json b/src/generated/resources/data/create/loot_tables/blocks/gantry_carriage.json similarity index 86% rename from src/generated/resources/data/create/loot_tables/blocks/gantry_pinion.json rename to src/generated/resources/data/create/loot_tables/blocks/gantry_carriage.json index 9631215af..cf1d1630a 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/gantry_pinion.json +++ b/src/generated/resources/data/create/loot_tables/blocks/gantry_carriage.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "create:gantry_pinion" + "name": "create:gantry_carriage" } ], "conditions": [ diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_pinion.json b/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_carriage.json similarity index 89% rename from src/generated/resources/data/create/recipes/crafting/kinetics/gantry_pinion.json rename to src/generated/resources/data/create/recipes/crafting/kinetics/gantry_carriage.json index 9bb723b76..e4bccc262 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_pinion.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_carriage.json @@ -20,6 +20,6 @@ } }, "result": { - "item": "create:gantry_pinion" + "item": "create:gantry_carriage" } } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllBlockPartials.java b/src/main/java/com/simibubi/create/AllBlockPartials.java index 52641d2a9..4051fcbcc 100644 --- a/src/main/java/com/simibubi/create/AllBlockPartials.java +++ b/src/main/java/com/simibubi/create/AllBlockPartials.java @@ -77,7 +77,7 @@ public class AllBlockPartials { CUCKOO_RIGHT_DOOR = get("cuckoo_clock/right_door"), CUCKOO_PIG = get("cuckoo_clock/pig"), CUCKOO_CREEPER = get("cuckoo_clock/creeper"), - GANTRY_COGS = get("gantry_pinion/wheels"), + GANTRY_COGS = get("gantry_carriage/wheels"), ROPE_COIL = get("rope_pulley/rope_coil"), ROPE_HALF = get("rope_pulley/rope_half"), diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 9634be56c..27c66b628 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -54,7 +54,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock.ChassisCTBehaviour; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.RadialChassisBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionBlock; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageBlock; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock.MinecartAnchorBlock; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockItem; @@ -692,8 +692,8 @@ public class AllBlocks { .getName() + "/head")))) .register(); - public static final BlockEntry GANTRY_PINION = - REGISTRATE.block("gantry_pinion", GantryPinionBlock::new) + public static final BlockEntry GANTRY_CARRIAGE = + REGISTRATE.block("gantry_carriage", GantryCarriageBlock::new) .initialProperties(SharedProperties::stone) .properties(Block.Properties::nonOpaque) .blockstate(BlockStateGen.directionalAxisBlockProvider()) diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index 1abb73271..1e68f2012 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -51,8 +51,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionRenderer; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageRenderer; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonTileEntity; @@ -242,10 +242,10 @@ public class AllTileEntities { .onRegister(SingleRotatingInstance::register) .register(); - public static final TileEntityEntry GANTRY_PINION = Create.registrate() - .tileEntity("gantry_pinion", GantryPinionTileEntity::new) - .validBlocks(AllBlocks.GANTRY_PINION) - .renderer(() -> GantryPinionRenderer::new) + public static final TileEntityEntry GANTRY_PINION = Create.registrate() + .tileEntity("gantry_pinion", GantryCarriageTileEntity::new) + .validBlocks(AllBlocks.GANTRY_CARRIAGE) + .renderer(() -> GantryCarriageRenderer::new) .onRegister(ShaftInstance::register) .register(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java index e783d6436..4efa20fb9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java @@ -34,7 +34,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.AbstractChassisBlock; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionBlock; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageBlock; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueHandler; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock; @@ -291,7 +291,7 @@ public abstract class Contraption { if (AllBlocks.BELT.has(state)) moveBelt(pos, frontier, visited, state); - if (AllBlocks.GANTRY_PINION.has(state)) + if (AllBlocks.GANTRY_CARRIAGE.has(state)) moveGantryPinion(world, pos, frontier, visited, state); if (AllBlocks.GANTRY_SHAFT.has(state)) @@ -423,7 +423,7 @@ public abstract class Contraption { protected void moveGantryPinion(World world, BlockPos pos, Queue frontier, Set visited, BlockState state) { - BlockPos offset = pos.offset(state.get(GantryPinionBlock.FACING)); + BlockPos offset = pos.offset(state.get(GantryCarriageBlock.FACING)); if (!visited.contains(offset)) frontier.add(offset); Axis rotationAxis = ((IRotate) state.getBlock()).getRotationAxis(state); @@ -447,7 +447,7 @@ public abstract class Contraption { if (d.getAxis() == facing.getAxis() && AllBlocks.GANTRY_SHAFT.has(offsetState) && offsetState.get(GantryShaftBlock.FACING) == facing) frontier.add(offset); - else if (AllBlocks.GANTRY_PINION.has(offsetState) && offsetState.get(GantryPinionBlock.FACING) == d) + else if (AllBlocks.GANTRY_CARRIAGE.has(offsetState) && offsetState.get(GantryCarriageBlock.FACING) == d) frontier.add(offset); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java similarity index 91% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionBlock.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java index 85c41d0af..744c803fc 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageBlock.java @@ -24,9 +24,9 @@ import net.minecraft.world.IWorld; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; -public class GantryPinionBlock extends DirectionalAxisKineticBlock implements ITE { +public class GantryCarriageBlock extends DirectionalAxisKineticBlock implements ITE { - public GantryPinionBlock(Properties properties) { + public GantryCarriageBlock(Properties properties) { super(properties); } @@ -41,7 +41,7 @@ public class GantryPinionBlock extends DirectionalAxisKineticBlock implements IT @Override public void updateNeighbors(BlockState stateIn, IWorld worldIn, BlockPos pos, int flags) { super.updateNeighbors(stateIn, worldIn, pos, flags); - withTileEntityDo(worldIn, pos, GantryPinionTileEntity::checkValidGantryShaft); + withTileEntityDo(worldIn, pos, GantryCarriageTileEntity::checkValidGantryShaft); } @Override @@ -113,7 +113,7 @@ public class GantryPinionBlock extends DirectionalAxisKineticBlock implements IT } public static Axis getValidGantryShaftAxis(BlockState state) { - if (!(state.getBlock() instanceof GantryPinionBlock)) + if (!(state.getBlock() instanceof GantryCarriageBlock)) return Axis.Y; IRotate block = (IRotate) state.getBlock(); Axis rotationAxis = block.getRotationAxis(state); @@ -135,8 +135,8 @@ public class GantryPinionBlock extends DirectionalAxisKineticBlock implements IT } @Override - public Class getTileEntityClass() { - return GantryPinionTileEntity.class; + public Class getTileEntityClass() { + return GantryCarriageTileEntity.class; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageRenderer.java similarity index 90% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionRenderer.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageRenderer.java index 7772d70de..eb19867d5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageRenderer.java @@ -19,9 +19,9 @@ import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.math.BlockPos; -public class GantryPinionRenderer extends KineticTileEntityRenderer { +public class GantryCarriageRenderer extends KineticTileEntityRenderer { - public GantryPinionRenderer(TileEntityRendererDispatcher dispatcher) { + public GantryCarriageRenderer(TileEntityRendererDispatcher dispatcher) { super(dispatcher); } @@ -30,8 +30,8 @@ public class GantryPinionRenderer extends KineticTileEntityRenderer { int light, int overlay) { super.renderSafe(te, partialTicks, ms, buffer, light, overlay); BlockState state = te.getBlockState(); - Direction facing = state.get(GantryPinionBlock.FACING); - Boolean alongFirst = state.get(GantryPinionBlock.AXIS_ALONG_FIRST_COORDINATE); + Direction facing = state.get(GantryCarriageBlock.FACING); + Boolean alongFirst = state.get(GantryCarriageBlock.AXIS_ALONG_FIRST_COORDINATE); Axis rotationAxis = getRotationAxisOf(te); BlockPos visualPos = facing.getAxisDirection() == AxisDirection.POSITIVE ? te.getPos() : te.getPos() diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageTileEntity.java similarity index 91% rename from src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionTileEntity.java rename to src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageTileEntity.java index 582b7d749..a3d59c9fd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryPinionTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageTileEntity.java @@ -18,12 +18,12 @@ import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.math.BlockPos; -public class GantryPinionTileEntity extends KineticTileEntity implements IDisplayAssemblyExceptions { +public class GantryCarriageTileEntity extends KineticTileEntity implements IDisplayAssemblyExceptions { boolean assembleNextTick; protected AssemblyException lastException; - public GantryPinionTileEntity(TileEntityType typeIn) { + public GantryCarriageTileEntity(TileEntityType typeIn) { super(typeIn); } @@ -61,7 +61,7 @@ public class GantryPinionTileEntity extends KineticTileEntity implements IDispla private void tryAssemble() { BlockState blockState = getBlockState(); - if (!(blockState.getBlock() instanceof GantryPinionBlock)) + if (!(blockState.getBlock() instanceof GantryCarriageBlock)) return; Direction direction = blockState.get(FACING); @@ -129,9 +129,9 @@ public class GantryPinionTileEntity extends KineticTileEntity implements IDispla return defaultModifier; Direction direction = Direction.getFacingFromVector(diff.getX(), diff.getY(), diff.getZ()); - if (stateFrom.get(GantryPinionBlock.FACING) != direction.getOpposite()) + if (stateFrom.get(GantryCarriageBlock.FACING) != direction.getOpposite()) return defaultModifier; - return getGantryPinionModifier(stateTo.get(GantryShaftBlock.FACING), stateFrom.get(GantryPinionBlock.FACING)); + return getGantryPinionModifier(stateTo.get(GantryShaftBlock.FACING), stateFrom.get(GantryCarriageBlock.FACING)); } public static float getGantryPinionModifier(Direction shaft, Direction pinionDirection) { @@ -152,9 +152,9 @@ public class GantryPinionTileEntity extends KineticTileEntity implements IDispla private boolean shouldAssemble() { BlockState blockState = getBlockState(); - if (!(blockState.getBlock() instanceof GantryPinionBlock)) + if (!(blockState.getBlock() instanceof GantryCarriageBlock)) return false; - Direction facing = blockState.get(GantryPinionBlock.FACING) + Direction facing = blockState.get(GantryCarriageBlock.FACING) .getOpposite(); BlockState shaftState = world.getBlockState(pos.offset(facing)); if (!(shaftState.getBlock() instanceof GantryShaftBlock)) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraption.java index 0db74075e..df6366c73 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryContraption.java @@ -60,7 +60,7 @@ public class GantryContraption extends TranslatingContraption { @Override protected boolean shouldUpdateAfterMovement(BlockInfo info) { - return super.shouldUpdateAfterMovement(info) && !AllBlocks.GANTRY_PINION.has(info.state); + return super.shouldUpdateAfterMovement(info) && !AllBlocks.GANTRY_CARRIAGE.has(info.state); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/particle/RotationIndicatorParticle.java b/src/main/java/com/simibubi/create/content/contraptions/particle/RotationIndicatorParticle.java index 3e9b5633c..d17aa39b1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/particle/RotationIndicatorParticle.java +++ b/src/main/java/com/simibubi/create/content/contraptions/particle/RotationIndicatorParticle.java @@ -69,6 +69,8 @@ public class RotationIndicatorParticle extends SimpleAnimatedParticle { public void move(double x, double y, double z) { float time = AnimationTickHolder.getTicks(); float angle = (float) ((time * speed) % 360) - (speed / 2 * age * (((float) age) / maxAge)); + if (speed < 0) + angle += 180; Vec3d position = VecHelper.rotate(this.offset.scale(radius), angle, axis).add(origin); posX = position.x; posY = position.y; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftBlock.java index db9ae172b..645905b59 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftBlock.java @@ -259,6 +259,16 @@ public class GantryShaftBlock extends DirectionalKineticBlock { return super.areStatesKineticallyEquivalent(oldState, newState) && oldState.get(POWERED) == newState.get(POWERED); } + + @Override + public float getParticleTargetRadius() { + return .35f; + } + + @Override + public float getParticleInitialRadius() { + return .25f; + } public static class PlacementHelper extends PoleHelper { diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftTileEntity.java index 338123dc8..dbdeeb073 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/advanced/GantryShaftTileEntity.java @@ -2,8 +2,8 @@ package com.simibubi.create.content.contraptions.relays.advanced; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionBlock; -import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageBlock; +import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryCarriageTileEntity; import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.block.BlockState; @@ -31,13 +31,13 @@ public class GantryShaftTileEntity extends KineticTileEntity { continue; BlockPos offset = pos.offset(d); BlockState pinionState = world.getBlockState(offset); - if (!AllBlocks.GANTRY_PINION.has(pinionState)) + if (!AllBlocks.GANTRY_CARRIAGE.has(pinionState)) continue; - if (pinionState.get(GantryPinionBlock.FACING) != d) + if (pinionState.get(GantryCarriageBlock.FACING) != d) continue; TileEntity tileEntity = world.getTileEntity(offset); - if (tileEntity instanceof GantryPinionTileEntity) - ((GantryPinionTileEntity) tileEntity).queueAssembly(); + if (tileEntity instanceof GantryCarriageTileEntity) + ((GantryCarriageTileEntity) tileEntity).queueAssembly(); } } @@ -52,24 +52,24 @@ public class GantryShaftTileEntity extends KineticTileEntity { return defaultModifier; if (!stateFrom.get(GantryShaftBlock.POWERED)) return defaultModifier; - if (!AllBlocks.GANTRY_PINION.has(stateTo)) + if (!AllBlocks.GANTRY_CARRIAGE.has(stateTo)) return defaultModifier; Direction direction = Direction.getFacingFromVector(diff.getX(), diff.getY(), diff.getZ()); - if (stateTo.get(GantryPinionBlock.FACING) != direction) + if (stateTo.get(GantryCarriageBlock.FACING) != direction) return defaultModifier; - return GantryPinionTileEntity.getGantryPinionModifier(stateFrom.get(GantryShaftBlock.FACING), - stateTo.get(GantryPinionBlock.FACING)); + return GantryCarriageTileEntity.getGantryPinionModifier(stateFrom.get(GantryShaftBlock.FACING), + stateTo.get(GantryCarriageBlock.FACING)); } @Override public boolean isCustomConnection(KineticTileEntity other, BlockState state, BlockState otherState) { - if (!AllBlocks.GANTRY_PINION.has(otherState)) + if (!AllBlocks.GANTRY_CARRIAGE.has(otherState)) return false; final BlockPos diff = other.getPos() .subtract(pos); Direction direction = Direction.getFacingFromVector(diff.getX(), diff.getY(), diff.getZ()); - return otherState.get(GantryPinionBlock.FACING) == direction; + return otherState.get(GantryCarriageBlock.FACING) == direction; } public boolean canAssembleOn() { diff --git a/src/main/java/com/simibubi/create/foundation/data/AllLangPartials.java b/src/main/java/com/simibubi/create/foundation/data/AllLangPartials.java index eddac4b90..6c71f4d97 100644 --- a/src/main/java/com/simibubi/create/foundation/data/AllLangPartials.java +++ b/src/main/java/com/simibubi/create/foundation/data/AllLangPartials.java @@ -12,7 +12,7 @@ public enum AllLangPartials { ADVANCEMENTS("Advancements"), MESSAGES("UI & Messages"), TOOLTIPS("Item Descriptions"), - METADOC("MetaDoc Text", PonderRegistry::provideLangEntries), + PONDER("Ponder Content", PonderRegistry::provideLangEntries), ; diff --git a/src/main/java/com/simibubi/create/foundation/data/LangMerger.java b/src/main/java/com/simibubi/create/foundation/data/LangMerger.java index 9c9b9f9d9..f9a8a8049 100644 --- a/src/main/java/com/simibubi/create/foundation/data/LangMerger.java +++ b/src/main/java/com/simibubi/create/foundation/data/LangMerger.java @@ -23,6 +23,7 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.simibubi.create.Create; +import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.utility.FilesHelper; import net.minecraft.data.DataGenerator; @@ -44,12 +45,28 @@ public class LangMerger implements IDataProvider { private Map> allLocalizedEntries; private Map missingTranslationTally; + private List langIgnore; + public LangMerger(DataGenerator gen) { this.gen = gen; this.mergedLangData = new ArrayList<>(); + this.langIgnore = new ArrayList<>(); this.allLocalizedEntries = new HashMap<>(); this.populatedLangData = new HashMap<>(); this.missingTranslationTally = new HashMap<>(); + populateLangIgnore(); + } + + private void populateLangIgnore() { + // Key prefixes added here will NOT be transferred to lang templates + langIgnore.add("create.ponder.brass_hand."); // Ponder debug scene text + } + + private boolean shouldIgnore(String key) { + for (String string : langIgnore) + if (key.startsWith(string)) + return true; + return false; } @Override @@ -127,6 +144,8 @@ public class LangMerger implements IDataProvider { .stream() .forEachOrdered(entry -> { String key = entry.getKey(); + if (shouldIgnore(key)) + return; String value = entry.getValue() .getAsString(); if (!previousKey.getValue() @@ -157,9 +176,11 @@ public class LangMerger implements IDataProvider { } protected boolean shouldAddLineBreak(String key, String previousKey) { - // Always put tooltips in their own paragraphs + // Always put tooltips and ponder scenes in their own paragraphs if (key.endsWith(".tooltip")) return true; + if (key.startsWith("create.ponder") && key.endsWith(PonderScene.TITLE_KEY)) + return true; key = key.replaceFirst("\\.", ""); previousKey = previousKey.replaceFirst("\\.", ""); diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java index 0463ca346..e543fdc09 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java @@ -318,7 +318,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .patternLine("A") .patternLine("P")), - GANTRY_PINION = create(AllBlocks.GANTRY_PINION).unlockedBy(I::andesiteCasing) + GANTRY_PINION = create(AllBlocks.GANTRY_CARRIAGE).unlockedBy(I::andesiteCasing) .viaShaped(b -> b.key('B', ItemTags.PLANKS) .key('S', I.cog()) .key('C', I.andesiteCasing()) diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderLocalization.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderLocalization.java index 217137336..2c284cfe3 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderLocalization.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderLocalization.java @@ -32,7 +32,7 @@ public class PonderLocalization { public static String getShared(String key) { if (PonderIndex.EDITOR_MODE) - return shared.get(key); + return shared.containsKey(key) ? shared.get(key) : ("unregistered shared entry:" + key); return Lang.translate(langKeyForShared(key)); } @@ -62,13 +62,16 @@ public class PonderLocalization { for (int i = 0; i < map.size(); i++) { final int scene = i; Map sceneMap = map.get(i); - sceneMap.forEach( - (k, v) -> object.addProperty(Create.ID + "." + langKeyForSpecific(component, scene, k), v)); + sceneMap.entrySet() + .stream() + .sorted(Map.Entry.comparingByKey()) + .forEach(e -> object.addProperty(Create.ID + "." + langKeyForSpecific(component, scene, e.getKey()), + e.getValue())); } }); return object; } - + private static void addGeneral(JsonObject json, String key, String enUS) { json.addProperty(Create.ID + "." + key, enUS); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java index 02052a610..8806eac71 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java @@ -50,8 +50,11 @@ import net.minecraft.util.math.Vec3i; public class PonderScene { + public static final String TITLE_KEY = "header"; + boolean finished; int sceneIndex; + int textIndex; List schedule, activeSchedule; Map linkedElements; @@ -78,6 +81,7 @@ public class PonderScene { public PonderScene(PonderWorld world, ResourceLocation component, int sceneIndex) { pointOfInterest = Vec3d.ZERO; + textIndex = 1; this.world = world; this.component = component; @@ -94,7 +98,7 @@ public class PonderScene { baseWorldSection = new WorldSectionElement(); renderViewEntity = new ArmorStandEntity(world, 0, 0, 0); - PonderLocalization.registerSpecific(component, sceneIndex, "title", "Untitled Scene"); + PonderLocalization.registerSpecific(component, sceneIndex, TITLE_KEY, "Untitled Scene"); setPointOfInterest(new Vec3d(0, 4, 0)); } @@ -152,7 +156,7 @@ public class PonderScene { } public String getTitle() { - return getString("title"); + return getString(TITLE_KEY); } public String getString(String key) { @@ -320,6 +324,14 @@ public class PonderScene { return world == null ? new MutableBoundingBox() : world.getBounds(); } + public Supplier registerText(String defaultText) { + final String key = "text_" + textIndex; + PonderLocalization.registerSpecific(component, sceneIndex, key, defaultText); + Supplier supplier = () -> PonderLocalization.getSpecific(component, sceneIndex, key); + textIndex++; + return supplier; + } + public SceneBuilder builder() { return new SceneBuilder(this); } @@ -328,10 +340,6 @@ public class PonderScene { return new SceneBuildingUtil(getBounds()); } - Supplier textGetter(String key) { - return () -> PonderLocalization.getSpecific(component, sceneIndex, key); - } - public SceneTransform getTransform() { return transform; } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java index 4197cd7fd..609e79525 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java @@ -37,6 +37,8 @@ import net.minecraft.util.math.MutableBoundingBox; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.gen.feature.template.PlacementSettings; +import net.minecraft.world.gen.feature.template.Template; import net.minecraftforge.fml.client.gui.GuiUtils; import net.minecraftforge.registries.ForgeRegistries; @@ -171,8 +173,21 @@ public class PonderUI extends AbstractSimiScreen { protected void replay() { identifyMode = false; - scenes.get(index) - .begin(); + PonderScene scene = scenes.get(index); + + if (hasShiftDown()) { + List list = PonderRegistry.all.get(scene.component); + PonderStoryBoardEntry sb = list.get(index); + Template activeTemplate = PonderRegistry.loadSchematic(sb.getSchematicName()); + PonderWorld world = new PonderWorld(BlockPos.ZERO, Minecraft.getInstance().world); + activeTemplate.addBlocksToWorld(world, BlockPos.ZERO, new PlacementSettings()); + world.createBackup(); + scene = PonderRegistry.compileScene(scene.component, index, sb, world); + scene.begin(); + scenes.set(index, scene); + } + + scene.begin(); } protected boolean scroll(boolean forward) { diff --git a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java index 36a2b9e94..a2e165133 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java @@ -1,5 +1,6 @@ package com.simibubi.create.foundation.ponder; +import java.util.Optional; import java.util.UUID; import java.util.function.Consumer; import java.util.function.Function; @@ -8,6 +9,7 @@ import java.util.function.UnaryOperator; import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel; import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.base.KineticTileEntity; +import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueItem; import com.simibubi.create.content.contraptions.particle.RotationIndicatorParticleData; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity; @@ -17,6 +19,7 @@ import com.simibubi.create.foundation.ponder.elements.BeltItemElement; import com.simibubi.create.foundation.ponder.elements.EntityElement; import com.simibubi.create.foundation.ponder.elements.InputWindowElement; import com.simibubi.create.foundation.ponder.elements.ParrotElement; +import com.simibubi.create.foundation.ponder.elements.TextWindowElement; import com.simibubi.create.foundation.ponder.elements.WorldSectionElement; import com.simibubi.create.foundation.ponder.instructions.AnimateWorldSectionInstruction; import com.simibubi.create.foundation.ponder.instructions.ChaseAABBInstruction; @@ -47,6 +50,7 @@ import net.minecraft.entity.item.ItemEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.particles.RedstoneParticleData; +import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; @@ -108,7 +112,7 @@ public class SceneBuilder { * @param title */ public void title(String title) { - PonderLocalization.registerSpecific(scene.component, scene.sceneIndex, "title", title); + PonderLocalization.registerSpecific(scene.component, scene.sceneIndex, PonderScene.TITLE_KEY, title); } /** @@ -190,6 +194,10 @@ public class SceneBuilder { addInstruction(new EmitParticlesInstruction(location, emitter, amountPerCycle, cycles)); } + public void superGlue(BlockPos pos, Direction side, boolean fullBlock) { + addInstruction(scene -> SuperGlueItem.spawnParticles(scene.world, pos, side, fullBlock)); + } + private void rotationIndicator(BlockPos pos, boolean direction) { addInstruction(scene -> { BlockState blockState = scene.world.getBlockState(pos); @@ -205,12 +213,13 @@ public class SceneBuilder { Axis rotationAxis = kb.getRotationAxis(blockState); float speed = kte.getTheoreticalSpeed(); - int color = direction ? speed > 0 ? 0xeb5e0b : 0x1687a7 - : SpeedLevel.of(speed) - .getColor(); + SpeedLevel speedLevel = SpeedLevel.of(speed); + int color = direction ? speed > 0 ? 0xeb5e0b : 0x1687a7 : speedLevel.getColor(); + int particleSpeed = speedLevel.getParticleSpeed(); + particleSpeed *= Math.signum(speed); Vec3d location = VecHelper.getCenterOf(pos); - RotationIndicatorParticleData particleData = new RotationIndicatorParticleData(color, speed, + RotationIndicatorParticleData particleData = new RotationIndicatorParticleData(color, particleSpeed, kb.getParticleInitialRadius(), kb.getParticleTargetRadius(), 20, rotationAxis.name() .charAt(0)); @@ -245,37 +254,16 @@ public class SceneBuilder { public class OverlayInstructions { - public void showTargetedText(PonderPalette color, Vec3d position, String key, String defaultText, - int duration) { - registerText(key, defaultText); - addInstruction(new TextInstruction(color.getColor(), scene.textGetter(key), duration, position, false)); + public TextWindowElement.Builder showText(int duration) { + TextWindowElement textWindowElement = new TextWindowElement(); + addInstruction(new TextInstruction(textWindowElement, duration)); + return textWindowElement.new Builder(scene); } - public void showTargetedTextNearScene(PonderPalette color, Vec3d position, String key, String defaultText, - int duration) { - registerText(key, defaultText); - addInstruction(new TextInstruction(color.getColor(), scene.textGetter(key), duration, position, true)); - } - - public void showSelectionWithText(PonderPalette color, Selection selection, String key, String defaultText, - int duration) { - registerText(key, defaultText); - addInstruction(new TextInstruction(color.getColor(), scene.textGetter(key), duration, selection, false)); - } - - public void showSelectionWithTextNearScene(PonderPalette color, Selection selection, String key, - String defaultText, int duration) { - registerText(key, defaultText); - addInstruction(new TextInstruction(color.getColor(), scene.textGetter(key), duration, selection, true)); - } - - public void showText(PonderPalette color, int y, String key, String defaultText, int duration) { - registerText(key, defaultText); - addInstruction(new TextInstruction(color.getColor(), scene.textGetter(key), duration, y)); - } - - private void registerText(String key, String defaultText) { - PonderLocalization.registerSpecific(scene.component, scene.sceneIndex, key, defaultText); + public TextWindowElement.Builder showSelectionWithText(Selection selection, int duration) { + TextWindowElement textWindowElement = new TextWindowElement(); + addInstruction(new TextInstruction(textWindowElement, duration, selection)); + return textWindowElement.new Builder(scene).pointAt(selection.getCenter()); } public void showControls(InputWindowElement element, int duration) { @@ -326,12 +314,19 @@ public class SceneBuilder { public class WorldInstructions { public void showSection(Selection selection, Direction fadeInDirection) { - addInstruction(new DisplayWorldSectionInstruction(15, fadeInDirection, selection, true)); + addInstruction(new DisplayWorldSectionInstruction(15, fadeInDirection, selection, + Optional.of(scene::getBaseWorldSection))); + } + + public void showSectionAndMerge(Selection selection, Direction fadeInDirection, + ElementLink link) { + addInstruction(new DisplayWorldSectionInstruction(15, fadeInDirection, selection, + Optional.of(() -> scene.resolve(link)))); } public ElementLink showIndependentSection(Selection selection, Direction fadeInDirection) { DisplayWorldSectionInstruction instruction = - new DisplayWorldSectionInstruction(15, fadeInDirection, selection, false); + new DisplayWorldSectionInstruction(15, fadeInDirection, selection, Optional.empty()); addInstruction(instruction); return instruction.createLink(scene); } @@ -402,6 +397,16 @@ public class SceneBuilder { addInstruction(new ReplaceBlocksInstruction(selection, stateFunc, false, spawnParticles)); } + public void toggleRedstonePower(Selection selection) { + modifyBlocks(selection, s -> { + if (s.has(BlockStateProperties.POWER_0_15)) + s = s.with(BlockStateProperties.POWER_0_15, s.get(BlockStateProperties.POWER_0_15) == 0 ? 15 : 0); + if (s.has(BlockStateProperties.POWERED)) + s = s.cycle(BlockStateProperties.POWERED); + return s; + }, false); + } + public void modifyEntities(Class entityClass, Consumer entityCallBack) { addInstruction(scene -> scene.forEachWorldEntity(entityClass, entityCallBack)); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java index 7aaadea6f..714fde22f 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java @@ -1,7 +1,5 @@ package com.simibubi.create.foundation.ponder.content; -import static com.simibubi.create.foundation.ponder.content.PonderPalette.WHITE; - import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel; @@ -59,17 +57,23 @@ public class DebugScenes { scene.showBasePlate(); scene.idle(10); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); - + Selection xAxis = util.select.fromTo(2, 1, 1, 4, 1, 1); Selection yAxis = util.select.fromTo(1, 2, 1, 1, 4, 1); Selection zAxis = util.select.fromTo(1, 1, 2, 1, 1, 4); scene.idle(10); - scene.overlay.showSelectionWithText(PonderPalette.RED, xAxis, "x", "Das X axis", 20); + scene.overlay.showSelectionWithText(xAxis, 20) + .colored(PonderPalette.RED) + .text("Das X axis"); scene.idle(20); - scene.overlay.showSelectionWithText(PonderPalette.GREEN, yAxis, "y", "Das Y axis", 20); + scene.overlay.showSelectionWithText(yAxis, 20) + .colored(PonderPalette.GREEN) + .text("Das Y axis"); scene.idle(20); - scene.overlay.showSelectionWithText(PonderPalette.BLUE, zAxis, "z", "Das Z axis", 20); + scene.overlay.showSelectionWithText(zAxis, 20) + .colored(PonderPalette.BLUE) + .text("Das Z axis"); scene.idle(10); } @@ -79,7 +83,9 @@ public class DebugScenes { scene.idle(10); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); scene.idle(10); - scene.overlay.showText(WHITE, 10, "change_blocks", "Blocks can be modified", 1000); + scene.overlay.showText(1000) + .independent(10) + .text("Blocks can be modified"); scene.idle(20); scene.world.replaceBlocks(util.select.fromTo(1, 1, 3, 2, 2, 4), AllBlocks.REFINED_RADIANCE_CASING.getDefaultState(), true); @@ -96,7 +102,9 @@ public class DebugScenes { Vec3d parrotPos = util.vector.topOf(1, 0, 1); scene.special.birbLookingAtPOI(parrotPos); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); - scene.overlay.showTargetedText(WHITE, new Vec3d(1, 2.5, 4.5), "fluids", "Fluid rendering test.", 1000); + scene.overlay.showText(1000) + .text("Fluid rendering test.") + .pointAt(new Vec3d(1, 2.5, 4.5)); scene.markAsFinished(); Object outlineSlot = new Object(); @@ -120,7 +128,10 @@ public class DebugScenes { scene.idle(12); scene.special.movePointOfInterest(util.grid.at(-4, 5, 4)); - scene.overlay.showTargetedText(PonderPalette.RED, parrotPos.add(-.25f, 0.25f, .25f), "wut", "wut?", 40); + scene.overlay.showText(40) + .colored(PonderPalette.RED) + .text("wut?") + .pointAt(parrotPos.add(-.25f, 0.25f, .25f)); } @@ -139,10 +150,12 @@ public class DebugScenes { scene.world.showSection(blocksExceptBasePlate, Direction.DOWN); scene.idle(10); - scene.overlay.showSelectionWithText(PonderPalette.BLACK, out1, "outofbounds", - "Blocks outside of the base plate do not affect scaling", 100); - scene.overlay.showSelectionWithText(PonderPalette.BLACK, out2, "thanks_to_configureBasePlate", - "configureBasePlate() makes sure of that.", 100); + scene.overlay.showSelectionWithText(out1, 100) + .colored(PonderPalette.BLACK) + .text("Blocks outside of the base plate do not affect scaling"); + scene.overlay.showSelectionWithText(out2, 100) + .colored(PonderPalette.BLACK) + .text("configureBasePlate() makes sure of that."); scene.markAsFinished(); } @@ -159,7 +172,9 @@ public class DebugScenes { Emitter.simple(new RotationIndicatorParticleData(SpeedLevel.MEDIUM.getColor(), 12, 1, 1, 20, 'Y'), util.vector.of(0, .1, 0)); - scene.overlay.showTargetedText(WHITE, emitterPos, "incoming", "Incoming...", 20); + scene.overlay.showText(20) + .text("Incoming...") + .pointAt(emitterPos); scene.idle(30); scene.effects.emitParticles(emitterPos, emitter, 1, 60); scene.effects.emitParticles(emitterPos, rotation, 20, 1); @@ -261,8 +276,10 @@ public class DebugScenes { BlockPos pos = new BlockPos(1, 2, 3); scene.special.birbOnSpinnyShaft(pos); - scene.overlay.showTargetedText(PonderPalette.GREEN, util.vector.topOf(pos), "birbs_interesting", - "More birbs = More interesting", 100); + scene.overlay.showText(100) + .colored(PonderPalette.GREEN) + .text("More birbs = More interesting") + .pointAt(util.vector.topOf(pos)); scene.idle(10); scene.special.birbPartying(util.vector.topOf(0, 1, 2)); @@ -281,7 +298,9 @@ public class DebugScenes { scene.world.setBlock(poi2, Blocks.GOLD_BLOCK.getDefaultState()); scene.special.movePointOfInterest(poi2); - scene.overlay.showTargetedText(PonderPalette.FAST, util.vector.centerOf(poi2), "poi", "Point of Interest", 20); + scene.overlay.showText(20) + .text("Point of Interest") + .pointAt(util.vector.centerOf(poi2)); scene.idle(20); scene.world.setBlock(poi1, Blocks.AIR.getDefaultState()); @@ -314,11 +333,15 @@ public class DebugScenes { scene.idle(20); - scene.overlay.showTargetedText(PonderPalette.GREEN, util.vector.topOf(mergePos), "merged", - "This Section got merged to base.", 40); + scene.overlay.showText(40) + .colored(PonderPalette.GREEN) + .text("This Section got merged to base.") + .pointAt(util.vector.topOf(mergePos)); scene.idle(10); - scene.overlay.showTargetedText(PonderPalette.RED, util.vector.topOf(independentPos), "independent", - "This Section renders independently.", 40); + scene.overlay.showText(40) + .colored(PonderPalette.RED) + .text("This Section renders independently.") + .pointAt(util.vector.topOf(independentPos)); scene.idle(40); @@ -336,15 +359,19 @@ public class DebugScenes { scene.world.setBlocks(hiddenReplaceArea, AllBlocks.REFINED_RADIANCE_CASING.getDefaultState(), false); scene.world.showSection(hiddenReplaceArea, Direction.DOWN); scene.idle(20); - scene.overlay.showSelectionWithText(PonderPalette.BLUE, hiddenReplaceArea, "seamless", - "Seamless substitution of blocks", 30); + scene.overlay.showSelectionWithText(hiddenReplaceArea, 30) + .colored(PonderPalette.BLUE) + .text("Seamless substitution of blocks"); scene.idle(40); ElementLink helicopter = scene.world.makeSectionIndependent(hiddenReplaceArea); scene.world.rotateSection(helicopter, 50, 5 * 360, 0, 60); scene.world.moveSection(helicopter, util.vector.of(0, 4, 5), 50); - scene.overlay.showText(PonderPalette.BLUE, 30, "blast_off", "Up, up and away.", 30); + scene.overlay.showText(30) + .colored(PonderPalette.BLUE) + .text("Up, up and away.") + .independent(30); scene.idle(40); scene.world.hideIndependentSection(helicopter, Direction.UP); @@ -373,8 +400,10 @@ public class DebugScenes { scene.idle(10); scene.world.stallBeltItem(itemOnBelt, true); scene.idle(5); - scene.overlay.showTargetedText(PonderPalette.FAST, util.vector.topOf(2, 1, 2), "stalling", - "Belt Items can only be force-stalled on the belt they were created on.", 40); + scene.overlay.showText(40) + .colored(PonderPalette.FAST) + .text("Belt Items can only be force-stalled on the belt they were created on.") + .pointAt(util.vector.topOf(2, 1, 2)); scene.idle(45); scene.world.stallBeltItem(itemOnBelt, false); scene.idle(20); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java index 1ca756fda..eeb6c80c7 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/FunnelScenes.java @@ -99,8 +99,9 @@ public class FunnelScenes { } scene.idle(8); - scene.overlay.showText(PonderPalette.WHITE, 0, "funnels_transfer", - "Funnels are ideal for transferring items from and to inventories.", 360); + scene.overlay.showText(360) + .text("Funnels are ideal for transferring items from and to inventories.") + .independent(); scene.markAsFinished(); } @@ -128,8 +129,10 @@ public class FunnelScenes { // Placing funnels without sneak scene.world.showSection(topFunnelSelection, Direction.DOWN); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, topCenter, "regular_place", - "Placed normally, it pulls items from the inventory.", 80); + scene.overlay.showText(80) + .text("Placed normally, it pulls items from the inventory.") + .pointAt(topCenter) + .placeNearTarget(); scene.idle(45); ElementLink itemLink = @@ -146,8 +149,10 @@ public class FunnelScenes { scene.world.showSection(topFunnelSelection, Direction.DOWN); scene.overlay.showControls(controlsSneak, 35); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, topCenter, "sneak_place", - "Placed while sneaking, it puts items into the inventory.", 80); + scene.overlay.showText(80) + .text("Placed while sneaking, it puts items into the inventory.") + .pointAt(topCenter) + .placeNearTarget(); scene.idle(45); itemLink = scene.world.createItemEntity(topCenter.add(0, 3, 0), util.vector.of(0, -0.2, 0), itemStack); @@ -163,8 +168,10 @@ public class FunnelScenes { scene.idle(10); scene.world.modifyBlock(topFunnel, s -> s.cycle(FunnelBlock.EXTRACTING), true); scene.idle(10); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, topCenter, "wrench_reverse", - "Using a wrench, the funnel can be flipped after placement.", 80); + scene.overlay.showText(80) + .text("Using a wrench, the funnel can be flipped after placement.") + .pointAt(topCenter) + .placeNearTarget(); itemLink = scene.world.createItemEntity(topCenter, util.vector.of(0, 4 / 16f, 0), itemStack); scene.idle(30); @@ -184,8 +191,10 @@ public class FunnelScenes { scene.world.modifyBlock(sideFunnel, s -> s.cycle(FunnelBlock.EXTRACTING), false); scene.world.showSection(sideFunnelSelection, Direction.DOWN); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, sideCenter, "same_for_other", - "Same rules will apply for most orientations.", 70); + scene.overlay.showText(70) + .text("Same rules will apply for most orientations.") + .pointAt(sideCenter) + .placeNearTarget(); scene.idle(20); @@ -206,8 +215,10 @@ public class FunnelScenes { BlockPos cogPos = util.grid.at(1, 1, 3); scene.world.showSection(beltFunnelSetup, Direction.DOWN); - scene.overlay.showTargetedText(PonderPalette.WHITE, topOfBeltFunnel, "belt_funnel_direction", - "Funnels on belts will extract/insert depending on its movement direction.", 140); + scene.overlay.showText(140) + .text("Funnels on belts will extract/insert depending on its movement direction.") + .pointAt(topOfBeltFunnel); + scene.idle(15); for (int i = 0; i < 2; i++) { @@ -251,27 +262,37 @@ public class FunnelScenes { scene.world.showSection(firstShow, Direction.DOWN); scene.idle(8); - scene.overlay.showText(PonderPalette.WHITE, 0, "funnels_compat", - "Funnels should also interact nicely with a handful of other components.", 360); + scene.overlay.showText(360) + .text("Funnels should also interact nicely with a handful of other components.") + .independent(0); scene.idle(40); scene.world.showSection(util.select.position(sawFunnel), Direction.DOWN); - scene.overlay.showTargetedTextNearScene(PonderPalette.BLUE, util.vector.centerOf(sawFunnel.down()), "saws", - "Vertical Saws", 40); + scene.overlay.showText(40) + .text("Vertical Saws") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector.centerOf(sawFunnel.down())); scene.idle(8); scene.world.createItemOnBeltLike(sawFunnel.down(), Direction.SOUTH, new ItemStack(Blocks.OAK_LOG)); scene.idle(40); scene.world.showSection(util.select.position(depotFunnel), Direction.DOWN); - scene.overlay.showTargetedTextNearScene(PonderPalette.BLUE, util.vector.centerOf(depotFunnel.down()), "depots", - "Depots", 40); + scene.overlay.showText(40) + .text("Depots") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector.centerOf(depotFunnel.down())); scene.idle(8); scene.world.createItemOnBeltLike(depotFunnel.down(), Direction.SOUTH, new ItemStack(Items.GOLDEN_PICKAXE)); scene.idle(40); scene.world.showSection(util.select.position(drainFunnel), Direction.DOWN); - scene.overlay.showTargetedTextNearScene(PonderPalette.BLUE, util.vector.centerOf(drainFunnel.down()), "drains", - "Item Drains", 40); + scene.overlay.showText(40) + .text("Item Drains") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector.centerOf(drainFunnel.down())); scene.idle(8); scene.world.createItemOnBeltLike(drainFunnel.down(), Direction.SOUTH, new ItemStack(Items.WATER_BUCKET)); scene.idle(40); @@ -310,8 +331,10 @@ public class FunnelScenes { scene.effects.indicateRedstone(lever); scene.idle(4); scene.overlay.chaseBoundingBoxOutline(PonderPalette.RED, funnel, redstoneBB, 80); - scene.overlay.showTargetedText(PonderPalette.RED, util.vector.blockSurface(funnel, Direction.DOWN), - "redstone_prevents", "Redstone power will prevent any funnel from acting.", 80); + scene.overlay.showText(80) + .colored(PonderPalette.RED) + .text("Redstone power will prevent any funnel from acting.") + .pointAt(util.vector.blockSurface(funnel, Direction.DOWN)); } else { scene.idle(4); } @@ -344,16 +367,20 @@ public class FunnelScenes { ItemStack itemStack = AllItems.BRASS_INGOT.asStack(); scene.idle(10); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, util.vector.topOf(andesiteFunnel), "andesite", - "Andesite Funnels can only ever extract single items.", 60); + scene.overlay.showText(60) + .text("Andesite Funnels can only ever extract single items.") + .pointAt(util.vector.topOf(andesiteFunnel)) + .placeNearTarget(); scene.idle(10); scene.world.createItemOnBeltLike(andesiteFunnel.down() .north(), Direction.SOUTH, itemStack); scene.world.flapFunnels(util.select.position(andesiteFunnel), true); scene.idle(60); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, util.vector.topOf(brassFunnel), "brass", - "Brass Funnels can extract up to a full stack.", 60); + scene.overlay.showText(60) + .text("Brass Funnels can extract up to a full stack.") + .pointAt(util.vector.topOf(brassFunnel)) + .placeNearTarget(); scene.idle(10); scene.world.createItemOnBeltLike(brassFunnel.down() .north(), Direction.SOUTH, ItemHandlerHelper.copyStackWithSize(itemStack, 64)); @@ -365,8 +392,10 @@ public class FunnelScenes { scene.overlay.chaseBoundingBoxOutline(PonderPalette.WHITE, filterSlot, filterSlot, 80); scene.overlay.showControls(new InputWindowElement(util.vector.topOf(brassFunnel), Pointing.DOWN).scroll(), 60); scene.idle(10); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, filterSlot.getCenter(), "scroll_filter", - "Scrolling on the filter slot allows for precise control over the extracted stack size.", 80); + scene.overlay.showText(80) + .text("Scrolling on the filter slot allows for precise control over the extracted stack size.") + .pointAt(filterSlot.getCenter()) + .placeNearTarget(); scene.idle(90); // belt @@ -406,8 +435,10 @@ public class FunnelScenes { .showControls(new InputWindowElement(util.vector.topOf(brassFunnel), Pointing.DOWN).rightClick() .withItem(emerald), 60); scene.idle(10); - scene.overlay.showTargetedTextNearScene(PonderPalette.WHITE, filterSlot.getCenter(), "item_filter", - "Using items on the filter slot will restrict the funnel to only transfer matching stacks.", 80); + scene.overlay.showText(80) + .text("Using items on the filter slot will restrict the funnel to only transfer matching stacks.") + .pointAt(filterSlot.getCenter()) + .placeNearTarget(); scene.world.setFilterData(util.select.position(brassFunnel), FunnelTileEntity.class, emerald); } else scene.idle(10); @@ -437,8 +468,10 @@ public class FunnelScenes { scene.world.showSection(funnelSelect, Direction.DOWN); scene.idle(20); - scene.overlay.showSelectionWithTextNearScene(PonderPalette.RED, funnelSelect, "cant_transpose", - "Funnels cannot ever transfer between closed inventories directly.", 40); + scene.overlay.showSelectionWithText(funnelSelect, 40) + .colored(PonderPalette.RED) + .text("Funnels cannot ever transfer between closed inventories directly.") + .placeNearTarget(); scene.idle(50); scene.world.hideSection(funnelSelect, Direction.SOUTH); @@ -448,8 +481,11 @@ public class FunnelScenes { scene.world.showSection(funnelSelect, Direction.NORTH); scene.idle(10); - scene.overlay.showTargetedTextNearScene(PonderPalette.GREEN, util.vector.centerOf(funnelPos), "chute_is_better", - "Chutes or Smart chutes might be more suitable for such purposes.", 40); + scene.overlay.showText(40) + .colored(PonderPalette.GREEN) + .text("Chutes or Smart chutes might be more suitable for such purposes.") + .pointAt(util.vector.centerOf(funnelPos)) + .placeNearTarget(); scene.idle(50); scene.world.hideSection(funnelSelect, Direction.UP); @@ -461,8 +497,11 @@ public class FunnelScenes { scene.world.setBlocks(funnelSelect, Blocks.AIR.getDefaultState(), false); scene.world.showSection(belt, Direction.DOWN); scene.world.showSection(util.select.fromTo(0, 2, 2, 4, 2, 2), Direction.DOWN); - scene.overlay.showTargetedTextNearScene(PonderPalette.GREEN, util.vector.topOf(1, 2, 2), "belt_is_better", - "Same applies for horizontal movement.\nA mechanical belt should help here.", 120); + scene.overlay.showText(120) + .colored(PonderPalette.GREEN) + .text("Same applies for horizontal movement.\nA mechanical belt should help here.") + .pointAt(util.vector.topOf(1, 2, 2)) + .placeNearTarget(); scene.markAsFinished(); } 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 new file mode 100644 index 000000000..4616347a5 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/GantryScenes.java @@ -0,0 +1,292 @@ +package com.simibubi.create.foundation.ponder.content; + +import com.simibubi.create.foundation.ponder.ElementLink; +import com.simibubi.create.foundation.ponder.SceneBuilder; +import com.simibubi.create.foundation.ponder.SceneBuildingUtil; +import com.simibubi.create.foundation.ponder.Selection; +import com.simibubi.create.foundation.ponder.elements.WorldSectionElement; +import com.simibubi.create.foundation.utility.Iterate; + +import net.minecraft.block.RedstoneWireBlock; +import net.minecraft.state.properties.BlockStateProperties; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Vec3d; + +public class GantryScenes { + + public static void introForPinion(SceneBuilder scene, SceneBuildingUtil util) { + intro(scene, util, true); + } + + public static void introForShaft(SceneBuilder scene, SceneBuildingUtil util) { + intro(scene, util, false); + } + + private static void intro(SceneBuilder scene, SceneBuildingUtil util, boolean pinion) { + scene.title("Using Gantry " + (pinion ? "Carriages" : "Shafts")); + scene.world.modifyKineticSpeed(util.select.everywhere(), f -> -2 * f); + scene.configureBasePlate(0, 0, 5); + scene.world.showSection(util.select.layer(0), Direction.UP); + scene.idle(10); + scene.world.showSection(util.select.layer(1), Direction.DOWN); + scene.idle(10); + ElementLink gantry = + scene.world.showIndependentSection(util.select.layer(2), Direction.DOWN); + scene.idle(10); + + BlockPos centralShaft = util.grid.at(2, 1, 2); + + scene.world.moveSection(gantry, util.vector.of(-4, 0, 0), 60); + + String text = pinion ? "Gantry Carriages can mount to and slide along a Gantry Shaft." + : "Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them."; + + scene.overlay.showText(80) + .text(text) + .pointAt(util.vector.centerOf(centralShaft)); + scene.idle(80); + + scene.world.hideIndependentSection(gantry, Direction.UP); + scene.idle(10); + gantry = scene.world.showIndependentSection(util.select.layer(2), Direction.DOWN); + Vec3d gantryTop = util.vector.topOf(4, 2, 2); + scene.world.modifyKineticSpeed(util.select.everywhere(), f -> 0f); + scene.overlay.showText(40) + .text("Gantry setups can move attached Blocks.") + .pointAt(gantryTop) + .placeNearTarget(); + scene.idle(30); + + Selection planks = util.select.position(5, 3, 1); + + scene.world.showSectionAndMerge(util.select.layersFrom(3) + .substract(planks), Direction.DOWN, gantry); + 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(20); + scene.overlay.showText(80) + .sharedText("movement_anchors") + .pointAt(gantryTop) + .placeNearTarget(); + scene.idle(80); + + scene.world.modifyKineticSpeed(util.select.layer(0), f -> 32f); + scene.world.modifyKineticSpeed(util.select.layer(1), f -> -64f); + + scene.world.moveSection(gantry, util.vector.of(-4, 0, 0), 60); + scene.idle(20); + scene.markAsFinished(); + } + + public static void redstone(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("Gantry Power Propagation"); + scene.world.modifyKineticSpeed(util.select.everywhere(), f -> -f); + + Selection leverRedstone = util.select.fromTo(3, 1, 0, 3, 1, 1); + Selection shaft = util.select.fromTo(0, 1, 2, 4, 1, 2); + Selection shaftAndCog = util.select.fromTo(0, 1, 2, 5, 1, 2); + + scene.configureBasePlate(0, 0, 5); + scene.world.showSection(util.select.layer(0) + .add(leverRedstone), Direction.UP); + + scene.idle(10); + scene.world.showSection(shaftAndCog, Direction.DOWN); + scene.idle(10); + + BlockPos gantryPos = util.grid.at(4, 2, 2); + ElementLink gantry = + scene.world.showIndependentSection(util.select.position(gantryPos), Direction.DOWN); + scene.idle(15); + scene.world.moveSection(gantry, util.vector.of(-3, 0, 0), 40); + scene.idle(40); + + scene.world.toggleRedstonePower(shaft); + scene.world.toggleRedstonePower(util.select.position(3, 1, 0)); + scene.world.toggleRedstonePower(util.select.position(3, 1, 1)); + scene.effects.indicateRedstone(util.grid.at(3, 1, 0)); + scene.world.modifyKineticSpeed(util.select.position(gantryPos), f -> 32f); + scene.idle(40); + + BlockPos cogPos = util.grid.at(1, 2, 1); + scene.overlay.showText(60) + .colored(PonderPalette.RED) + .pointAt(util.vector.centerOf(cogPos.down() + .south())) + .text("Redstone-powered gantry shafts stop moving their carriages") + .placeNearTarget(); + scene.idle(70); + + Selection cogSelection = util.select.position(cogPos); + scene.world.showSection(cogSelection, Direction.SOUTH); + scene.world.modifyKineticSpeed(cogSelection, f -> 32f); + scene.overlay.showText(180) + .colored(PonderPalette.GREEN) + .pointAt(util.vector.blockSurface(cogPos, Direction.NORTH)) + .text("Instead, its rotational force is relayed to the carriages' output shaft") + .placeNearTarget(); + scene.idle(10); + + scene.effects.rotationSpeedIndicator(cogPos); + scene.markAsFinished(); + } + + public static void direction(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("Gantry Movement Direction"); + scene.configureBasePlate(0, 0, 5); + scene.world.modifyKineticSpeed(util.select.everywhere(), f -> -f); + scene.world.showSection(util.select.layer(0), Direction.UP); + scene.idle(10); + + Selection shaftAndGearshiftAndLever = util.select.fromTo(0, 1, 2, 5, 2, 2); + Selection shafts = util.select.fromTo(0, 1, 2, 3, 1, 2); + + scene.world.showSection(shaftAndGearshiftAndLever, Direction.DOWN); + scene.overlay.showText(60) + .text("Gantry Shafts can have opposite orientations") + .pointAt(util.vector.of(2, 1.5, 2.5)) + .placeNearTarget(); + scene.idle(60); + + ElementLink gantry1 = + scene.world.showIndependentSection(util.select.position(0, 1, 3), Direction.NORTH); + ElementLink gantry2 = + scene.world.showIndependentSection(util.select.position(3, 1, 3), Direction.NORTH); + scene.idle(10); + + scene.world.moveSection(gantry1, util.vector.of(1, 0, 0), 20); + scene.world.moveSection(gantry2, util.vector.of(-1, 0, 0), 20); + + scene.overlay.showText(80) + .text("The movement direction of carriages depend on their shafts' orientation") + .pointAt(util.vector.topOf(1, 1, 3)) + .placeNearTarget(); + scene.idle(80); + + BlockPos lastShaft = util.grid.at(0, 1, 2); + boolean flip = true; + + for (int i = 0; i < 3; i++) { + scene.world.modifyBlocks(util.select.fromTo(4, 1, 2, 4, 2, 2), s -> s.cycle(BlockStateProperties.POWERED), + false); + scene.effects.indicateRedstone(util.grid.at(4, 2, 2)); + scene.world.moveSection(gantry1, util.vector.of(flip ? -1 : 1, 0, 0), 20); + scene.world.moveSection(gantry2, util.vector.of(flip ? 1 : -1, 0, 0), 20); + scene.world.modifyKineticSpeed(shafts, f -> -f); + scene.effects.rotationDirectionIndicator(lastShaft.east(flip ? 1 : 0)); + scene.idle(20); + + if (i == 0) { + scene.overlay.showText(80) + .text("...as well as the rotation direction of the shaft") + .pointAt(util.vector.blockSurface(lastShaft, Direction.WEST)) + .placeNearTarget(); + } + + scene.idle(30); + flip = !flip; + } + + Selection kinetics = util.select.fromTo(0, 2, 3, 3, 3, 3); + Selection gears1 = util.select.fromTo(0, 1, 3, 0, 3, 3); + Selection gears2 = util.select.fromTo(3, 1, 3, 3, 3, 3); + + scene.world.showSection(kinetics, Direction.DOWN); + scene.world.showSection(util.select.fromTo(0, 1, 0, 4, 1, 1), Direction.SOUTH); + scene.idle(20); + + BlockPos leverPos = util.grid.at(4, 1, 0); + scene.world.modifyBlocks(util.select.fromTo(1, 1, 0, 3, 1, 1), + s -> s.has(RedstoneWireBlock.POWER) ? s.with(RedstoneWireBlock.POWER, 15) : s, false); + scene.world.toggleRedstonePower(util.select.position(leverPos)); + scene.world.toggleRedstonePower(shafts); + scene.effects.indicateRedstone(leverPos); + scene.world.modifyKineticSpeed(gears1, f -> -32f); + scene.world.modifyKineticSpeed(gears2, f -> 32f); + + scene.idle(20); + scene.overlay.showText(120) + .text("Same rules apply for the propagated rotation") + .pointAt(util.vector.topOf(0, 3, 3)) + .placeNearTarget(); + scene.idle(20); + + for (boolean flip2 : Iterate.trueAndFalse) { + scene.effects.rotationDirectionIndicator(util.grid.at(0, 3, 3)); + scene.effects.rotationDirectionIndicator(util.grid.at(3, 3, 3)); + + scene.idle(60); + scene.world.modifyBlocks(util.select.fromTo(4, 1, 2, 4, 2, 2), s -> s.cycle(BlockStateProperties.POWERED), + false); + scene.effects.indicateRedstone(util.grid.at(4, 2, 2)); + scene.world.modifyKineticSpeed(gears1, f -> -f); + scene.world.modifyKineticSpeed(gears2, f -> -f); + + if (!flip2) { + scene.effects.rotationDirectionIndicator(util.grid.at(0, 3, 3)); + scene.effects.rotationDirectionIndicator(util.grid.at(3, 3, 3)); + scene.markAsFinished(); + } + } + + } + + public static void subgantry(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("Cascaded Gantries"); + scene.configureBasePlate(0, 0, 5); + scene.world.modifyKineticSpeed(util.select.everywhere(), f -> -2 * f); + scene.world.showSection(util.select.layer(0) + .add(util.select.column(5, 3)) + .add(util.select.fromTo(2, 1, 3, 4, 1, 3)), Direction.UP); + scene.idle(10); + + BlockPos gantryPos = util.grid.at(5, 1, 2); + BlockPos gantryPos2 = util.grid.at(3, 2, 2); + ElementLink gantry = + scene.world.showIndependentSection(util.select.position(gantryPos), Direction.SOUTH); + scene.idle(5); + + scene.world.showSectionAndMerge(util.select.fromTo(0, 1, 2, 4, 1, 2), Direction.EAST, gantry); + scene.idle(15); + + scene.world.moveSection(gantry, util.vector.of(0, 2, 0), 40); + scene.overlay.showText(60) + .text("Gantry shafts attach to a carriage without the need of super glue") + .independent(20); + scene.idle(40); + + scene.world.modifyKineticSpeed(util.select.everywhere(), f -> -f); + scene.world.moveSection(gantry, util.vector.of(0, -2, 0), 40); + scene.idle(40); + + ElementLink secondGantry = + scene.world.showIndependentSection(util.select.position(gantryPos2), Direction.DOWN); + scene.idle(15); + scene.overlay.showText(60) + .text("Same applies for carriages on moved Gantry Shafts") + .independent(20); + scene.idle(15); + + scene.world.moveSection(gantry, util.vector.of(0, 2, 0), 40); + scene.world.moveSection(secondGantry, util.vector.of(0, 2, 0), 40); + + scene.idle(40); + BlockPos leverPos = util.grid.at(2, 1, 3); + scene.world.toggleRedstonePower(util.select.position(leverPos)); + scene.world.toggleRedstonePower(util.select.fromTo(3, 1, 3, 4, 1, 3)); + scene.world.toggleRedstonePower(util.select.fromTo(5, 1, 3, 5, 4, 3)); + scene.world.modifyKineticSpeed(util.select.fromTo(0, 1, 2, 5, 1, 2), f -> -32f); + scene.effects.indicateRedstone(leverPos); + scene.world.moveSection(secondGantry, util.vector.of(-3, 0, 0), 60); + + scene.idle(20); + scene.overlay.showText(120) + .text("Thus, a gantry system can be cascaded to cover multiple axes of movement") + .independent(20); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java index d186e6a4e..97351eb01 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/KineticsScenes.java @@ -1,7 +1,5 @@ package com.simibubi.create.foundation.ponder.content; -import static com.simibubi.create.foundation.ponder.content.PonderPalette.WHITE; - import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; import com.simibubi.create.foundation.ponder.SceneBuilder; @@ -52,8 +50,9 @@ public class KineticsScenes { scene.world.setKineticSpeed(gauge, 64); scene.effects.indicateSuccess(gaugePos); scene.idle(10); - scene.overlay.showTargetedText(WHITE, util.vector.of(3, 1.5, 2.5), "shaft_relay", - "Shafts will relay rotation in a straight line.", 1000); + scene.overlay.showText(1000) + .text("Shafts will relay rotation in a straight line.") + .pointAt(util.vector.of(3, 1.5, 2.5)); scene.idle(20); scene.markAsFinished(); @@ -92,8 +91,9 @@ public class KineticsScenes { scene.world.setKineticSpeed(shaft, -112); scene.idle(10); - scene.overlay.showTargetedText(WHITE, util.vector.of(1.5, 2, 2.5), "shaft_can_be_encased", - "Andesite or Brass Casing can be used to encase them.", 1000); + scene.overlay.showText(1000) + .text("Andesite or Brass Casing can be used to encase them.") + .pointAt(util.vector.topOf(1, 1, 2)); } } 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 1dd3ee9a0..f635b1e40 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 @@ -25,6 +25,14 @@ public class PonderIndex { .addStoryBoard("funnels/redstone", FunnelScenes::redstone) .addStoryBoard("funnels/transposer", FunnelScenes::transposer); PonderRegistry.addStoryBoard(AllBlocks.ANDESITE_FUNNEL, "funnels/brass", FunnelScenes::brass); + + // Gantries + PonderRegistry.addStoryBoard(AllBlocks.GANTRY_SHAFT, "gantry/intro", GantryScenes::introForShaft); + PonderRegistry.addStoryBoard(AllBlocks.GANTRY_CARRIAGE, "gantry/intro", GantryScenes::introForPinion); + PonderRegistry.forComponents(AllBlocks.GANTRY_SHAFT, AllBlocks.GANTRY_CARRIAGE) + .addStoryBoard("gantry/redstone", GantryScenes::redstone) + .addStoryBoard("gantry/direction", GantryScenes::direction) + .addStoryBoard("gantry/subgantry", GantryScenes::subgantry); // Debug scenes, can be found in game via the Brass Hand if (EDITOR_MODE) 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 84b615ad1..ed37b8ea6 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 @@ -9,6 +9,8 @@ public class SharedText { add("sneak_and", "Sneak +"); add("ctrl_and", "Ctrl +"); + + add("movement_anchors", "With the help of Chassis or Super Glue, larger structures can be moved."); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/elements/OutlinerElement.java b/src/main/java/com/simibubi/create/foundation/ponder/elements/OutlinerElement.java index 087190cf8..44773221a 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/elements/OutlinerElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/elements/OutlinerElement.java @@ -1,16 +1,19 @@ package com.simibubi.create.foundation.ponder.elements; -import java.util.function.Consumer; +import java.util.function.Function; import com.simibubi.create.foundation.ponder.PonderScene; +import com.simibubi.create.foundation.utility.outliner.Outline.OutlineParams; import com.simibubi.create.foundation.utility.outliner.Outliner; public class OutlinerElement extends AnimatedSceneElement { - private Consumer outlinerCall; + private Function outlinerCall; + private int overrideColor; - public OutlinerElement(Consumer outlinerCall) { + public OutlinerElement(Function outlinerCall) { this.outlinerCall = outlinerCall; + this.overrideColor = -1; } @Override @@ -20,7 +23,13 @@ public class OutlinerElement extends AnimatedSceneElement { return; if (fade.getValue(0) > fade.getValue(1)) return; - outlinerCall.accept(scene.getOutliner()); + OutlineParams params = outlinerCall.apply(scene.getOutliner()); + if (overrideColor != -1) + params.colored(overrideColor); + } + + public void setColor(int overrideColor) { + this.overrideColor = overrideColor; } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/elements/TextWindowElement.java b/src/main/java/com/simibubi/create/foundation/ponder/elements/TextWindowElement.java index b9e03a520..0afd83aee 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/elements/TextWindowElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/elements/TextWindowElement.java @@ -5,8 +5,10 @@ import java.util.function.Supplier; import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.systems.RenderSystem; +import com.simibubi.create.foundation.ponder.PonderLocalization; import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.PonderUI; +import com.simibubi.create.foundation.ponder.content.PonderPalette; import com.simibubi.create.foundation.utility.ColorHelper; import net.minecraft.util.math.MathHelper; @@ -16,37 +18,59 @@ import net.minecraftforge.fml.client.gui.GuiUtils; public class TextWindowElement extends AnimatedOverlayElement { - Supplier textGetter; + Supplier textGetter = () -> "(?) No text was provided"; String bakedText; // from 0 to 200 int y; - - Vec3d vec; - boolean nearScene; - int color; - - public TextWindowElement(Supplier textGetter) { - this.textGetter = textGetter; - } - - public void colored(int color) { - this.color = color; - } - - public TextWindowElement pointAt(Vec3d vec) { - this.vec = vec; - return this; - } - - public TextWindowElement setY(int y) { - this.y = y; - return this; - } - public TextWindowElement placeNearTarget() { - this.nearScene = true; - return this; + Vec3d vec; + + boolean nearScene = false; + int color = PonderPalette.WHITE.getColor(); + + public class Builder { + + private PonderScene scene; + + public Builder(PonderScene scene) { + this.scene = scene; + } + + public Builder colored(PonderPalette color) { + TextWindowElement.this.color = color.getColor(); + return this; + } + + public Builder pointAt(Vec3d vec) { + TextWindowElement.this.vec = vec; + return this; + } + + public Builder independent(int y) { + TextWindowElement.this.y = y; + return this; + } + + public Builder independent() { + return independent(0); + } + + public Builder text(String defaultText) { + textGetter = scene.registerText(defaultText); + return this; + } + + public Builder sharedText(String key) { + textGetter = () -> PonderLocalization.getShared(key); + return this; + } + + public Builder placeNearTarget() { + TextWindowElement.this.nearScene = true; + return this; + } + } @Override @@ -60,10 +84,10 @@ public class TextWindowElement extends AnimatedOverlayElement { float yDiff = (screen.height / 2 - sceneToScreen.y - 10) / 100f; int targetX = (int) (screen.width * MathHelper.lerp(yDiff * yDiff, 6f / 8, 5f / 8)); - + if (nearScene) targetX = (int) Math.min(targetX, sceneToScreen.x + 50); - + int textWidth = Math.min(screen.width - targetX, 180); List list = screen.getFontRenderer() @@ -96,4 +120,8 @@ public class TextWindowElement extends AnimatedOverlayElement { RenderSystem.popMatrix(); } + public int getColor() { + return color; + } + } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/elements/WorldSectionElement.java b/src/main/java/com/simibubi/create/foundation/ponder/elements/WorldSectionElement.java index 6ad6a0e68..308b8dfc0 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/elements/WorldSectionElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/elements/WorldSectionElement.java @@ -291,8 +291,10 @@ public class WorldSectionElement extends AnimatedSceneElement { renderedTileEntities = new ArrayList<>(); section.forEach(pos -> { TileEntity tileEntity = world.getTileEntity(pos); - if (tileEntity != null) - renderedTileEntities.add(tileEntity); + if (tileEntity == null) + return; + renderedTileEntities.add(tileEntity); + tileEntity.updateContainingBlockInfo(); }); } else renderedTileEntities.removeIf(te -> world.getTileEntity(te.getPos()) != te); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instructions/DisplayWorldSectionInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instructions/DisplayWorldSectionInstruction.java index 07cd403c8..e180ac92a 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/instructions/DisplayWorldSectionInstruction.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/instructions/DisplayWorldSectionInstruction.java @@ -1,5 +1,8 @@ package com.simibubi.create.foundation.ponder.instructions; +import java.util.Optional; +import java.util.function.Supplier; + import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.Selection; import com.simibubi.create.foundation.ponder.elements.WorldSectionElement; @@ -9,34 +12,33 @@ import net.minecraft.util.Direction; public class DisplayWorldSectionInstruction extends FadeIntoSceneInstruction { private Selection initialSelection; - private boolean mergeToBase; + private Optional> mergeOnto; - public DisplayWorldSectionInstruction(int fadeInTicks, Direction fadeInFrom, Selection selection, boolean mergeToBase) { + public DisplayWorldSectionInstruction(int fadeInTicks, Direction fadeInFrom, Selection selection, + Optional> mergeOnto) { super(fadeInTicks, fadeInFrom, new WorldSectionElement(selection)); initialSelection = selection; - this.mergeToBase = mergeToBase; + this.mergeOnto = mergeOnto; } - + @Override protected void firstTick(PonderScene scene) { super.firstTick(scene); element.set(initialSelection); element.setVisible(true); } - + @Override public void tick(PonderScene scene) { super.tick(scene); if (remainingTicks > 0) return; - if (!mergeToBase) - return; - element.mergeOnto(scene.getBaseWorldSection()); + mergeOnto.ifPresent(c -> element.mergeOnto(c.get())); } @Override protected Class getElementClass() { return WorldSectionElement.class; } - + } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instructions/TextInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instructions/TextInstruction.java index ebcc0329a..d0380cc81 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/instructions/TextInstruction.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/instructions/TextInstruction.java @@ -1,46 +1,31 @@ package com.simibubi.create.foundation.ponder.instructions; -import java.util.function.Supplier; - import com.simibubi.create.foundation.ponder.PonderScene; import com.simibubi.create.foundation.ponder.Selection; import com.simibubi.create.foundation.ponder.elements.OutlinerElement; import com.simibubi.create.foundation.ponder.elements.TextWindowElement; -import net.minecraft.util.math.Vec3d; - public class TextInstruction extends FadeInOutInstruction { private TextWindowElement element; private OutlinerElement outline; - protected TextInstruction(int color, Supplier text, int duration) { + public TextInstruction(TextWindowElement element, int duration) { super(duration); + this.element = element; } - public TextInstruction(int color, Supplier text, int duration, Selection selection, boolean near) { - this(color, text, duration); - element = new TextWindowElement(text).pointAt(selection.getCenter()); - element.colored(color); + public TextInstruction(TextWindowElement element, int duration, Selection selection) { + this(element, duration); outline = new OutlinerElement(o -> selection.makeOutline(o) - .lineWidth(1 / 16f) - .colored(color)); - if (near) - element.placeNearTarget(); + .lineWidth(1 / 16f)); } - public TextInstruction(int color, Supplier text, int duration, Vec3d position, boolean near) { - this(color, text, duration); - element = new TextWindowElement(text).pointAt(position); - element.colored(color); - if (near) - element.placeNearTarget(); - } - - public TextInstruction(int color, Supplier text, int duration, int y) { - this(color, text, duration); - element = new TextWindowElement(text).setY(y); - element.colored(color); + @Override + public void tick(PonderScene scene) { + super.tick(scene); + if (outline != null) + outline.setColor(element.getColor()); } @Override diff --git a/src/main/java/com/simibubi/create/foundation/ponder/instructions/WorldModifyInstruction.java b/src/main/java/com/simibubi/create/foundation/ponder/instructions/WorldModifyInstruction.java index 7e387de05..583514b67 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/instructions/WorldModifyInstruction.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/instructions/WorldModifyInstruction.java @@ -21,7 +21,7 @@ public abstract class WorldModifyInstruction extends PonderInstruction { @Override public void tick(PonderScene scene) { runModification(selection, scene); - if (needsRedraw()) + if (needsRedraw()) scene.forEach(WorldSectionElement.class, WorldSectionElement::queueRedraw); } diff --git a/src/main/resources/assets/create/models/block/gantry_pinion/horizontal.json b/src/main/resources/assets/create/models/block/gantry_carriage/horizontal.json similarity index 100% rename from src/main/resources/assets/create/models/block/gantry_pinion/horizontal.json rename to src/main/resources/assets/create/models/block/gantry_carriage/horizontal.json diff --git a/src/main/resources/assets/create/models/block/gantry_pinion/item.json b/src/main/resources/assets/create/models/block/gantry_carriage/item.json similarity index 100% rename from src/main/resources/assets/create/models/block/gantry_pinion/item.json rename to src/main/resources/assets/create/models/block/gantry_carriage/item.json diff --git a/src/main/resources/assets/create/models/block/gantry_pinion/vertical.json b/src/main/resources/assets/create/models/block/gantry_carriage/vertical.json similarity index 100% rename from src/main/resources/assets/create/models/block/gantry_pinion/vertical.json rename to src/main/resources/assets/create/models/block/gantry_carriage/vertical.json diff --git a/src/main/resources/assets/create/models/block/gantry_pinion/wheels.json b/src/main/resources/assets/create/models/block/gantry_carriage/wheels.json similarity index 100% rename from src/main/resources/assets/create/models/block/gantry_pinion/wheels.json rename to src/main/resources/assets/create/models/block/gantry_carriage/wheels.json diff --git a/src/main/resources/ponder/gantry/direction.nbt b/src/main/resources/ponder/gantry/direction.nbt new file mode 100644 index 0000000000000000000000000000000000000000..689314cd047f8a203d0a591d7150983793249cd7 GIT binary patch literal 819 zcmV-31I+v%iwFP!000000KJ#rZqqOn#!nKbO}oJg`^PhYkhtA0feW~qkR}jtQ+cVI zTFc_d_Q=N79)+ji8s3bPHc7M8Y0Z|+Qj}#n{yzWCId+;MzyOHiKbZ#r`PIXV;N=e> zV2S3MGX?n=K<_LT;kg>(!|MTfsZiylYIxu)O*JcK)MFe&jMIp5Ep$8!9b%zV4rh&y zV~A<$xE4B|g$}XMDTiy3XV)Un>vTK|9b%zVmBJ#=o<*M5>39}8#6qVW#3IkcBG2n| zJPRFS)ER=8oM|8Y)0DBv-j*~mrYi`;HdYw+u(Q$56H1wa6~lG@_MXhbgG*a&kKs7Tr+nZK7}u6n=NL@H?T{-$daVD0+{%FGeK=qf*WI zD#F1g1Y$twKPH0R5p`g5L^U~r1_!ioEEckNyCYJbaFMheA@!HgpmP`R-Y({(8erUp z&9HkL?{RFPw5!={Jq*pNjroYK|BT&kIRNW1Pg?q*9`m$i|JGx6TGms4eUDna*2R!w z-EPCHpVF9V&GIjdX918Cdcoku1?Df5c&r|0Gp^Y<6bU96CzTO<%LtW-Y&`!=$y?)- z6e*MW7fb+K8T!arL=l$HpVC+{oKLT~0_UodDoYnr8RbqIAAdD(qNt<32mckxOCJ!&0v2J8n($Il$vra4TtGktZr;uqYbcx_Aaj9nk zjBxJ?&QDLIYU|E%u165B4%5mS!rBsKvqdWk4L!PyJS>M0R2 ze@aA>E6?n6<^i?^-1fw%$`szc8utUl9=ehJXCsOa~eg006|9k68c! literal 0 HcmV?d00001 diff --git a/src/main/resources/ponder/gantry/intro.nbt b/src/main/resources/ponder/gantry/intro.nbt new file mode 100644 index 0000000000000000000000000000000000000000..20f0b8c2d26b0d653e07e7bad65fdd1bb9078a9a GIT binary patch literal 708 zcmV;#0z3U5iwFP!000000M(Y?Z__Xk$1kzdrk#LE41~mwO(5|$Hnc$ttYCg3IV z5;wK##*ytR+n)AU@y>t7c}+?ever@=+AKv*o4b$i>pP!31Q-A{;*t{pa8D1P$UOsy zd0~YW+<+Sc=$%QGPR$U1ydMB5m1&%ogFs{~v%L0LwFx?Gf|gC_!66cMG7u!a+K z*t9vJ2ZwlYs0Sx%;##o@Z_yQccMFS_1I_X zvCr!`#DhaSIYS`DnT;SCm7Hh4uAJZQ3BH=^Kfab3S_VVtpKx0#J&hp#z)F@1d-3VY zf$0dF1A<}-;pYrzjQHR%g5Jn#ZWgT}hEQbiEY%!gM@Gy_$&;xlxE1LTE!AA7*kFQh zXnTP3cbpG#{(~B&*J5==krwYF=weQoV+B*6z9dL_| zMId`Ox3d(5P({aXg{@WMdKCgYqf{#?Pnn!we^_uI*W7f%j1i`zib#t%*osL1IWg)W z4!2fK|B7({{gO#;Eq7Piofzl|n{jwC!7 zeN}9ll#&%w;{<%ss^r>TsAJfvFbXYIo@1RvV>Ed+{KYs6V7Fu z)h|`W^(v=i+5+K47DI20$E3)CR@~Snxa%x?VtX@@Ws=_k*`-F?ZNPrJ`lP9qTlTYA zKb)5_>^kp+Nmb;@SZEAr!Clgx-;66|S__u*HuRCfHZ#3Q&Xl!k)(-9xPjzizRoPx* qSq4~GOeal^uU~;$J>PNxJZvACWv5&l*P9^z3BLhM#=&th4gdgg4|YVF|Gy2v*0ibPSczX9H%Fy z%W*9@o&|?laGK^?`0QHvyouvkaF_+BT?z}IJqw>VaXbqSv*0w1S@_H>eBQ+IEI6!} z6M>hX8z20$0x|i0TaDYB&`(|e@wrGS(urU+K~qX~;Y0Y27d#f``onDnW@l9R1PU3r z9}}wiU*Ntt@gX=f3iVythv13?4r7G`JJn)QWH`MLIT{g16e%xNOoxZ_m12*n|3>`@ z_1~#~+12VVb*%1jx1*!}-lJpFM0%FS?WFNKY2L0$Gl*UL%UPy8H|lz-=X_?mW<6V) zb-Fa`RbS!MN>)^`;Z%$UQL(>Gh0~+LA5KLuh>C-4D%_z})F;ruDh{`)@Sax1Fm-XX zO$F;w5&X~UwmS@uY!1V&j?tqI!-I!*79tli?{UlRWC_>oi`DDWcumaenHo{dsNfkI zgVn8YCj>U(3xwwj@+4NYx~Jt_7@Wp3r@7LgCgR{eLg%ua)>lgcMxT@{P*u0i5Ozw+ zqcWMM)L+pWzuKb!pSWf8(&HG0Z3nWxj4P&A=C zZc96QIIoy1C3uQmC?hD+*i1^*<3Ot!`HJS<`wf}l4^)3a>u8qCoDja2muB9+}?~7wQ0vG@_;twYPP(D3;g7O(a z$fXrla06uJ;rN^@ftC{1BWFE<7=K`q!)rOQh1zbj-%r-lUAR{X2M3c#kALWnf|Ut zycQ9%YZ3o0M95u;&=wJTEs?`bkz7cjWJ4urQ3-agQoWgVm0m;T{YAS<1pO0k3#HEj z2tTl#CBmM6x+tM^h^H5#`V{=nIL-bg_?Jfk^oCY*vpBmJlYFwAq!H6R4`>9$Hhcg9w$noVN9wb4p$LIsv@3WbaC?07p-!x%R6w0Y*lcLJ7F+lncMytTN yI(V;Zoo6c@oRzVd6Bj~XSqw|PrNS-f5!n04Ec?c_DK9_}{)K<6Kq@t34*&o^T2`t6 literal 0 HcmV?d00001