diff --git a/build.gradle b/build.gradle index 1d554b045..dd2b1d6c3 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,6 @@ minecraft { client { workingDirectory project.file('run') arg '-mixin.config=create.mixins.json' - arg '-mixin.config=flywheel.mixins.json' //jvmArgs '-XX:+UnlockCommercialFeatures' // uncomment for profiling property 'forge.logging.console.level', 'info' mods { @@ -81,6 +80,7 @@ minecraft { data { workingDirectory project.file('run') + arg '-mixin.config=create.mixins.json' property 'forge.logging.markers', 'REGISTRIES,REGISTRYDUMP' property 'forge.logging.console.level', 'debug' args '--mod', 'create', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources') diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index cb8f91094..e822b1014 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -583,7 +583,7 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json 4fd8347dfb20e6e5752b8b905850762a88c88c02 assets/create/lang/en_ud.json -4e84e9d171ca389a372fda7e30a73ddc7d41185a assets/create/lang/en_us.json +a78f92c3e08c454aba650ef5dda97d8d9a494689 assets/create/lang/en_us.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 7d2b2a8da..ab0c5a344 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1,3223 +1,2930 @@ { - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "Acacia Window", - "block.create.acacia_window_pane": "Acacia Window Pane", - "block.create.adjustable_chain_gearshift": "Adjustable Chain Gearshift", - "block.create.analog_lever": "Analog Lever", - "block.create.andesite_alloy_block": "Block of Andesite Alloy", - "block.create.andesite_bars": "Andesite Bars", - "block.create.andesite_belt_funnel": "Andesite Belt Funnel", - "block.create.andesite_casing": "Andesite Casing", - "block.create.andesite_door": "Andesite Door", - "block.create.andesite_encased_cogwheel": "Andesite Encased Cogwheel", - "block.create.andesite_encased_large_cogwheel": "Andesite Encased Large Cogwheel", - "block.create.andesite_encased_shaft": "Andesite Encased Shaft", - "block.create.andesite_funnel": "Andesite Funnel", - "block.create.andesite_ladder": "Andesite Ladder", - "block.create.andesite_pillar": "Andesite Pillar", - "block.create.andesite_scaffolding": "Andesite Scaffolding", - "block.create.andesite_tunnel": "Andesite Tunnel", - "block.create.asurine": "Asurine", - "block.create.asurine_pillar": "Asurine Pillar", - "block.create.basin": "Basin", - "block.create.belt": "Belt", - "block.create.birch_window": "Birch Window", - "block.create.birch_window_pane": "Birch Window Pane", - "block.create.black_nixie_tube": "Black Nixie Tube", - "block.create.black_sail": "Black Sail", - "block.create.black_seat": "Black Seat", - "block.create.black_toolbox": "Black Toolbox", - "block.create.black_valve_handle": "Black Valve Handle", - "block.create.blaze_burner": "Blaze Burner", - "block.create.blue_nixie_tube": "Blue Nixie Tube", - "block.create.blue_sail": "Blue Sail", - "block.create.blue_seat": "Blue Seat", - "block.create.blue_toolbox": "Blue Toolbox", - "block.create.blue_valve_handle": "Blue Valve Handle", - "block.create.brass_bars": "Brass Bars", - "block.create.brass_belt_funnel": "Brass Belt Funnel", - "block.create.brass_block": "Block of Brass", - "block.create.brass_casing": "Brass Casing", - "block.create.brass_door": "Brass Door", - "block.create.brass_encased_cogwheel": "Brass Encased Cogwheel", - "block.create.brass_encased_large_cogwheel": "Brass Encased Large Cogwheel", - "block.create.brass_encased_shaft": "Brass Encased Shaft", - "block.create.brass_funnel": "Brass Funnel", - "block.create.brass_ladder": "Brass Ladder", - "block.create.brass_scaffolding": "Brass Scaffolding", - "block.create.brass_tunnel": "Brass Tunnel", - "block.create.brown_nixie_tube": "Brown Nixie Tube", - "block.create.brown_sail": "Brown Sail", - "block.create.brown_seat": "Brown Seat", - "block.create.brown_toolbox": "Brown Toolbox", - "block.create.brown_valve_handle": "Brown Valve Handle", - "block.create.calcite_pillar": "Calcite Pillar", - "block.create.cart_assembler": "Cart Assembler", - "block.create.chocolate": "Chocolate", - "block.create.chute": "Chute", - "block.create.clipboard": "Clipboard", - "block.create.clockwork_bearing": "Clockwork Bearing", - "block.create.clutch": "Clutch", - "block.create.cogwheel": "Cogwheel", - "block.create.content_observer": "Smart Observer", - "block.create.contraption_controls": "Contraption Controls", - "block.create.controller_rail": "Controller Rail", - "block.create.controls": "Train Controls", - "block.create.copper_backtank": "Copper Backtank", - "block.create.copper_bars": "Copper Bars", - "block.create.copper_casing": "Copper Casing", - "block.create.copper_door": "Copper Door", - "block.create.copper_ladder": "Copper Ladder", - "block.create.copper_scaffolding": "Copper Scaffolding", - "block.create.copper_shingle_slab": "Copper Shingle Slab", - "block.create.copper_shingle_stairs": "Copper Shingle Stairs", - "block.create.copper_shingles": "Copper Shingles", - "block.create.copper_tile_slab": "Copper Tile Slab", - "block.create.copper_tile_stairs": "Copper Tile Stairs", - "block.create.copper_tiles": "Copper Tiles", - "block.create.copper_valve_handle": "Copper Valve Handle", - "block.create.copycat_bars": "Copycat Bars", - "block.create.copycat_base": "Copycat Base", - "block.create.copycat_panel": "Copycat Panel", - "block.create.copycat_step": "Copycat Step", - "block.create.creative_crate": "Creative Crate", - "block.create.creative_fluid_tank": "Creative Fluid Tank", - "block.create.creative_motor": "Creative Motor", - "block.create.crimsite": "Crimsite", - "block.create.crimsite_pillar": "Crimsite Pillar", - "block.create.crimson_window": "Crimson Window", - "block.create.crimson_window_pane": "Crimson Window Pane", - "block.create.crushing_wheel": "Crushing Wheel", - "block.create.crushing_wheel_controller": "Crushing Wheel Controller", - "block.create.cuckoo_clock": "Cuckoo Clock", - "block.create.cut_andesite": "Cut Andesite", - "block.create.cut_andesite_brick_slab": "Cut Andesite Brick Slab", - "block.create.cut_andesite_brick_stairs": "Cut Andesite Brick Stairs", - "block.create.cut_andesite_brick_wall": "Cut Andesite Brick Wall", - "block.create.cut_andesite_bricks": "Cut Andesite Bricks", - "block.create.cut_andesite_slab": "Cut Andesite Slab", - "block.create.cut_andesite_stairs": "Cut Andesite Stairs", - "block.create.cut_andesite_wall": "Cut Andesite Wall", - "block.create.cut_asurine": "Cut Asurine", - "block.create.cut_asurine_brick_slab": "Cut Asurine Brick Slab", - "block.create.cut_asurine_brick_stairs": "Cut Asurine Brick Stairs", - "block.create.cut_asurine_brick_wall": "Cut Asurine Brick Wall", - "block.create.cut_asurine_bricks": "Cut Asurine Bricks", - "block.create.cut_asurine_slab": "Cut Asurine Slab", - "block.create.cut_asurine_stairs": "Cut Asurine Stairs", - "block.create.cut_asurine_wall": "Cut Asurine Wall", - "block.create.cut_calcite": "Cut Calcite", - "block.create.cut_calcite_brick_slab": "Cut Calcite Brick Slab", - "block.create.cut_calcite_brick_stairs": "Cut Calcite Brick Stairs", - "block.create.cut_calcite_brick_wall": "Cut Calcite Brick Wall", - "block.create.cut_calcite_bricks": "Cut Calcite Bricks", - "block.create.cut_calcite_slab": "Cut Calcite Slab", - "block.create.cut_calcite_stairs": "Cut Calcite Stairs", - "block.create.cut_calcite_wall": "Cut Calcite Wall", - "block.create.cut_crimsite": "Cut Crimsite", - "block.create.cut_crimsite_brick_slab": "Cut Crimsite Brick Slab", - "block.create.cut_crimsite_brick_stairs": "Cut Crimsite Brick Stairs", - "block.create.cut_crimsite_brick_wall": "Cut Crimsite Brick Wall", - "block.create.cut_crimsite_bricks": "Cut Crimsite Bricks", - "block.create.cut_crimsite_slab": "Cut Crimsite Slab", - "block.create.cut_crimsite_stairs": "Cut Crimsite Stairs", - "block.create.cut_crimsite_wall": "Cut Crimsite Wall", - "block.create.cut_deepslate": "Cut Deepslate", - "block.create.cut_deepslate_brick_slab": "Cut Deepslate Brick Slab", - "block.create.cut_deepslate_brick_stairs": "Cut Deepslate Brick Stairs", - "block.create.cut_deepslate_brick_wall": "Cut Deepslate Brick Wall", - "block.create.cut_deepslate_bricks": "Cut Deepslate Bricks", - "block.create.cut_deepslate_slab": "Cut Deepslate Slab", - "block.create.cut_deepslate_stairs": "Cut Deepslate Stairs", - "block.create.cut_deepslate_wall": "Cut Deepslate Wall", - "block.create.cut_diorite": "Cut Diorite", - "block.create.cut_diorite_brick_slab": "Cut Diorite Brick Slab", - "block.create.cut_diorite_brick_stairs": "Cut Diorite Brick Stairs", - "block.create.cut_diorite_brick_wall": "Cut Diorite Brick Wall", - "block.create.cut_diorite_bricks": "Cut Diorite Bricks", - "block.create.cut_diorite_slab": "Cut Diorite Slab", - "block.create.cut_diorite_stairs": "Cut Diorite Stairs", - "block.create.cut_diorite_wall": "Cut Diorite Wall", - "block.create.cut_dripstone": "Cut Dripstone", - "block.create.cut_dripstone_brick_slab": "Cut Dripstone Brick Slab", - "block.create.cut_dripstone_brick_stairs": "Cut Dripstone Brick Stairs", - "block.create.cut_dripstone_brick_wall": "Cut Dripstone Brick Wall", - "block.create.cut_dripstone_bricks": "Cut Dripstone Bricks", - "block.create.cut_dripstone_slab": "Cut Dripstone Slab", - "block.create.cut_dripstone_stairs": "Cut Dripstone Stairs", - "block.create.cut_dripstone_wall": "Cut Dripstone Wall", - "block.create.cut_granite": "Cut Granite", - "block.create.cut_granite_brick_slab": "Cut Granite Brick Slab", - "block.create.cut_granite_brick_stairs": "Cut Granite Brick Stairs", - "block.create.cut_granite_brick_wall": "Cut Granite Brick Wall", - "block.create.cut_granite_bricks": "Cut Granite Bricks", - "block.create.cut_granite_slab": "Cut Granite Slab", - "block.create.cut_granite_stairs": "Cut Granite Stairs", - "block.create.cut_granite_wall": "Cut Granite Wall", - "block.create.cut_limestone": "Cut Limestone", - "block.create.cut_limestone_brick_slab": "Cut Limestone Brick Slab", - "block.create.cut_limestone_brick_stairs": "Cut Limestone Brick Stairs", - "block.create.cut_limestone_brick_wall": "Cut Limestone Brick Wall", - "block.create.cut_limestone_bricks": "Cut Limestone Bricks", - "block.create.cut_limestone_slab": "Cut Limestone Slab", - "block.create.cut_limestone_stairs": "Cut Limestone Stairs", - "block.create.cut_limestone_wall": "Cut Limestone Wall", - "block.create.cut_ochrum": "Cut Ochrum", - "block.create.cut_ochrum_brick_slab": "Cut Ochrum Brick Slab", - "block.create.cut_ochrum_brick_stairs": "Cut Ochrum Brick Stairs", - "block.create.cut_ochrum_brick_wall": "Cut Ochrum Brick Wall", - "block.create.cut_ochrum_bricks": "Cut Ochrum Bricks", - "block.create.cut_ochrum_slab": "Cut Ochrum Slab", - "block.create.cut_ochrum_stairs": "Cut Ochrum Stairs", - "block.create.cut_ochrum_wall": "Cut Ochrum Wall", - "block.create.cut_scorchia": "Cut Scorchia", - "block.create.cut_scorchia_brick_slab": "Cut Scorchia Brick Slab", - "block.create.cut_scorchia_brick_stairs": "Cut Scorchia Brick Stairs", - "block.create.cut_scorchia_brick_wall": "Cut Scorchia Brick Wall", - "block.create.cut_scorchia_bricks": "Cut Scorchia Bricks", - "block.create.cut_scorchia_slab": "Cut Scorchia Slab", - "block.create.cut_scorchia_stairs": "Cut Scorchia Stairs", - "block.create.cut_scorchia_wall": "Cut Scorchia Wall", - "block.create.cut_scoria": "Cut Scoria", - "block.create.cut_scoria_brick_slab": "Cut Scoria Brick Slab", - "block.create.cut_scoria_brick_stairs": "Cut Scoria Brick Stairs", - "block.create.cut_scoria_brick_wall": "Cut Scoria Brick Wall", - "block.create.cut_scoria_bricks": "Cut Scoria Bricks", - "block.create.cut_scoria_slab": "Cut Scoria Slab", - "block.create.cut_scoria_stairs": "Cut Scoria Stairs", - "block.create.cut_scoria_wall": "Cut Scoria Wall", - "block.create.cut_tuff": "Cut Tuff", - "block.create.cut_tuff_brick_slab": "Cut Tuff Brick Slab", - "block.create.cut_tuff_brick_stairs": "Cut Tuff Brick Stairs", - "block.create.cut_tuff_brick_wall": "Cut Tuff Brick Wall", - "block.create.cut_tuff_bricks": "Cut Tuff Bricks", - "block.create.cut_tuff_slab": "Cut Tuff Slab", - "block.create.cut_tuff_stairs": "Cut Tuff Stairs", - "block.create.cut_tuff_wall": "Cut Tuff Wall", - "block.create.cut_veridium": "Cut Veridium", - "block.create.cut_veridium_brick_slab": "Cut Veridium Brick Slab", - "block.create.cut_veridium_brick_stairs": "Cut Veridium Brick Stairs", - "block.create.cut_veridium_brick_wall": "Cut Veridium Brick Wall", - "block.create.cut_veridium_bricks": "Cut Veridium Bricks", - "block.create.cut_veridium_slab": "Cut Veridium Slab", - "block.create.cut_veridium_stairs": "Cut Veridium Stairs", - "block.create.cut_veridium_wall": "Cut Veridium Wall", - "block.create.cyan_nixie_tube": "Cyan Nixie Tube", - "block.create.cyan_sail": "Cyan Sail", - "block.create.cyan_seat": "Cyan Seat", - "block.create.cyan_toolbox": "Cyan Toolbox", - "block.create.cyan_valve_handle": "Cyan Valve Handle", - "block.create.dark_oak_window": "Dark Oak Window", - "block.create.dark_oak_window_pane": "Dark Oak Window Pane", - "block.create.deepslate_pillar": "Deepslate Pillar", - "block.create.deepslate_zinc_ore": "Deepslate Zinc Ore", - "block.create.deployer": "Deployer", - "block.create.depot": "Depot", - "block.create.diorite_pillar": "Diorite Pillar", - "block.create.display_board": "Display Board", - "block.create.display_link": "Display Link", - "block.create.dripstone_pillar": "Dripstone Pillar", - "block.create.elevator_contact": "Elevator Contact", - "block.create.elevator_pulley": "Elevator Pulley", - "block.create.encased_chain_drive": "Encased Chain Drive", - "block.create.encased_fan": "Encased Fan", - "block.create.encased_fluid_pipe": "Encased Fluid Pipe", - "block.create.experience_block": "Block of Experience", - "block.create.exposed_copper_shingle_slab": "Exposed Copper Shingle Slab", - "block.create.exposed_copper_shingle_stairs": "Exposed Copper Shingle Stairs", - "block.create.exposed_copper_shingles": "Exposed Copper Shingles", - "block.create.exposed_copper_tile_slab": "Exposed Copper Tile Slab", - "block.create.exposed_copper_tile_stairs": "Exposed Copper Tile Stairs", - "block.create.exposed_copper_tiles": "Exposed Copper Tiles", - "block.create.fake_track": "Track Marker for Maps", - "block.create.fluid_pipe": "Fluid Pipe", - "block.create.fluid_tank": "Fluid Tank", - "block.create.fluid_valve": "Fluid Valve", - "block.create.flywheel": "Flywheel", - "block.create.framed_glass": "Framed Glass", - "block.create.framed_glass_door": "Framed Glass Door", - "block.create.framed_glass_pane": "Framed Glass Pane", - "block.create.framed_glass_trapdoor": "Framed Glass Trapdoor", - "block.create.gantry_carriage": "Gantry Carriage", - "block.create.gantry_shaft": "Gantry Shaft", - "block.create.gearbox": "Gearbox", - "block.create.gearshift": "Gearshift", - "block.create.glass_fluid_pipe": "Glass Fluid Pipe", - "block.create.granite_pillar": "Granite Pillar", - "block.create.gray_nixie_tube": "Gray Nixie Tube", - "block.create.gray_sail": "Gray Sail", - "block.create.gray_seat": "Gray Seat", - "block.create.gray_toolbox": "Gray Toolbox", - "block.create.gray_valve_handle": "Gray Valve Handle", - "block.create.green_nixie_tube": "Green Nixie Tube", - "block.create.green_sail": "Green Sail", - "block.create.green_seat": "Green Seat", - "block.create.green_toolbox": "Green Toolbox", - "block.create.green_valve_handle": "Green Valve Handle", - "block.create.hand_crank": "Hand Crank", - "block.create.haunted_bell": "Haunted Bell", - "block.create.honey": "Honey", - "block.create.horizontal_framed_glass": "Horizontal Framed Glass", - "block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane", - "block.create.hose_pulley": "Hose Pulley", - "block.create.industrial_iron_block": "Block of Industrial Iron", - "block.create.item_drain": "Item Drain", - "block.create.item_vault": "Item Vault", - "block.create.jungle_window": "Jungle Window", - "block.create.jungle_window_pane": "Jungle Window Pane", - "block.create.large_bogey": "Large Bogey", - "block.create.large_cogwheel": "Large Cogwheel", - "block.create.large_water_wheel": "Large Water Wheel", - "block.create.layered_andesite": "Layered Andesite", - "block.create.layered_asurine": "Layered Asurine", - "block.create.layered_calcite": "Layered Calcite", - "block.create.layered_crimsite": "Layered Crimsite", - "block.create.layered_deepslate": "Layered Deepslate", - "block.create.layered_diorite": "Layered Diorite", - "block.create.layered_dripstone": "Layered Dripstone", - "block.create.layered_granite": "Layered Granite", - "block.create.layered_limestone": "Layered Limestone", - "block.create.layered_ochrum": "Layered Ochrum", - "block.create.layered_scorchia": "Layered Scorchia", - "block.create.layered_scoria": "Layered Scoria", - "block.create.layered_tuff": "Layered Tuff", - "block.create.layered_veridium": "Layered Veridium", - "block.create.lectern_controller": "Lectern Controller", - "block.create.light_blue_nixie_tube": "Light Blue Nixie Tube", - "block.create.light_blue_sail": "Light Blue Sail", - "block.create.light_blue_seat": "Light Blue Seat", - "block.create.light_blue_toolbox": "Light Blue Toolbox", - "block.create.light_blue_valve_handle": "Light Blue Valve Handle", - "block.create.light_gray_nixie_tube": "Light Gray Nixie Tube", - "block.create.light_gray_sail": "Light Gray Sail", - "block.create.light_gray_seat": "Light Gray Seat", - "block.create.light_gray_toolbox": "Light Gray Toolbox", - "block.create.light_gray_valve_handle": "Light Gray Valve Handle", - "block.create.lime_nixie_tube": "Lime Nixie Tube", - "block.create.lime_sail": "Lime Sail", - "block.create.lime_seat": "Lime Seat", - "block.create.lime_toolbox": "Lime Toolbox", - "block.create.lime_valve_handle": "Lime Valve Handle", - "block.create.limestone": "Limestone", - "block.create.limestone_pillar": "Limestone Pillar", - "block.create.linear_chassis": "Linear Chassis", - "block.create.lit_blaze_burner": "Lit Blaze Burner", - "block.create.magenta_nixie_tube": "Magenta Nixie Tube", - "block.create.magenta_sail": "Magenta Sail", - "block.create.magenta_seat": "Magenta Seat", - "block.create.magenta_toolbox": "Magenta Toolbox", - "block.create.magenta_valve_handle": "Magenta Valve Handle", - "block.create.mechanical_arm": "Mechanical Arm", - "block.create.mechanical_bearing": "Mechanical Bearing", - "block.create.mechanical_crafter": "Mechanical Crafter", - "block.create.mechanical_drill": "Mechanical Drill", - "block.create.mechanical_harvester": "Mechanical Harvester", - "block.create.mechanical_mixer": "Mechanical Mixer", - "block.create.mechanical_piston": "Mechanical Piston", - "block.create.mechanical_piston_head": "Mechanical Piston Head", - "block.create.mechanical_plough": "Mechanical Plough", - "block.create.mechanical_press": "Mechanical Press", - "block.create.mechanical_pump": "Mechanical Pump", - "block.create.mechanical_roller": "Mechanical Roller", - "block.create.mechanical_saw": "Mechanical Saw", - "block.create.metal_bracket": "Metal Bracket", - "block.create.metal_girder": "Metal Girder", - "block.create.metal_girder_encased_shaft": "Metal Girder Encased Shaft", - "block.create.millstone": "Millstone", - "block.create.minecart_anchor": "Minecart Anchor", - "block.create.mysterious_cuckoo_clock": "Cuckoo Clock", - "block.create.netherite_backtank": "Netherite Backtank", - "block.create.nixie_tube": "Nixie Tube", - "block.create.nozzle": "Nozzle", - "block.create.oak_window": "Oak Window", - "block.create.oak_window_pane": "Oak Window Pane", - "block.create.ochrum": "Ochrum", - "block.create.ochrum_pillar": "Ochrum Pillar", - "block.create.orange_sail": "Orange Sail", - "block.create.orange_seat": "Orange Seat", - "block.create.orange_toolbox": "Orange Toolbox", - "block.create.orange_valve_handle": "Orange Valve Handle", - "block.create.ornate_iron_window": "Ornate Iron Window", - "block.create.ornate_iron_window_pane": "Ornate Iron Window Pane", - "block.create.oxidized_copper_shingle_slab": "Oxidized Copper Shingle Slab", - "block.create.oxidized_copper_shingle_stairs": "Oxidized Copper Shingle Stairs", - "block.create.oxidized_copper_shingles": "Oxidized Copper Shingles", - "block.create.oxidized_copper_tile_slab": "Oxidized Copper Tile Slab", - "block.create.oxidized_copper_tile_stairs": "Oxidized Copper Tile Stairs", - "block.create.oxidized_copper_tiles": "Oxidized Copper Tiles", - "block.create.peculiar_bell": "Peculiar Bell", - "block.create.pink_nixie_tube": "Pink Nixie Tube", - "block.create.pink_sail": "Pink Sail", - "block.create.pink_seat": "Pink Seat", - "block.create.pink_toolbox": "Pink Toolbox", - "block.create.pink_valve_handle": "Pink Valve Handle", - "block.create.piston_extension_pole": "Piston Extension Pole", - "block.create.placard": "Placard", - "block.create.polished_cut_andesite": "Polished Cut Andesite", - "block.create.polished_cut_andesite_slab": "Polished Cut Andesite Slab", - "block.create.polished_cut_andesite_stairs": "Polished Cut Andesite Stairs", - "block.create.polished_cut_andesite_wall": "Polished Cut Andesite Wall", - "block.create.polished_cut_asurine": "Polished Cut Asurine", - "block.create.polished_cut_asurine_slab": "Polished Cut Asurine Slab", - "block.create.polished_cut_asurine_stairs": "Polished Cut Asurine Stairs", - "block.create.polished_cut_asurine_wall": "Polished Cut Asurine Wall", - "block.create.polished_cut_calcite": "Polished Cut Calcite", - "block.create.polished_cut_calcite_slab": "Polished Cut Calcite Slab", - "block.create.polished_cut_calcite_stairs": "Polished Cut Calcite Stairs", - "block.create.polished_cut_calcite_wall": "Polished Cut Calcite Wall", - "block.create.polished_cut_crimsite": "Polished Cut Crimsite", - "block.create.polished_cut_crimsite_slab": "Polished Cut Crimsite Slab", - "block.create.polished_cut_crimsite_stairs": "Polished Cut Crimsite Stairs", - "block.create.polished_cut_crimsite_wall": "Polished Cut Crimsite Wall", - "block.create.polished_cut_deepslate": "Polished Cut Deepslate", - "block.create.polished_cut_deepslate_slab": "Polished Cut Deepslate Slab", - "block.create.polished_cut_deepslate_stairs": "Polished Cut Deepslate Stairs", - "block.create.polished_cut_deepslate_wall": "Polished Cut Deepslate Wall", - "block.create.polished_cut_diorite": "Polished Cut Diorite", - "block.create.polished_cut_diorite_slab": "Polished Cut Diorite Slab", - "block.create.polished_cut_diorite_stairs": "Polished Cut Diorite Stairs", - "block.create.polished_cut_diorite_wall": "Polished Cut Diorite Wall", - "block.create.polished_cut_dripstone": "Polished Cut Dripstone", - "block.create.polished_cut_dripstone_slab": "Polished Cut Dripstone Slab", - "block.create.polished_cut_dripstone_stairs": "Polished Cut Dripstone Stairs", - "block.create.polished_cut_dripstone_wall": "Polished Cut Dripstone Wall", - "block.create.polished_cut_granite": "Polished Cut Granite", - "block.create.polished_cut_granite_slab": "Polished Cut Granite Slab", - "block.create.polished_cut_granite_stairs": "Polished Cut Granite Stairs", - "block.create.polished_cut_granite_wall": "Polished Cut Granite Wall", - "block.create.polished_cut_limestone": "Polished Cut Limestone", - "block.create.polished_cut_limestone_slab": "Polished Cut Limestone Slab", - "block.create.polished_cut_limestone_stairs": "Polished Cut Limestone Stairs", - "block.create.polished_cut_limestone_wall": "Polished Cut Limestone Wall", - "block.create.polished_cut_ochrum": "Polished Cut Ochrum", - "block.create.polished_cut_ochrum_slab": "Polished Cut Ochrum Slab", - "block.create.polished_cut_ochrum_stairs": "Polished Cut Ochrum Stairs", - "block.create.polished_cut_ochrum_wall": "Polished Cut Ochrum Wall", - "block.create.polished_cut_scorchia": "Polished Cut Scorchia", - "block.create.polished_cut_scorchia_slab": "Polished Cut Scorchia Slab", - "block.create.polished_cut_scorchia_stairs": "Polished Cut Scorchia Stairs", - "block.create.polished_cut_scorchia_wall": "Polished Cut Scorchia Wall", - "block.create.polished_cut_scoria": "Polished Cut Scoria", - "block.create.polished_cut_scoria_slab": "Polished Cut Scoria Slab", - "block.create.polished_cut_scoria_stairs": "Polished Cut Scoria Stairs", - "block.create.polished_cut_scoria_wall": "Polished Cut Scoria Wall", - "block.create.polished_cut_tuff": "Polished Cut Tuff", - "block.create.polished_cut_tuff_slab": "Polished Cut Tuff Slab", - "block.create.polished_cut_tuff_stairs": "Polished Cut Tuff Stairs", - "block.create.polished_cut_tuff_wall": "Polished Cut Tuff Wall", - "block.create.polished_cut_veridium": "Polished Cut Veridium", - "block.create.polished_cut_veridium_slab": "Polished Cut Veridium Slab", - "block.create.polished_cut_veridium_stairs": "Polished Cut Veridium Stairs", - "block.create.polished_cut_veridium_wall": "Polished Cut Veridium Wall", - "block.create.portable_fluid_interface": "Portable Fluid Interface", - "block.create.portable_storage_interface": "Portable Storage Interface", - "block.create.powered_latch": "Powered Latch", - "block.create.powered_shaft": "Powered Shaft", - "block.create.powered_toggle_latch": "Powered Toggle Latch", - "block.create.pulley_magnet": "Pulley Magnet", - "block.create.pulse_extender": "Pulse Extender", - "block.create.pulse_repeater": "Pulse Repeater", - "block.create.purple_nixie_tube": "Purple Nixie Tube", - "block.create.purple_sail": "Purple Sail", - "block.create.purple_seat": "Purple Seat", - "block.create.purple_toolbox": "Purple Toolbox", - "block.create.purple_valve_handle": "Purple Valve Handle", - "block.create.radial_chassis": "Radial Chassis", - "block.create.railway_casing": "Train Casing", - "block.create.raw_zinc_block": "Block of Raw Zinc", - "block.create.red_nixie_tube": "Red Nixie Tube", - "block.create.red_sail": "Red Sail", - "block.create.red_seat": "Red Seat", - "block.create.red_toolbox": "Red Toolbox", - "block.create.red_valve_handle": "Red Valve Handle", - "block.create.redstone_contact": "Redstone Contact", - "block.create.redstone_link": "Redstone Link", - "block.create.refined_radiance_casing": "Radiant Casing", - "block.create.rope": "Rope", - "block.create.rope_pulley": "Rope Pulley", - "block.create.rose_quartz_block": "Block of Rose Quartz", - "block.create.rose_quartz_lamp": "Rose Quartz Lamp", - "block.create.rose_quartz_tiles": "Rose Quartz Tiles", - "block.create.rotation_speed_controller": "Rotation Speed Controller", - "block.create.sail_frame": "Windmill Sail Frame", - "block.create.schematic_table": "Schematic Table", - "block.create.schematicannon": "Schematicannon", - "block.create.scorchia": "Scorchia", - "block.create.scorchia_pillar": "Scorchia Pillar", - "block.create.scoria": "Scoria", - "block.create.scoria_pillar": "Scoria Pillar", - "block.create.secondary_linear_chassis": "Secondary Linear Chassis", - "block.create.sequenced_gearshift": "Sequenced Gearshift", - "block.create.shadow_steel_casing": "Shadow Casing", - "block.create.shaft": "Shaft", - "block.create.small_andesite_brick_slab": "Small Andesite Brick Slab", - "block.create.small_andesite_brick_stairs": "Small Andesite Brick Stairs", - "block.create.small_andesite_brick_wall": "Small Andesite Brick Wall", - "block.create.small_andesite_bricks": "Small Andesite Bricks", - "block.create.small_asurine_brick_slab": "Small Asurine Brick Slab", - "block.create.small_asurine_brick_stairs": "Small Asurine Brick Stairs", - "block.create.small_asurine_brick_wall": "Small Asurine Brick Wall", - "block.create.small_asurine_bricks": "Small Asurine Bricks", - "block.create.small_bogey": "Small Bogey", - "block.create.small_calcite_brick_slab": "Small Calcite Brick Slab", - "block.create.small_calcite_brick_stairs": "Small Calcite Brick Stairs", - "block.create.small_calcite_brick_wall": "Small Calcite Brick Wall", - "block.create.small_calcite_bricks": "Small Calcite Bricks", - "block.create.small_crimsite_brick_slab": "Small Crimsite Brick Slab", - "block.create.small_crimsite_brick_stairs": "Small Crimsite Brick Stairs", - "block.create.small_crimsite_brick_wall": "Small Crimsite Brick Wall", - "block.create.small_crimsite_bricks": "Small Crimsite Bricks", - "block.create.small_deepslate_brick_slab": "Small Deepslate Brick Slab", - "block.create.small_deepslate_brick_stairs": "Small Deepslate Brick Stairs", - "block.create.small_deepslate_brick_wall": "Small Deepslate Brick Wall", - "block.create.small_deepslate_bricks": "Small Deepslate Bricks", - "block.create.small_diorite_brick_slab": "Small Diorite Brick Slab", - "block.create.small_diorite_brick_stairs": "Small Diorite Brick Stairs", - "block.create.small_diorite_brick_wall": "Small Diorite Brick Wall", - "block.create.small_diorite_bricks": "Small Diorite Bricks", - "block.create.small_dripstone_brick_slab": "Small Dripstone Brick Slab", - "block.create.small_dripstone_brick_stairs": "Small Dripstone Brick Stairs", - "block.create.small_dripstone_brick_wall": "Small Dripstone Brick Wall", - "block.create.small_dripstone_bricks": "Small Dripstone Bricks", - "block.create.small_granite_brick_slab": "Small Granite Brick Slab", - "block.create.small_granite_brick_stairs": "Small Granite Brick Stairs", - "block.create.small_granite_brick_wall": "Small Granite Brick Wall", - "block.create.small_granite_bricks": "Small Granite Bricks", - "block.create.small_limestone_brick_slab": "Small Limestone Brick Slab", - "block.create.small_limestone_brick_stairs": "Small Limestone Brick Stairs", - "block.create.small_limestone_brick_wall": "Small Limestone Brick Wall", - "block.create.small_limestone_bricks": "Small Limestone Bricks", - "block.create.small_ochrum_brick_slab": "Small Ochrum Brick Slab", - "block.create.small_ochrum_brick_stairs": "Small Ochrum Brick Stairs", - "block.create.small_ochrum_brick_wall": "Small Ochrum Brick Wall", - "block.create.small_ochrum_bricks": "Small Ochrum Bricks", - "block.create.small_rose_quartz_tiles": "Small Rose Quartz Tiles", - "block.create.small_scorchia_brick_slab": "Small Scorchia Brick Slab", - "block.create.small_scorchia_brick_stairs": "Small Scorchia Brick Stairs", - "block.create.small_scorchia_brick_wall": "Small Scorchia Brick Wall", - "block.create.small_scorchia_bricks": "Small Scorchia Bricks", - "block.create.small_scoria_brick_slab": "Small Scoria Brick Slab", - "block.create.small_scoria_brick_stairs": "Small Scoria Brick Stairs", - "block.create.small_scoria_brick_wall": "Small Scoria Brick Wall", - "block.create.small_scoria_bricks": "Small Scoria Bricks", - "block.create.small_tuff_brick_slab": "Small Tuff Brick Slab", - "block.create.small_tuff_brick_stairs": "Small Tuff Brick Stairs", - "block.create.small_tuff_brick_wall": "Small Tuff Brick Wall", - "block.create.small_tuff_bricks": "Small Tuff Bricks", - "block.create.small_veridium_brick_slab": "Small Veridium Brick Slab", - "block.create.small_veridium_brick_stairs": "Small Veridium Brick Stairs", - "block.create.small_veridium_brick_wall": "Small Veridium Brick Wall", - "block.create.small_veridium_bricks": "Small Veridium Bricks", - "block.create.smart_chute": "Smart Chute", - "block.create.smart_fluid_pipe": "Smart Fluid Pipe", - "block.create.speedometer": "Speedometer", - "block.create.spout": "Spout", - "block.create.spruce_window": "Spruce Window", - "block.create.spruce_window_pane": "Spruce Window Pane", - "block.create.steam_engine": "Steam Engine", - "block.create.steam_whistle": "Steam Whistle", - "block.create.steam_whistle_extension": "Steam Whistle Extension", - "block.create.sticker": "Sticker", - "block.create.sticky_mechanical_piston": "Sticky Mechanical Piston", - "block.create.stockpile_switch": "Threshold Switch", - "block.create.stressometer": "Stressometer", - "block.create.tiled_glass": "Tiled Glass", - "block.create.tiled_glass_pane": "Tiled Glass Pane", - "block.create.track": "Train Track", - "block.create.track_observer": "Train Observer", - "block.create.track_signal": "Train Signal", - "block.create.track_station": "Train Station", - "block.create.train_door": "Train Door", - "block.create.train_trapdoor": "Train Trapdoor", - "block.create.tuff_pillar": "Tuff Pillar", - "block.create.turntable": "Turntable", - "block.create.veridium": "Veridium", - "block.create.veridium_pillar": "Veridium Pillar", - "block.create.vertical_framed_glass": "Vertical Framed Glass", - "block.create.vertical_framed_glass_pane": "Vertical Framed Glass Pane", - "block.create.warped_window": "Warped Window", - "block.create.warped_window_pane": "Warped Window Pane", - "block.create.water_wheel": "Water Wheel", - "block.create.water_wheel_structure": "Large Water Wheel", - "block.create.waxed_copper_shingle_slab": "Waxed Copper Shingle Slab", - "block.create.waxed_copper_shingle_stairs": "Waxed Copper Shingle Stairs", - "block.create.waxed_copper_shingles": "Waxed Copper Shingles", - "block.create.waxed_copper_tile_slab": "Waxed Copper Tile Slab", - "block.create.waxed_copper_tile_stairs": "Waxed Copper Tile Stairs", - "block.create.waxed_copper_tiles": "Waxed Copper Tiles", - "block.create.waxed_exposed_copper_shingle_slab": "Waxed Exposed Copper Shingle Slab", - "block.create.waxed_exposed_copper_shingle_stairs": "Waxed Exposed Copper Shingle Stairs", - "block.create.waxed_exposed_copper_shingles": "Waxed Exposed Copper Shingles", - "block.create.waxed_exposed_copper_tile_slab": "Waxed Exposed Copper Tile Slab", - "block.create.waxed_exposed_copper_tile_stairs": "Waxed Exposed Copper Tile Stairs", - "block.create.waxed_exposed_copper_tiles": "Waxed Exposed Copper Tiles", - "block.create.waxed_oxidized_copper_shingle_slab": "Waxed Oxidized Copper Shingle Slab", - "block.create.waxed_oxidized_copper_shingle_stairs": "Waxed Oxidized Copper Shingle Stairs", - "block.create.waxed_oxidized_copper_shingles": "Waxed Oxidized Copper Shingles", - "block.create.waxed_oxidized_copper_tile_slab": "Waxed Oxidized Copper Tile Slab", - "block.create.waxed_oxidized_copper_tile_stairs": "Waxed Oxidized Copper Tile Stairs", - "block.create.waxed_oxidized_copper_tiles": "Waxed Oxidized Copper Tiles", - "block.create.waxed_weathered_copper_shingle_slab": "Waxed Weathered Copper Shingle Slab", - "block.create.waxed_weathered_copper_shingle_stairs": "Waxed Weathered Copper Shingle Stairs", - "block.create.waxed_weathered_copper_shingles": "Waxed Weathered Copper Shingles", - "block.create.waxed_weathered_copper_tile_slab": "Waxed Weathered Copper Tile Slab", - "block.create.waxed_weathered_copper_tile_stairs": "Waxed Weathered Copper Tile Stairs", - "block.create.waxed_weathered_copper_tiles": "Waxed Weathered Copper Tiles", - "block.create.weathered_copper_shingle_slab": "Weathered Copper Shingle Slab", - "block.create.weathered_copper_shingle_stairs": "Weathered Copper Shingle Stairs", - "block.create.weathered_copper_shingles": "Weathered Copper Shingles", - "block.create.weathered_copper_tile_slab": "Weathered Copper Tile Slab", - "block.create.weathered_copper_tile_stairs": "Weathered Copper Tile Stairs", - "block.create.weathered_copper_tiles": "Weathered Copper Tiles", - "block.create.weighted_ejector": "Weighted Ejector", - "block.create.white_nixie_tube": "White Nixie Tube", - "block.create.white_sail": "Windmill Sail", - "block.create.white_seat": "White Seat", - "block.create.white_toolbox": "White Toolbox", - "block.create.white_valve_handle": "White Valve Handle", - "block.create.windmill_bearing": "Windmill Bearing", - "block.create.wooden_bracket": "Wooden Bracket", - "block.create.yellow_nixie_tube": "Yellow Nixie Tube", - "block.create.yellow_sail": "Yellow Sail", - "block.create.yellow_seat": "Yellow Seat", - "block.create.yellow_toolbox": "Yellow Toolbox", - "block.create.yellow_valve_handle": "Yellow Valve Handle", - "block.create.zinc_block": "Block of Zinc", - "block.create.zinc_ore": "Zinc Ore", - - "enchantment.create.capacity": "Capacity", - "enchantment.create.potato_recovery": "Potato Recovery", - - "entity.create.carriage_contraption": "Carriage Contraption", - "entity.create.contraption": "Contraption", - "entity.create.crafting_blueprint": "Crafting Blueprint", - "entity.create.gantry_contraption": "Gantry Contraption", - "entity.create.potato_projectile": "Potato Projectile", - "entity.create.seat": "Seat", - "entity.create.stationary_contraption": "Stationary Contraption", - "entity.create.super_glue": "Super Glue", - - "fluid.create.potion": "Potion", - "fluid.create.tea": "Builder's Tea", - - "item.create.andesite_alloy": "Andesite Alloy", - "item.create.attribute_filter": "Attribute Filter", - "item.create.bar_of_chocolate": "Bar of Chocolate", - "item.create.belt_connector": "Mechanical Belt", - "item.create.blaze_cake": "Blaze Cake", - "item.create.blaze_cake_base": "Blaze Cake Base", - "item.create.brass_hand": "Brass Hand", - "item.create.brass_ingot": "Brass Ingot", - "item.create.brass_nugget": "Brass Nugget", - "item.create.brass_sheet": "Brass Sheet", - "item.create.builders_tea": "Builder's Tea", - "item.create.chest_minecart_contraption": "Chest Minecart Contraption", - "item.create.chocolate_bucket": "Chocolate Bucket", - "item.create.chocolate_glazed_berries": "Chocolate Glazed Berries", - "item.create.chromatic_compound": "Chromatic Compound", - "item.create.cinder_flour": "Cinder Flour", - "item.create.copper_backtank": "Copper Backtank", - "item.create.copper_backtank_placeable": "Copper Backtank Placeable", - "item.create.copper_diving_boots": "Copper Diving Boots", - "item.create.copper_diving_helmet": "Copper Diving Helmet", - "item.create.copper_nugget": "Copper Nugget", - "item.create.copper_sheet": "Copper Sheet", - "item.create.crafter_slot_cover": "Crafter Slot Cover", - "item.create.crafting_blueprint": "Crafting Blueprint", - "item.create.creative_blaze_cake": "Creative Blaze Cake", - "item.create.crushed_raw_aluminum": "Crushed Raw Aluminum", - "item.create.crushed_raw_copper": "Crushed Raw Copper", - "item.create.crushed_raw_gold": "Crushed Raw Gold", - "item.create.crushed_raw_iron": "Crushed Raw Iron", - "item.create.crushed_raw_lead": "Crushed Raw Lead", - "item.create.crushed_raw_nickel": "Crushed Raw Nickel", - "item.create.crushed_raw_osmium": "Crushed Raw Osmium", - "item.create.crushed_raw_platinum": "Crushed Raw Platinum", - "item.create.crushed_raw_quicksilver": "Crushed Raw Quicksilver", - "item.create.crushed_raw_silver": "Crushed Raw Silver", - "item.create.crushed_raw_tin": "Crushed Raw Tin", - "item.create.crushed_raw_uranium": "Crushed Raw Uranium", - "item.create.crushed_raw_zinc": "Crushed Raw Zinc", - "item.create.dough": "Dough", - "item.create.electron_tube": "Electron Tube", - "item.create.empty_blaze_burner": "Empty Blaze Burner", - "item.create.empty_schematic": "Empty Schematic", - "item.create.experience_nugget": "Nugget of Experience", - "item.create.extendo_grip": "Extendo Grip", - "item.create.filter": "List Filter", - "item.create.furnace_minecart_contraption": "Furnace Minecart Contraption", - "item.create.goggles": "Engineer's Goggles", - "item.create.golden_sheet": "Golden Sheet", - "item.create.handheld_worldshaper": "Creative Worldshaper", - "item.create.honey_bucket": "Honey Bucket", - "item.create.honeyed_apple": "Honeyed Apple", - "item.create.incomplete_precision_mechanism": "Incomplete Precision Mechanism", - "item.create.incomplete_track": "Incomplete Track", - "item.create.iron_sheet": "Iron Sheet", - "item.create.linked_controller": "Linked Controller", - "item.create.minecart_contraption": "Minecart Contraption", - "item.create.minecart_coupling": "Minecart Coupling", - "item.create.netherite_backtank": "Netherite Backtank", - "item.create.netherite_backtank_placeable": "Netherite Backtank Placeable", - "item.create.netherite_diving_boots": "Netherite Diving Boots", - "item.create.netherite_diving_helmet": "Netherite Diving Helmet", - "item.create.polished_rose_quartz": "Polished Rose Quartz", - "item.create.potato_cannon": "Potato Cannon", - "item.create.powdered_obsidian": "Powdered Obsidian", - "item.create.precision_mechanism": "Precision Mechanism", - "item.create.propeller": "Propeller", - "item.create.raw_zinc": "Raw Zinc", - "item.create.red_sand_paper": "Red Sand Paper", - "item.create.refined_radiance": "Refined Radiance", - "item.create.rose_quartz": "Rose Quartz", - "item.create.sand_paper": "Sand Paper", - "item.create.schedule": "Train Schedule", - "item.create.schematic": "Schematic", - "item.create.schematic_and_quill": "Schematic And Quill", - "item.create.shadow_steel": "Shadow Steel", - "item.create.sturdy_sheet": "Sturdy Sheet", - "item.create.super_glue": "Super Glue", - "item.create.sweet_roll": "Sweet Roll", - "item.create.tree_fertilizer": "Tree Fertilizer", - "item.create.unprocessed_obsidian_sheet": "Unprocessed Obsidian Sheet", - "item.create.vertical_gearbox": "Vertical Gearbox", - "item.create.wand_of_symmetry": "Wand Of Symmetry", - "item.create.wheat_flour": "Wheat Flour", - "item.create.whisk": "Whisk", - "item.create.wrench": "Wrench", - "item.create.zinc_ingot": "Zinc Ingot", - "item.create.zinc_nugget": "Zinc Nugget", - - - "_": "->------------------------] Advancements [------------------------<-", - - "advancement.create.root": "Welcome to Create", - "advancement.create.root.desc": "Here Be Contraptions", - "advancement.create.andesite_alloy": "Sturdier Rocks", - "advancement.create.andesite_alloy.desc": "Obtain some Andesite Alloy, Create's most important resource", - "advancement.create.andesite_casing": "The Andesite Age", - "advancement.create.andesite_casing.desc": "Apply Andesite Alloy to stripped wood, creating a basic casing for your machines", - "advancement.create.mechanical_press": "Bonk!", - "advancement.create.mechanical_press.desc": "Create some sheets in a Mechanical Press", - "advancement.create.encased_fan": "Wind Maker", - "advancement.create.encased_fan.desc": "Place and power an Encased Fan", - "advancement.create.fan_processing": "Processing by Particle", - "advancement.create.fan_processing.desc": "Use an Encased Fan to process materials", - "advancement.create.saw_processing": "Workshop's Most Feared", - "advancement.create.saw_processing.desc": "Use an upright Mechanical Saw to process materials", - "advancement.create.compacting": "Compactification", - "advancement.create.compacting.desc": "Use a Mechanical Press and a Basin to create fewer items from more", - "advancement.create.belt": "Kelp Drive", - "advancement.create.belt.desc": "Connect two Shafts with a Mechanical Belt", - "advancement.create.funnel": "Airport Aesthetic", - "advancement.create.funnel.desc": "Extract or insert items into a container using a Funnel", - "advancement.create.chute": "Vertical Logistics", - "advancement.create.chute.desc": "Transport some items by Chute", - "advancement.create.mechanical_mixer": "Mixing It Up", - "advancement.create.mechanical_mixer.desc": "Combine ingredients in a Mechanical Mixer", - "advancement.create.burner": "Sentient Fireplace", - "advancement.create.burner.desc": "Obtain a Blaze Burner", - "advancement.create.water_wheel": "Harnessed Hydraulics", - "advancement.create.water_wheel.desc": "Place a Water Wheel and use it to generate torque", - "advancement.create.windmill": "A Mild Breeze", - "advancement.create.windmill.desc": "Assemble a windmill and use it to generate torque", - "advancement.create.shifting_gears": "Shifting Gears", - "advancement.create.shifting_gears.desc": "Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your Contraption", - "advancement.create.millstone": "Embrace the Grind", - "advancement.create.millstone.desc": "Use a Millstone to pulverise materials", - "advancement.create.super_glue": "Area of Connect", - "advancement.create.super_glue.desc": "Super Glue some blocks into a group", - "advancement.create.contraption_actors": "Moving with Purpose", - "advancement.create.contraption_actors.desc": "Create a Contraption with drills, saws, or harvesters on board", - "advancement.create.portable_storage_interface": "Drive-By Exchange", - "advancement.create.portable_storage_interface.desc": "Use a Portable Storage Interface to take or insert items into a Contraption", - "advancement.create.wrench_goggles": "Kitted Out", - "advancement.create.wrench_goggles.desc": "Equip Engineer's Goggles and a Wrench", - "advancement.create.stressometer": "Stress for Nerds", - "advancement.create.stressometer.desc": "Get an exact readout with the help of Engineer's Goggles and a Stressometer", - "advancement.create.cuckoo_clock": "Is It Time?", - "advancement.create.cuckoo_clock.desc": "Witness your Cuckoo Clock announce bedtime", - "advancement.create.windmill_maxed": "A Strong Breeze", - "advancement.create.windmill_maxed.desc": "Assemble a windmill of maximum strength", - "advancement.create.ejector_maxed": "Springboard Champion", - "advancement.create.ejector_maxed.desc": "Get launched more than 30 blocks by a Weighted Ejector", - "advancement.create.pulley_maxed": "Rope to Nowhere", - "advancement.create.pulley_maxed.desc": "Extend a Rope Pulley over 200 blocks deep", - "advancement.create.cart_pickup": "Strong Arms", - "advancement.create.cart_pickup.desc": "Pick up a Minecart Contraption with at least 200 attached blocks", - "advancement.create.anvil_plough": "Blacksmith Artillery", - "advancement.create.anvil_plough.desc": "Launch an Anvil with Mechanical Ploughs", - "advancement.create.lava_wheel_00000": "Magma Wheel", - "advancement.create.lava_wheel_00000.desc": "This shouldn't have worked§7\n(Hidden Advancement)", - "advancement.create.hand_crank_000": "Workout Session", - "advancement.create.hand_crank_000.desc": "Use a Hand Crank until fully exhausted§7\n(Hidden Advancement)", - "advancement.create.belt_funnel_kiss": "The Parrots and the Flaps", - "advancement.create.belt_funnel_kiss.desc": "Make two Belt-mounted Funnels kiss§7\n(Hidden Advancement)", - "advancement.create.stressometer_maxed": "Perfectly Stressed", - "advancement.create.stressometer_maxed.desc": "Get a 100% readout from a Stressometer§7\n(Hidden Advancement)", - "advancement.create.copper": "Cuprum Bokum", - "advancement.create.copper.desc": "Amass some Copper Ingots for your exploits in fluid manipulation", - "advancement.create.copper_casing": "The Copper Age", - "advancement.create.copper_casing.desc": "Apply Copper Ingots to stripped wood, creating a waterproof casing for your machines", - "advancement.create.spout": "Sploosh", - "advancement.create.spout.desc": "Watch a fluid-containing item be filled by a Spout", - "advancement.create.drain": "Tumble Draining", - "advancement.create.drain.desc": "Watch a fluid-containing item be emptied by an Item Drain", - "advancement.create.steam_engine": "The Powerhouse", - "advancement.create.steam_engine.desc": "Use a Steam Engine to generate torque", - "advancement.create.steam_whistle": "Voice of an Angel", - "advancement.create.steam_whistle.desc": "Activate a Steam Whistle", - "advancement.create.backtank": "Pressure to Go", - "advancement.create.backtank.desc": "Create a Copper Backtank and make it accumulate air pressure", - "advancement.create.diving_suit": "Ready for the Depths", - "advancement.create.diving_suit.desc": "Equip a Diving Helmet and a Copper Backtank, then jump into water", - "advancement.create.mechanical_pump_0": "Under Pressure", - "advancement.create.mechanical_pump_0.desc": "Place and power a Mechanical Pump", - "advancement.create.glass_pipe": "Flow Discovery", - "advancement.create.glass_pipe.desc": "Use your Wrench on a pipe that contains a fluid", - "advancement.create.water_supply": "Puddle Collector", - "advancement.create.water_supply.desc": "Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water", - "advancement.create.hose_pulley": "Industrial Spillage", - "advancement.create.hose_pulley.desc": "Lower a Hose Pulley and watch it drain or fill a body of fluid", - "advancement.create.chocolate_bucket": "A World of Imagination", - "advancement.create.chocolate_bucket.desc": "Obtain a bucket of molten chocolate", - "advancement.create.honey_drain": "Autonomous Bee-Keeping", - "advancement.create.honey_drain.desc": "Use pipes to pull honey from a Bee Nest or Beehive", - "advancement.create.hose_pulley_lava": "Tapping the Mantle", - "advancement.create.hose_pulley_lava.desc": "Pump from a body of lava large enough to be considered infinite", - "advancement.create.steam_engine_maxed": "Full Steam", - "advancement.create.steam_engine_maxed.desc": "Run a boiler at the maximum level of power", - "advancement.create.foods": "Balanced Diet", - "advancement.create.foods.desc": "Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout", - "advancement.create.diving_suit_lava": "Swimming with the Striders", - "advancement.create.diving_suit_lava.desc": "Attempt to take a dive in lava with your diving gear§7\n(Hidden Advancement)", - "advancement.create.chained_drain": "On a Roll", - "advancement.create.chained_drain.desc": "Watch an item move across a row of Item Drains§7\n(Hidden Advancement)", - "advancement.create.cross_streams": "Don't Cross the Streams!", - "advancement.create.cross_streams.desc": "Watch two fluids meet in your pipe network§7\n(Hidden Advancement)", - "advancement.create.pipe_organ": "The Pipe Organ", - "advancement.create.pipe_organ.desc": "Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank§7\n(Hidden Advancement)", - "advancement.create.brass": "Real Alloys", - "advancement.create.brass.desc": "Create Brass Ingots by alloying Copper and Zinc Ingots in your Blaze-heated Mechanical Mixer", - "advancement.create.brass_casing": "The Brass Age", - "advancement.create.brass_casing.desc": "Apply Brass Ingots to stripped wood, creating a casing for more sophisticated machines", - "advancement.create.rose_quartz": "Pink Diamonds", - "advancement.create.rose_quartz.desc": "Polish some Rose Quartz", - "advancement.create.deployer": "Artificial Intelligence", - "advancement.create.deployer.desc": "Place and power a Deployer, the perfect reflection of yourself", - "advancement.create.precision_mechanism": "Complex Curiosities", - "advancement.create.precision_mechanism.desc": "Assemble a Precision Mechanism", - "advancement.create.speed_controller": "Engineers Hate Him!", - "advancement.create.speed_controller.desc": "Fine-tune your Contraption with a Rotation Speed Controller", - "advancement.create.mechanical_arm": "Busy Hands", - "advancement.create.mechanical_arm.desc": "Watch your Mechanical Arm transport its first item", - "advancement.create.mechanical_crafter": "Automated Assembly", - "advancement.create.mechanical_crafter.desc": "Place and power some Mechanical Crafters", - "advancement.create.crushing_wheel": "A Pair of Giants", - "advancement.create.crushing_wheel.desc": "Place and power a set of Crushing Wheels", - "advancement.create.haunted_bell": "Shadow Sense", - "advancement.create.haunted_bell.desc": "Toll a Haunted Bell", - "advancement.create.clockwork_bearing": "Contraption O'Clock", - "advancement.create.clockwork_bearing.desc": "Assemble a structure mounted on a Clockwork Bearing", - "advancement.create.display_link": "Big Data", - "advancement.create.display_link.desc": "Use a Display Link to visualise information", - "advancement.create.potato_cannon": "Fwoomp!", - "advancement.create.potato_cannon.desc": "Defeat an enemy with your Potato Cannon", - "advancement.create.extendo_grip": "Boioioing!", - "advancement.create.extendo_grip.desc": "Get hold of an Extendo Grip", - "advancement.create.linked_controller": "Remote Activation", - "advancement.create.linked_controller.desc": "Activate a Redstone Link using a Linked Controller", - "advancement.create.arm_blaze_burner": "Combust-o-Tron", - "advancement.create.arm_blaze_burner.desc": "Instruct a Mechanical Arm to feed your Blaze Burner", - "advancement.create.crusher_maxed_0000": "Crushing It", - "advancement.create.crusher_maxed_0000.desc": "Operate a pair of Crushing Wheels at maximum speed", - "advancement.create.arm_many_targets": "Organize-o-Tron", - "advancement.create.arm_many_targets.desc": "Program a Mechanical Arm with 10 or more output locations", - "advancement.create.potato_cannon_collide": "Veggie Fireworks", - "advancement.create.potato_cannon_collide.desc": "Cause Potato Cannon projectiles of different types to collide with each other", - "advancement.create.self_deploying": "Self-Driving Cart", - "advancement.create.self_deploying.desc": "Create a Minecart Contraption that places tracks in front of itself", - "advancement.create.fist_bump": "Pound It, Bro!", - "advancement.create.fist_bump.desc": "Make two Deployers fist-bump§7\n(Hidden Advancement)", - "advancement.create.crafter_lazy_000": "Desperate Measures", - "advancement.create.crafter_lazy_000.desc": "Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)", - "advancement.create.extendo_grip_dual": "To Full Extent", - "advancement.create.extendo_grip_dual.desc": "Dual-wield Extendo Grips for superhuman reach§7\n(Hidden Advancement)", - "advancement.create.musical_arm": "DJ Mechanico", - "advancement.create.musical_arm.desc": "Watch a Mechanical Arm operate your Jukebox§7\n(Hidden Advancement)", - "advancement.create.sturdy_sheet": "The Sturdiest Rocks", - "advancement.create.sturdy_sheet.desc": "Assemble a Sturdy Sheet by refining Powdered Obsidian", - "advancement.create.train_casing_00": "The Logistical Age", - "advancement.create.train_casing_00.desc": "Use Sturdy Sheets to create a casing for railway components", - "advancement.create.train": "All Aboard!", - "advancement.create.train.desc": "Assemble your first Train", - "advancement.create.conductor": "Conductor Instructor", - "advancement.create.conductor.desc": "Instruct a Train driver with a Train Schedule", - "advancement.create.track_signal": "Traffic Control", - "advancement.create.track_signal.desc": "Place a Train Signal", - "advancement.create.display_board_0": "Dynamic Timetables", - "advancement.create.display_board_0.desc": "Forecast a Train's arrival on your Display Board with the help of Display Links", - "advancement.create.track_0": "A New Gauge", - "advancement.create.track_0.desc": "Obtain some Train Tracks", - "advancement.create.train_whistle": "Choo Choo!", - "advancement.create.train_whistle.desc": "Assemble a Steam Whistle to your Train and activate it while driving", - "advancement.create.train_portal": "Dimensional Commuter", - "advancement.create.train_portal.desc": "Ride a Train through a Nether portal", - "advancement.create.track_crafting_factory": "Track Factory", - "advancement.create.track_crafting_factory.desc": "Produce more than 1000 Train Tracks with the same Mechanical Press", - "advancement.create.long_train": "Ambitious Endeavours", - "advancement.create.long_train.desc": "Create a Train with at least 6 carriages", - "advancement.create.long_travel": "Field Trip", - "advancement.create.long_travel.desc": "Leave a Train Seat over 5000 blocks away from where you started travelling", - "advancement.create.train_roadkill": "Road Kill", - "advancement.create.train_roadkill.desc": "Run over an enemy with your Train§7\n(Hidden Advancement)", - "advancement.create.red_signal": "Expert Driver", - "advancement.create.red_signal.desc": "Run a red Train Signal§7\n(Hidden Advancement)", - "advancement.create.train_crash": "Terrible Service", - "advancement.create.train_crash.desc": "Witness a Train crash as a passenger§7\n(Hidden Advancement)", - "advancement.create.train_crash_backwards": "Blind Spot", - "advancement.create.train_crash_backwards.desc": "Crash into another Train while driving backwards§7\n(Hidden Advancement)", - - - "_": "->------------------------] UI & Messages [------------------------<-", - - "itemGroup.create.base": "Create", - "itemGroup.create.palettes": "Create's Building Blocks", - - "block.create.mangrove_window": "Mangrove Window", - "block.create.mangrove_window_pane": "Mangrove Window Pane", - - "death.attack.create.crush": "%1$s was processed by Crushing Wheels", - "death.attack.create.crush.player": "%1$s was thrown into Crushing Wheels by %2$s", - "death.attack.create.fan_fire": "%1$s got smoked by an Encased Fan", - "death.attack.create.fan_fire.player": "%1$s was thrown into a smoker by %2$s", - "death.attack.create.fan_lava": "%1$s was incinerated by an Encased Fan", - "death.attack.create.fan_lava.player": "%1$s was thrown into a smelter by %2$s", - "death.attack.create.mechanical_drill": "%1$s was impaled by a Mechanical Drill", - "death.attack.create.mechanical_drill.player": "%1$s was thrown in front of a Drill by %2$s", - "death.attack.create.mechanical_roller": "%1$s was flattened by a Mechanical Roller", - "death.attack.create.mechanical_roller.player": "%1$s was thrown in front of a Mechanical Roller by %2$s", - "death.attack.create.mechanical_saw": "%1$s got cut in half by a Mechanical Saw", - "death.attack.create.mechanical_saw.player": "%1$s was thrown into a Saw by %2$s", - "death.attack.create.potato_cannon": "%1$s was shot by %2$s's Potato Cannon", - "death.attack.create.potato_cannon.item": "%1$s was shot by %2$s using %3$s", - "death.attack.create.cuckoo_clock_explosion": "%1$s was blown up by tampered cuckoo clock", - "death.attack.create.cuckoo_clock_explosion.player": "%1$s was blown up by tampered cuckoo clock", - "death.attack.create.run_over": "%1$s was run over by %2$s", - - "create.block.deployer.damage_source_name": "a rogue Deployer", - "create.block.cart_assembler.invalid": "Place your Cart Assembler on a rail block", - - "create.menu.return": "Return to Menu", - "create.menu.configure": "Configure...", - "create.menu.ponder_index": "Ponder Index", - "create.menu.only_ingame": "Available in the Pause Menu", - "create.menu.report_bugs": "Report Issues", - "create.menu.support": "Support Us", - - "create.recipe.crushing": "Crushing", - "create.recipe.milling": "Milling", - "create.recipe.fan_washing": "Bulk Washing", - "create.recipe.fan_washing.fan": "Fan behind Flowing Water", - "create.recipe.fan_smoking": "Bulk Smoking", - "create.recipe.fan_smoking.fan": "Fan behind Fire", - "create.recipe.fan_haunting": "Bulk Haunting", - "create.recipe.fan_haunting.fan": "Fan behind Soul Fire", - "create.recipe.fan_blasting": "Bulk Blasting", - "create.recipe.fan_blasting.fan": "Fan behind Lava", - "create.recipe.pressing": "Pressing", - "create.recipe.mixing": "Mixing", - "create.recipe.deploying": "Deploying", - "create.recipe.automatic_shapeless": "Automated Shapeless Crafting", - "create.recipe.automatic_brewing": "Automated Brewing", - "create.recipe.packing": "Compacting", - "create.recipe.automatic_packing": "Automated Packing", - "create.recipe.sawing": "Sawing", - "create.recipe.mechanical_crafting": "Mechanical Crafting", - "create.recipe.automatic_shaped": "Automated Shaped Crafting", - "create.recipe.block_cutting": "Block Cutting", - "create.recipe.wood_cutting": "Wood Cutting", - "create.recipe.sandpaper_polishing": "Sandpaper Polishing", - "create.recipe.mystery_conversion": "Mysterious Conversion", - "create.recipe.spout_filling": "Filling by Spout", - "create.recipe.draining": "Item Draining", - "create.recipe.item_application": "Manual Item Application", - "create.recipe.item_application.any_axe": "Any Axe", - "create.recipe.sequenced_assembly": "Recipe Sequence", - "create.recipe.assembly.next": "Next: %1$s", - "create.recipe.assembly.step": "Step %1$s:", - "create.recipe.assembly.progress": "Progress: %1$s/%2$s", - "create.recipe.assembly.pressing": "Process in Press", - "create.recipe.assembly.spout_filling_fluid": "Spout %1$s", - "create.recipe.assembly.deploying_item": "Deploy %1$s", - "create.recipe.assembly.cutting": "Cut with Saw", - "create.recipe.assembly.repeat": "Repeat Sequence %1$s Times", - "create.recipe.assembly.junk": "Random salvage", - "create.recipe.processing.chance": "%1$s%% Chance", - "create.recipe.deploying.not_consumed": "Not Consumed", - "create.recipe.heat_requirement.none": "No Heating Required", - "create.recipe.heat_requirement.heated": "Heated", - "create.recipe.heat_requirement.superheated": "Super-Heated", - - "create.generic.range": "Range", - "create.generic.radius": "Radius", - "create.generic.width": "Width", - "create.generic.height": "Height", - "create.generic.length": "Length", - "create.generic.speed": "Speed", - "create.generic.delay": "Delay", - "create.generic.angle": "Angle", - "create.generic.duration": "Duration", - "create.generic.timeUnit": "Time Unit", - "create.generic.unit.ticks": "Ticks", - "create.generic.unit.seconds": "Seconds", - "create.generic.unit.minutes": "Minutes", - "create.generic.daytime.hour": "Hour", - "create.generic.daytime.minute": "Minute", - "create.generic.daytime.second": "Second", - "create.generic.daytime.pm": "pm", - "create.generic.daytime.am": "am", - "create.generic.unit.rpm": "RPM", - "create.generic.unit.stress": "su", - "create.generic.unit.degrees": "°", - "create.generic.unit.millibuckets": "mB", - "create.generic.unit.buckets": "B", - "create.generic.clockwise": "Clockwise", - "create.generic.counter_clockwise": "Counter-Clockwise", - "create.generic.in_quotes": "\"%1$s\"", - "create.generic.pitch": "Pitch: %1$s", - "create.generic.notes": "F#;F;E;D#;D;C#;C;B;A#;A;G#;G", - - "create.action.scroll": "Scroll", - "create.action.confirm": "Confirm", - "create.action.abort": "Abort", - "create.action.saveToFile": "Save", - "create.action.discard": "Discard", - - "create.keyinfo.toolmenu": "Focus Schematic Overlay", - "create.keyinfo.toolbelt": "Access Nearby Toolboxes", - "create.keyinfo.scrollup": "Simulate Mousewheel Up (inworld)", - "create.keyinfo.scrolldown": "Simulate Mousewheel Down (inworld)", - - "create.gui.scrollInput.defaultTitle": "Choose an Option:", - "create.gui.scrollInput.scrollToModify": "Scroll to Modify", - "create.gui.scrollInput.scrollToAdjustAmount": "Scroll to Adjust Amount", - "create.gui.scrollInput.scrollToSelect": "Scroll to Select", - "create.gui.scrollInput.shiftScrollsFaster": "Shift to Scroll Faster", - "create.gui.toolmenu.focusKey": "Hold [%1$s] to Focus", - "create.gui.toolmenu.cycle": "[SCROLL] to Cycle", - - "create.toolbox.unequip": "Unequip: %1$s", - "create.toolbox.outOfRange": "Toolbox of held item not in Range", - "create.toolbox.detach": "Stop tracking and keep item", - "create.toolbox.depositAll": "Return items to nearby Toolboxes", - "create.toolbox.depositBox": "Return items to Toolbox", - - "create.gui.symmetryWand.mirrorType": "Mirror", - "create.gui.symmetryWand.orientation": "Orientation", - - "create.symmetry.mirror.plane": "Mirror Once", - "create.symmetry.mirror.doublePlane": "Rectangular", - "create.symmetry.mirror.triplePlane": "Octagonal", - - "create.orientation.orthogonal": "Orthogonal", - "create.orientation.diagonal": "Diagonal", - "create.orientation.horizontal": "Horizontal", - "create.orientation.alongZ": "Along Z", - "create.orientation.alongX": "Along X", - - "create.gui.terrainzapper.title": "Handheld Blockzapper", - "create.gui.terrainzapper.searchDiagonal": "Follow Diagonals", - "create.gui.terrainzapper.searchFuzzy": "Ignore Material Borders", - "create.gui.terrainzapper.patternSection": "Pattern", - "create.gui.terrainzapper.pattern.solid": "Solid", - "create.gui.terrainzapper.pattern.checkered": "Checkerboard", - "create.gui.terrainzapper.pattern.inversecheckered": "Inverted Checkerboard", - "create.gui.terrainzapper.pattern.chance25": "25% Roll", - "create.gui.terrainzapper.pattern.chance50": "50% Roll", - "create.gui.terrainzapper.pattern.chance75": "75% Roll", - "create.gui.terrainzapper.placement": "Placement", - "create.gui.terrainzapper.placement.merged": "Merged", - "create.gui.terrainzapper.placement.attached": "Attached", - "create.gui.terrainzapper.placement.inserted": "Inserted", - "create.gui.terrainzapper.brush": "Brush", - "create.gui.terrainzapper.brush.cuboid": "Cuboid", - "create.gui.terrainzapper.brush.sphere": "Sphere", - "create.gui.terrainzapper.brush.cylinder": "Cylinder", - "create.gui.terrainzapper.brush.surface": "Surface", - "create.gui.terrainzapper.brush.cluster": "Cluster", - "create.gui.terrainzapper.tool": "Tool", - "create.gui.terrainzapper.tool.fill": "Fill", - "create.gui.terrainzapper.tool.place": "Place", - "create.gui.terrainzapper.tool.replace": "Replace", - "create.gui.terrainzapper.tool.clear": "Clear", - "create.gui.terrainzapper.tool.overlay": "Overlay", - "create.gui.terrainzapper.tool.flatten": "Flatten", - - "create.terrainzapper.shiftRightClickToSet": "Shift-Right-Click to Select a Shape", - "create.terrainzapper.usingBlock": "Using: %1$s", - "create.terrainzapper.leftClickToSet": "Left-Click a Block to set Material", - - "create.large_water_wheel.not_enough_space": "Clear Blocks for Placement", - - "create.minecart_coupling.two_couplings_max": "Minecarts cannot have more than two couplings each", - "create.minecart_coupling.unloaded": "Parts of your train seem to be in unloaded chunks", - "create.minecart_coupling.no_loops": "Couplings cannot form a loop", - "create.minecart_coupling.removed": "Removed all couplings from minecart", - "create.minecart_coupling.too_far": "Minecarts are too far apart", - - "create.contraptions.moving_container": "Moving %1$s", - "create.contraptions.movement_mode": "Movement Mode", - "create.contraptions.movement_mode.move_place": "Always Place when Stopped", - "create.contraptions.movement_mode.move_place_returned": "Place only in Starting Position", - "create.contraptions.movement_mode.move_never_place": "Place only when Anchor Destroyed", - "create.contraptions.movement_mode.rotate_place": "Always Place when Stopped", - "create.contraptions.movement_mode.rotate_place_returned": "Only Place near Initial Angle", - "create.contraptions.movement_mode.rotate_never_place": "Only Place when Anchor Destroyed", - "create.contraptions.cart_movement_mode": "Cart Movement Mode", - "create.contraptions.cart_movement_mode.rotate": "Always face toward motion", - "create.contraptions.cart_movement_mode.rotate_paused": "Pause actors while rotating", - "create.contraptions.cart_movement_mode.rotation_locked": "Lock rotation", - "create.contraptions.roller_mode": "Roller Mode", - "create.contraptions.roller_mode.tunnel_pave": "Clear Blocks and Pave", - "create.contraptions.roller_mode.straight_fill": "Straight Fill Below", - "create.contraptions.roller_mode.wide_fill": "Sloped Fill Below", - "create.contraptions.windmill.rotation_direction": "Rotation Direction", - "create.contraptions.clockwork.clock_hands": "Clock Hand Arrangement", - "create.contraptions.clockwork.hour_first": "Hour hand first", - "create.contraptions.clockwork.minute_first": "Minute hand first", - "create.contraptions.clockwork.hour_first_24": "24-Hour hand first", - - "create.logistics.crafter.connected": "Connected Crafters", - "create.logistics.crafter.click_to_merge": "Click to merge Inventories", - "create.logistics.crafter.click_to_separate": "Click to separate Inventories", - "create.logistics.filter": "Filter", - "create.logistics.recipe_filter": "Recipe Filter", - "create.logistics.fluid_filter": "Fluid Filter", - "create.logistics.firstFrequency": "Frequency #1", - "create.logistics.secondFrequency": "Frequency #2", - "create.logistics.filter.click_to_set": "Click with item to set", - "create.logistics.filter.click_to_replace": "Click with item to replace", - "create.logistics.filter.hold_to_set_amount": "Click and hold for amount", - "create.logistics.filter.invalid_item": "Cannot use this item here.", - "create.logistics.filter.extracted_amount": "Extracted Amount", - "create.logistics.filter.any_amount_short": "Any", - "create.logistics.filter.up_to": "Up to", - "create.logistics.filter.exactly": "Exactly", - "create.logistics.filter.requires_item_in_inventory": "Requires %1$s item in Inventory", - "create.logistics.creative_crate.supply": "Infinite Supply", - "create.logistics.train_observer.cargo_filter": "Cargo Filter", - - "create.kinetics.creative_motor.rotation_speed": "Generated Speed in RPM", - "create.kinetics.speed_controller.rotation_speed": "Targeted Speed in RPM", - "create.kinetics.valve_handle.rotated_angle": "Rotation when used", - - "create.logistics.redstone_interval": "Redstone Interval", - - "create.contraptions.contoller.target": "Targeted Component", - "create.contraptions.mechanical_roller.pave_material": "Paving Material", - "create.contraptions.chassis.radius": "Radius when Sticky", - "create.contraptions.chassis.range": "Range of Sticky Sides", - "create.contraptions.chassis.distance": "Distance", - - "create.gui.value_settings.hold_to_edit": "Click and hold to edit", - "create.gui.value_settings.release_to_confirm": "Release %1$s to Confirm", - "create.gui.goggles.generator_stats": "Generator Stats:", - "create.gui.goggles.kinetic_stats": "Kinetic Stats:", - "create.gui.goggles.at_current_speed": "at current speed", - "create.gui.goggles.pole_length": "Pole Length:", - "create.gui.goggles.basin_contents": "Basin Contents:", - "create.gui.goggles.fluid_container": "Fluid Container Info:", - "create.gui.goggles.fluid_container.capacity": "Capacity: ", - "create.gui.assembly.exception": "This Contraption was unable to assemble:", - "create.gui.assembly.exception.unmovableBlock": "Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]", - "create.gui.assembly.exception.chunkNotLoaded": "The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk", - "create.gui.assembly.exception.structureTooLarge": "There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s", - "create.gui.assembly.exception.tooManyPistonPoles": "There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s", - "create.gui.assembly.exception.noPistonPoles": "The Piston is missing some extension Poles", - "create.gui.assembly.exception.not_enough_sails": "Attached structure does not include enough sail-like blocks: %1$s\nA minimum of %2$s are required", - "create.gui.assembly.exception.no_contacts": "Elevators require a horizontal _Redstone_ _Contact_ attached to the structure", - "create.gui.assembly.exception.too_many_contacts": "Cannot attach more than one _Redstone_ _Contact_ to Elevators", - "create.gui.assembly.exception.column_conflict": "Another Elevator is already targeting this column of contacts", - "create.gui.gauge.info_header": "Gauge Information:", - "create.gui.speedometer.title": "Rotation Speed", - "create.gui.stressometer.title": "Network Stress", - "create.gui.stressometer.capacity": "Remaining Capacity", - "create.gui.stressometer.overstressed": "Overstressed", - "create.gui.stressometer.no_rotation": "No Rotation", - "create.gui.contraptions.not_fast_enough": "It appears that this %1$s is _not_ rotating with _enough_ _speed_.", - "create.gui.contraptions.network_overstressed": "It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.", - "create.gui.adjustable_crate.title": "Adjustable Crate", - "create.gui.adjustable_crate.storageSpace": "Storage Space", - "create.gui.threshold_switch.title": "Threshold Switch", - "create.gui.threshold_switch.invert_signal": "Invert Signal", - "create.gui.threshold_switch.move_to_lower_at": "Move to lower lane at %1$s%%", - "create.gui.threshold_switch.move_to_upper_at": "Move to upper lane at %1$s%%", - "create.gui.sequenced_gearshift.title": "Sequenced Gearshift", - "create.gui.sequenced_gearshift.instruction": "Instruction", - "create.gui.sequenced_gearshift.instruction.turn_angle.descriptive": "Turn by angle", - "create.gui.sequenced_gearshift.instruction.turn_angle": "Turn", - "create.gui.sequenced_gearshift.instruction.turn_angle.angle": "Angle", - "create.gui.sequenced_gearshift.instruction.turn_distance.descriptive": "Turn to move Piston/Pulley/Gantry", - "create.gui.sequenced_gearshift.instruction.turn_distance": "Piston", - "create.gui.sequenced_gearshift.instruction.turn_distance.distance": "Distance", - "create.gui.sequenced_gearshift.instruction.delay.descriptive": "Timed Delay", - "create.gui.sequenced_gearshift.instruction.delay": "Delay", - "create.gui.sequenced_gearshift.instruction.delay.duration": "Duration", - "create.gui.sequenced_gearshift.instruction.end.descriptive": "End", - "create.gui.sequenced_gearshift.instruction.end": "End", - "create.gui.sequenced_gearshift.instruction.await.descriptive": "Await new Redstone Pulse", - "create.gui.sequenced_gearshift.instruction.await": "Await", - "create.gui.sequenced_gearshift.speed": "Speed, Direction", - "create.gui.sequenced_gearshift.speed.forward": "Input speed, Forwards", - "create.gui.sequenced_gearshift.speed.forward_fast": "Double speed, Forwards", - "create.gui.sequenced_gearshift.speed.back": "Input speed, Reversed", - "create.gui.sequenced_gearshift.speed.back_fast": "Double speed, Reversed", - "create.gui.clipboard.erase_checked": "Erase checked items", - - "create.clipboard.actions": "Clipboard Actions", - "create.clipboard.to_copy": "%1$s to Copy settings", - "create.clipboard.to_paste": "%1$s to Paste settings", - "create.clipboard.copied_from": "Copying settings from %1$s", - "create.clipboard.pasted_to": "Applied settings to %1$s", - - "create.schematicAndQuill.dimensions": "Schematic Size: %1$sx%2$sx%3$s", - "create.schematicAndQuill.firstPos": "First position set.", - "create.schematicAndQuill.secondPos": "Second position set.", - "create.schematicAndQuill.noTarget": "Hold [Ctrl] to select Air blocks.", - "create.schematicAndQuill.abort": "Removed selection.", - "create.schematicAndQuill.title": "Schematic Name:", - "create.schematicAndQuill.convert": "Save and Upload Immediately", - "create.schematicAndQuill.fallbackName": "My Schematic", - "create.schematicAndQuill.saved": "Saved as %1$s", - "create.schematicAndQuill.failed": "Failed to save schematic, check logs for details", - "create.schematicAndQuill.instant_failed": "Schematic instant-upload failed, check logs for details", - - "create.schematic.invalid": "[!] Invalid Item - Use the Schematic Table instead", - "create.schematic.error": "Schematic failed to Load - Check Game Logs", - "create.schematic.position": "Position", - "create.schematic.rotation": "Rotation", - "create.schematic.rotation.none": "None", - "create.schematic.rotation.cw90": "Clockwise 90", - "create.schematic.rotation.cw180": "Clockwise 180", - "create.schematic.rotation.cw270": "Clockwise 270", - "create.schematic.mirror": "Mirror", - "create.schematic.mirror.none": "None", - "create.schematic.mirror.frontBack": "Front-Back", - "create.schematic.mirror.leftRight": "Left-Right", - "create.schematic.tool.deploy": "Position", - "create.schematic.tool.move": "Move XZ", - "create.schematic.tool.move_y": "Move Y", - "create.schematic.tool.rotate": "Rotate", - "create.schematic.tool.print": "Print", - "create.schematic.tool.flip": "Mirror", - "create.schematic.tool.deploy.description.0": "Moves the structure to a location.", - "create.schematic.tool.deploy.description.1": "Right-Click on the ground to place.", - "create.schematic.tool.deploy.description.2": "Hold [Ctrl] to select at a fixed distance.", - "create.schematic.tool.deploy.description.3": "[Ctrl]-Scroll to change the distance.", - "create.schematic.tool.move.description.0": "Shifts the Schematic Horizontally.", - "create.schematic.tool.move.description.1": "Point at the Schematic and [CTRL]-Scroll to push it.", - "create.schematic.tool.move.description.2": "", - "create.schematic.tool.move.description.3": "", - "create.schematic.tool.move_y.description.0": "Shifts the Schematic Vertically.", - "create.schematic.tool.move_y.description.1": "[CTRL]-Scroll to move it up/down.", - "create.schematic.tool.move_y.description.2": "", - "create.schematic.tool.move_y.description.3": "", - "create.schematic.tool.rotate.description.0": "Rotates the Schematic around its center.", - "create.schematic.tool.rotate.description.1": "[CTRL]-Scroll to rotate by 90 Degrees.", - "create.schematic.tool.rotate.description.2": "", - "create.schematic.tool.rotate.description.3": "", - "create.schematic.tool.print.description.0": "Instantly places the structure in the world.", - "create.schematic.tool.print.description.1": "[Right-Click] to confirm placement at the current location.", - "create.schematic.tool.print.description.2": "This tool is for Creative Mode only.", - "create.schematic.tool.print.description.3": "", - "create.schematic.tool.flip.description.0": "Flips the Schematic along the face you select.", - "create.schematic.tool.flip.description.1": "Point at the Schematic and [CTRL]-Scroll to flip it.", - "create.schematic.tool.flip.description.2": "", - "create.schematic.tool.flip.description.3": "", - - "create.schematics.synchronizing": "Syncing...", - "create.schematics.uploadTooLarge": "Your schematic exceeds limitations specified by the server.", - "create.schematics.maxAllowedSize": "The maximum allowed schematic file size is:", - - "create.gui.schematicTable.refresh": "Refresh Files", - "create.gui.schematicTable.open_folder": "Open Folder", - "create.gui.schematicTable.title": "Schematic Table", - "create.gui.schematicTable.availableSchematics": "Available Schematics", - "create.gui.schematicTable.noSchematics": "No Schematics Saved", - "create.gui.schematicTable.uploading": "Uploading...", - "create.gui.schematicTable.finished": "Upload Finished!", - "create.gui.schematicannon.title": "Schematicannon", - "create.gui.schematicannon.listPrinter": "Checklist Printer", - "create.gui.schematicannon.gunpowderLevel": "Gunpowder at %1$s%%", - "create.gui.schematicannon.shotsRemaining": "Shots left: %1$s", - "create.gui.schematicannon.shotsRemainingWithBackup": "With backup: %1$s", - "create.gui.schematicannon.optionEnabled": "Currently Enabled", - "create.gui.schematicannon.optionDisabled": "Currently Disabled", - "create.gui.schematicannon.showOptions": "Show Printer Settings", - "create.gui.schematicannon.option.dontReplaceSolid": "Don't Replace Solid Blocks", - "create.gui.schematicannon.option.replaceWithSolid": "Replace Solid with Solid", - "create.gui.schematicannon.option.replaceWithAny": "Replace Solid with Any", - "create.gui.schematicannon.option.replaceWithEmpty": "Replace Solid with Empty", - "create.gui.schematicannon.option.skipMissing": "Skip missing Blocks", - "create.gui.schematicannon.option.skipBlockEntities": "Protect Block Entities", - "create.gui.schematicannon.slot.gunpowder": "Add gunpowder to fuel the cannon", - "create.gui.schematicannon.slot.listPrinter": "Place a Clipboard or Book here to print a Checklist for your Schematic", - "create.gui.schematicannon.slot.schematic": "Add your Schematic here. Make sure it is deployed at a specific location.", - "create.gui.schematicannon.option.skipMissing.description": "If the cannon cannot find a required Block for placement, it will continue at the next Location.", - "create.gui.schematicannon.option.skipBlockEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.", - "create.gui.schematicannon.option.dontReplaceSolid.description": "The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.", - "create.gui.schematicannon.option.replaceWithSolid.description": "The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", - "create.gui.schematicannon.option.replaceWithAny.description": "The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.", - "create.gui.schematicannon.option.replaceWithEmpty.description": "The cannon will clear out all blocks in its working area, including those replaced by Air.", - - "create.schematicannon.status.idle": "Idle", - "create.schematicannon.status.ready": "Ready", - "create.schematicannon.status.running": "Running", - "create.schematicannon.status.finished": "Finished", - "create.schematicannon.status.paused": "Paused", - "create.schematicannon.status.stopped": "Stopped", - "create.schematicannon.status.noGunpowder": "Out of Gunpowder", - "create.schematicannon.status.targetNotLoaded": "Target is not loaded", - "create.schematicannon.status.targetOutsideRange": "Target too far away", - "create.schematicannon.status.searching": "Searching", - "create.schematicannon.status.skipping": "Skipping", - "create.schematicannon.status.missingBlock": "Missing Item:", - "create.schematicannon.status.placing": "Placing", - "create.schematicannon.status.clearing": "Clearing Blocks", - "create.schematicannon.status.schematicInvalid": "Schematic Invalid", - "create.schematicannon.status.schematicNotPlaced": "Schematic not Positioned", - "create.schematicannon.status.schematicExpired": "Schematic File Expired", - "create.schematicannon.status.schematicErrored": "Incompatible Blocks", - "create.schematicannon.status.schematicErroredCheckLogs": "Check Server Logs", - - "create.materialChecklist": "Material Checklist", - "create.materialChecklist.blocksNotLoaded": "* Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.", - - "create.gui.filter.deny_list": "Deny-List", - "create.gui.filter.deny_list.description": "Items pass if they do NOT match any of the above. An empty Deny-List accepts everything.", - "create.gui.filter.allow_list": "Allow-List", - "create.gui.filter.allow_list.description": "Items pass if they match any of the above. An empty Allow-List rejects everything.", - "create.gui.filter.respect_data": "Respect Data", - "create.gui.filter.respect_data.description": "Items only match if their durability, enchantments, and other attributes match as well.", - "create.gui.filter.ignore_data": "Ignore Data", - "create.gui.filter.ignore_data.description": "Items match regardless of their attributes.", - - "create.item_attributes.placeable": "is placeable", - "create.item_attributes.placeable.inverted": "is not placeable", - "create.item_attributes.consumable": "can be eaten", - "create.item_attributes.consumable.inverted": "cannot be eaten", - "create.item_attributes.fluid_container": "can store fluids", - "create.item_attributes.fluid_container.inverted": "cannot store fluids", - "create.item_attributes.enchanted": "is enchanted", - "create.item_attributes.enchanted.inverted": "is unenchanted", - "create.item_attributes.max_enchanted": "is enchanted at max level", - "create.item_attributes.max_enchanted.inverted": "is not enchanted at max level", - "create.item_attributes.renamed": "has a custom name", - "create.item_attributes.renamed.inverted": "does not have a custom name", - "create.item_attributes.damaged": "is damaged", - "create.item_attributes.damaged.inverted": "is not damaged", - "create.item_attributes.badly_damaged": "is heavily damaged", - "create.item_attributes.badly_damaged.inverted": "is not heavily damaged", - "create.item_attributes.not_stackable": "cannot stack", - "create.item_attributes.not_stackable.inverted": "can be stacked", - "create.item_attributes.equipable": "can be equipped", - "create.item_attributes.equipable.inverted": "cannot be equipped", - "create.item_attributes.furnace_fuel": "is furnace fuel", - "create.item_attributes.furnace_fuel.inverted": "is not furnace fuel", - "create.item_attributes.washable": "can be Washed", - "create.item_attributes.washable.inverted": "cannot be Washed", - "create.item_attributes.hauntable": "can be Haunted", - "create.item_attributes.hauntable.inverted": "cannot be Haunted", - "create.item_attributes.crushable": "can be Crushed", - "create.item_attributes.crushable.inverted": "cannot be Crushed", - "create.item_attributes.smeltable": "can be Smelted", - "create.item_attributes.smeltable.inverted": "cannot be Smelted", - "create.item_attributes.smokable": "can be Smoked", - "create.item_attributes.smokable.inverted": "cannot be Smoked", - "create.item_attributes.blastable": "can be Smelted in a Blast Furnace", - "create.item_attributes.blastable.inverted": "cannot be Smelted in a Blast Furnace", - "create.item_attributes.compostable": "can be composted", - "create.item_attributes.compostable.inverted": "cannot be composted", - "create.item_attributes.shulker_level": "is shulker %1$s", - "create.item_attributes.shulker_level.inverted": "is shulker not %1$s", - "create.item_attributes.shulker_level.full": "full", - "create.item_attributes.shulker_level.empty": "empty", - "create.item_attributes.shulker_level.partial": "partially filled", - "create.item_attributes.in_tag": "is tagged %1$s", - "create.item_attributes.in_tag.inverted": "is not tagged %1$s", - "create.item_attributes.in_item_group": "is in group '%1$s'", - "create.item_attributes.in_item_group.inverted": "is not in group '%1$s'", - "create.item_attributes.added_by": "was added by %1$s", - "create.item_attributes.added_by.inverted": "was not added by %1$s", - "create.item_attributes.has_enchant": "is enchanted with %1$s", - "create.item_attributes.has_enchant.inverted": "is not enchanted with %1$s", - "create.item_attributes.color": "is dyed %1$s", - "create.item_attributes.color.inverted": "is not dyed %1$s", - "create.item_attributes.has_fluid": "contains %1$s", - "create.item_attributes.has_fluid.inverted": "does not contain %1$s", - "create.item_attributes.has_name": "has the custom name %1$s", - "create.item_attributes.has_name.inverted": "does not have the custom name %1$s", - "create.item_attributes.book_author": "was authored by %1$s", - "create.item_attributes.book_author.inverted": "was not authored by %1$s", - "create.item_attributes.book_copy_original": "is an original", - "create.item_attributes.book_copy_original.inverted": "is not an original", - "create.item_attributes.book_copy_first": "is a first-generation copy", - "create.item_attributes.book_copy_first.inverted": "is not a first-generation copy", - "create.item_attributes.book_copy_second": "is a second-generation copy", - "create.item_attributes.book_copy_second.inverted": "is not a second-generation copy", - "create.item_attributes.book_copy_tattered": "is a tattered mess", - "create.item_attributes.book_copy_tattered.inverted": "is not a tattered mess", - "create.item_attributes.astralsorcery_amulet": "improves %1$s", - "create.item_attributes.astralsorcery_amulet.inverted": "does not improve %1$s", - "create.item_attributes.astralsorcery_constellation": "is attuned to %1$s", - "create.item_attributes.astralsorcery_constellation.inverted": "is not attuned to %1$s", - "create.item_attributes.astralsorcery_crystal": "has crystal attribute %1$s", - "create.item_attributes.astralsorcery_crystal.inverted": "does not have crystal attribute %1$s", - "create.item_attributes.astralsorcery_perk_gem": "has perk attribute %1$s", - "create.item_attributes.astralsorcery_perk_gem.inverted": "does not have perk attribute %1$s", - - "create.gui.attribute_filter.no_selected_attributes": "No attributes selected", - "create.gui.attribute_filter.selected_attributes": "Selected attributes:", - "create.gui.attribute_filter.add_attribute": "Add attribute to List", - "create.gui.attribute_filter.add_inverted_attribute": "Add opposite attribute to List", - "create.gui.attribute_filter.allow_list_disjunctive": "Allow-List (Any)", - "create.gui.attribute_filter.allow_list_disjunctive.description": "Items pass if they have any of the selected attributes.", - "create.gui.attribute_filter.allow_list_conjunctive": "Allow-List (All)", - "create.gui.attribute_filter.allow_list_conjunctive.description": "Items pass only if they have ALL of the selected attributes.", - "create.gui.attribute_filter.deny_list": "Deny-List", - "create.gui.attribute_filter.deny_list.description": "Items pass if they do NOT have any of the selected attributes.", - "create.gui.attribute_filter.add_reference_item": "Add Reference Item", - - "create.tooltip.holdForDescription": "Hold [%1$s] for Summary", - "create.tooltip.holdForControls": "Hold [%1$s] for Controls", - "create.tooltip.keyShift": "Shift", - "create.tooltip.keyCtrl": "Ctrl", - "create.tooltip.speedRequirement": "Speed Requirement: %1$s", - "create.tooltip.speedRequirement.none": "None", - "create.tooltip.speedRequirement.slow": "Slow", - "create.tooltip.speedRequirement.medium": "Moderate", - "create.tooltip.speedRequirement.fast": "Fast", - "create.tooltip.stressImpact": "Kinetic Stress Impact: %1$s", - "create.tooltip.stressImpact.low": "Low", - "create.tooltip.stressImpact.medium": "Moderate", - "create.tooltip.stressImpact.high": "High", - "create.tooltip.stressImpact.overstressed": "Overstressed", - "create.tooltip.up_to": "Up to %1$s", - "create.tooltip.capacityProvided": "Kinetic Stress Capacity: %1$s", - "create.tooltip.capacityProvided.low": "Small", - "create.tooltip.capacityProvided.medium": "Medium", - "create.tooltip.capacityProvided.high": "Large", - "create.tooltip.generationSpeed": "Generates at %1$s %2$s", - "create.tooltip.analogStrength": "Analog Strength: %1$s/15", - - "create.mechanical_arm.extract_from": "Take items from %1$s", - "create.mechanical_arm.deposit_to": "Deposit items to %1$s", - "create.mechanical_arm.summary": "Mechanical Arm has %1$s input(s) and %2$s output(s).", - "create.mechanical_arm.points_outside_range": "%1$s selected interaction point(s) removed due to range limitations.", - - "create.weighted_ejector.target_set": "Target Selected", - "create.weighted_ejector.target_not_valid": "Ejecting to Adjacent block (Target was not Valid)", - "create.weighted_ejector.no_target": "Ejecting to Adjacent block (No Target was Selected)", - "create.weighted_ejector.targeting": "Ejecting to [%1$s,%2$s,%3$s]", - "create.weighted_ejector.stack_size": "Ejected Stack Size", - - "create.logistics.when_multiple_outputs_available": "Distribution Method", - - "create.mechanical_arm.selection_mode.round_robin": "Round Robin", - "create.mechanical_arm.selection_mode.forced_round_robin": "Forced Round Robin", - "create.mechanical_arm.selection_mode.prefer_first": "Prefer First Target", - - "create.tunnel.selection_mode.split": "Split", - "create.tunnel.selection_mode.forced_split": "Forced Split", - "create.tunnel.selection_mode.round_robin": "Round Robin", - "create.tunnel.selection_mode.forced_round_robin": "Forced Round Robin", - "create.tunnel.selection_mode.prefer_nearest": "Prefer Nearest", - "create.tunnel.selection_mode.randomize": "Randomize", - "create.tunnel.selection_mode.synchronize": "Synchronize Inputs", - - "create.tooltip.chute.header": "Chute Information", - "create.tooltip.chute.items_move_down": "Items move Downward", - "create.tooltip.chute.items_move_up": "Items move Upward", - "create.tooltip.chute.no_fans_attached": "No attached fans", - "create.tooltip.chute.fans_push_up": "Fans push from Below", - "create.tooltip.chute.fans_push_down": "Fans push from Above", - "create.tooltip.chute.fans_pull_up": "Fans pull from Above", - "create.tooltip.chute.fans_pull_down": "Fans pull from Below", - "create.tooltip.chute.contains": "Contains: %1$s x%2$s", - "create.tooltip.deployer.header": "Deployer Information", - "create.tooltip.deployer.using": "Mode: Use", - "create.tooltip.deployer.punching": "Mode: Attack", - "create.tooltip.deployer.contains": "Item: %1$s x%2$s", - "create.tooltip.brass_tunnel.contains": "Currently distributing:", - "create.tooltip.brass_tunnel.contains_entry": "> %1$s x%2$s", - "create.tooltip.brass_tunnel.retrieve": "Right-Click to retrieve", - - "create.linked_controller.bind_mode": "Bind mode active", - "create.linked_controller.press_keybind": "Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key", - "create.linked_controller.key_bound": "Frequency bound to %1$s", - "create.linked_controller.frequency_slot_1": "Keybind: %1$s, Freq. #1", - "create.linked_controller.frequency_slot_2": "Keybind: %1$s, Freq. #2", - - "create.crafting_blueprint.crafting_slot": "Ingredient Slot", - "create.crafting_blueprint.filter_items_viable": "Advanced filter items are viable", - "create.crafting_blueprint.display_slot": "Display Slot", - "create.crafting_blueprint.inferred": "Inferred from recipe", - "create.crafting_blueprint.manually_assigned": "Manually assigned", - "create.crafting_blueprint.secondary_display_slot": "Secondary Display Slot", - "create.crafting_blueprint.optional": "Optional", - - "create.potato_cannon.ammo.attack_damage": "%1$s Attack Damage", - "create.potato_cannon.ammo.reload_ticks": "%1$s Reload Ticks", - "create.potato_cannon.ammo.knockback": "%1$s Knockback", - - "create.hint.hose_pulley.title": "Bottomless Supply", - "create.hint.hose_pulley": "The targeted body of fluid is considered infinite.", - "create.hint.mechanical_arm_no_targets.title": "No Targets", - "create.hint.mechanical_arm_no_targets": "It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.", - "create.hint.empty_bearing.title": "Update Bearing", - "create.hint.empty_bearing": "_Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.", - "create.hint.full_deployer.title": "Deployer cannot activate", - "create.hint.full_deployer": "It appears this _Deployer_ contains _excess_ _items_ that need to be _extracted._ Use a _hopper,_ _funnel_ or other means to free it from its overflow.", - - "create.backtank.low": "Backtank pressure low", - "create.backtank.depleted": "Backtank pressure depleted", - - "create.hint.derailed_train.title": "Derailed Train", - "create.hint.derailed_train": "It appears this _Train_ is no longer sitting on a connected track piece. _Right-Click_ using a _wrench_ in order to relocate it to a nearby track.", - - "create.boiler.status": "Boiler Status: %1$s", - "create.boiler.status_short": "Boiler: %1$s", - "create.boiler.passive": "Passive", - "create.boiler.idle": "Idle", - "create.boiler.lvl": "Lvl %1$s", - "create.boiler.max_lvl": "Max", - "create.boiler.size": "Size", - "create.boiler.size_dots": "....... ", - "create.boiler.water": "Water", - "create.boiler.water_dots": "... ", - "create.boiler.heat": "Heat", - "create.boiler.heat_dots": "...... ", - "create.boiler.via_one_engine": "via 1 engine", - "create.boiler.via_engines": "via %1$s engines", - "create.boiler.water_input_rate": "Water input rate", - "create.boiler.per_tick": "%1$s per Tick", - - "create.elevator_contact.title": "Elevator Contact", - "create.elevator_contact.floor_identifier": "Floor Identifier", - "create.elevator_contact.floor_description": "Floor Description", - - "create.gui.schedule.lmb_edit": "Left-Click to Edit", - "create.gui.schedule.rmb_remove": "Right-Click to Remove", - "create.gui.schedule.duplicate": "Duplicate", - "create.gui.schedule.remove_entry": "Remove Action", - "create.gui.schedule.add_entry": "Add Action", - "create.gui.schedule.move_up": "Move up", - "create.gui.schedule.move_down": "Move down", - "create.gui.schedule.add_condition": "Add Condition", - "create.gui.schedule.alternative_condition": "Alternative Condition", - - "create.schedule.instruction_type": "Next Action:", - "create.schedule.instruction.editor": "Instruction Editor", - "create.schedule.instruction.destination": "Travel to Station", - "create.schedule.instruction.destination.summary": "Next Stop:", - "create.schedule.instruction.filter_edit_box": "Station Name", - "create.schedule.instruction.filter_edit_box_1": "Use * as a text wildcard", - "create.schedule.instruction.filter_edit_box_2": "Example: 'My Station, Platform *'", - "create.schedule.instruction.filter_edit_box_3": "Train picks nearest unoccupied match", - "create.schedule.instruction.rename": "Update Schedule Title", - "create.schedule.instruction.rename.summary": "New Title:", - "create.schedule.instruction.name_edit_box": "Schedule Title", - "create.schedule.instruction.name_edit_box_1": "Affects text shown on displays", - "create.schedule.instruction.name_edit_box_2": "Defaults to next destination's name", - "create.schedule.instruction.throttle": "Limit Max Speed", - "create.schedule.instruction.throttle.summary": "Change Max Speed to %1$s", - "create.schedule.instruction.throttle_edit_box": "Throttle", - "create.schedule.instruction.throttle_edit_box_1": "Affects the top speed of the Train", - "create.schedule.condition_type": "Continue if/after:", - "create.schedule.condition.editor": "Condition Editor", - "create.schedule.condition.delay": "Scheduled Delay", - "create.schedule.condition.delay_short": "Wait: %1$s", - "create.schedule.condition.delay.status": "Departs in %1$s", - "create.schedule.condition.idle": "Cargo Inactivity", - "create.schedule.condition.idle_short": "Cargo Idle: %1$s", - "create.schedule.condition.idle.status": "Cargo Idle for %1$s", - "create.schedule.condition.for_x_time": "for %1$s", - "create.schedule.condition.unloaded": "Chunk Unloaded", - "create.schedule.condition.unloaded.status": "Waiting for chunk unload", - "create.schedule.condition.powered": "Station Powered", - "create.schedule.condition.powered.status": "Waiting for redstone", - "create.schedule.condition.time_of_day": "Time of Day", - "create.schedule.condition.time_of_day.scheduled": "Scheduled Time: %1$s", - "create.schedule.condition.time_of_day.digital_format": "%1$s:%3$s %4$s", - "create.schedule.condition.time_of_day.rotation": "Rotation", - "create.schedule.condition.time_of_day.rotation.every_24": "Every Day", - "create.schedule.condition.time_of_day.rotation.every_12": "Every 12:00", - "create.schedule.condition.time_of_day.rotation.every_6": "Every 6:00", - "create.schedule.condition.time_of_day.rotation.every_4": "Every 4:00", - "create.schedule.condition.time_of_day.rotation.every_3": "Every 3:00", - "create.schedule.condition.time_of_day.rotation.every_2": "Every 2:00", - "create.schedule.condition.time_of_day.rotation.every_1": "Every 1:00", - "create.schedule.condition.time_of_day.rotation.every_0_45": "Every 0:45", - "create.schedule.condition.time_of_day.rotation.every_0_30": "Every 0:30", - "create.schedule.condition.time_of_day.rotation.every_0_15": "Every 0:15", - "create.schedule.condition.time_of_day.status": "Departs at ", - "create.schedule.condition.threshold.train_holds": "Train holds %1$s", - "create.schedule.condition.threshold.greater": "more than", - "create.schedule.condition.threshold.less": "less than", - "create.schedule.condition.threshold.equal": "exactly", - "create.schedule.condition.threshold.x_units_of_item": "%1$s %2$s of %3$s", - "create.schedule.condition.threshold.matching_content": "Matching Content", - "create.schedule.condition.threshold.anything": "Anything", - "create.schedule.condition.threshold.item_measure": "Item Measure", - "create.schedule.condition.threshold.items": "Items", - "create.schedule.condition.threshold.stacks": "Stacks", - "create.schedule.condition.threshold.buckets": "Buckets", - "create.schedule.condition.threshold.status": "Cargo: %1$s/%2$s %3$s", - "create.schedule.condition.threshold.place_item": "Reference Item", - "create.schedule.condition.threshold.place_item_2": "Filters can be used", - "create.schedule.condition.threshold.place_item_3": "Leave empty to match any", - "create.schedule.condition.fluid_threshold": "Fluid Cargo Condition", - "create.schedule.condition.item_threshold": "Item Cargo Condition", - "create.schedule.condition.redstone_link": "Redstone Link", - "create.schedule.condition.redstone_link.status": "Waiting for redstone link", - "create.schedule.condition.redstone_link_on": "Link On", - "create.schedule.condition.redstone_link_off": "Link Off", - "create.schedule.condition.redstone_link.powered": "Powered", - "create.schedule.condition.redstone_link.unpowered": "Not powered", - "create.schedule.condition.redstone_link.frequency_state": "Frequency state:", - "create.schedule.condition.redstone_link.frequency_powered": "Frequency powered:", - "create.schedule.condition.redstone_link.frequency_unpowered": "Frequency not powered:", - "create.schedule.condition.player_count": "Players Seated", - "create.schedule.condition.player_count.summary": "%1$s Player", - "create.schedule.condition.player_count.summary_plural": "%1$s Players", - "create.schedule.condition.player_count.seated": "%1$s seated", - "create.schedule.condition.player_count.players": "Players", - "create.schedule.condition.player_count.condition": "Conditional", - "create.schedule.condition.player_count.exactly": "Exactly", - "create.schedule.condition.player_count.or_above": "Or above", - "create.schedule.condition.player_count.status": "Passengers: %1$s/%2$s", - "create.schedule.loop": "Loop Forever", - "create.schedule.loop1": "Schedule starts over", - "create.schedule.loop2": "when completed", - "create.schedule.reset": "Reset Progress", - "create.schedule.skip": "Skip current Stop", - "create.schedule.applied_to_train": "Train is now following this Schedule", - "create.schedule.non_controlling_seat": "Conductor needs to sit in front of a Controls block", - "create.schedule.remove_with_empty_hand": "Remove current Schedule with an Empty Hand", - "create.schedule.auto_removed_from_train": "Auto-Schedule discarded", - "create.schedule.removed_from_train": "Schedule retrieved from Train", - "create.schedule.no_stops": "This Schedule does not have any Stops yet", - "create.schedule.continued": "Schedule resumed", - - "create.track.selection_cleared": "Selection Cleared", - "create.track.valid_connection": "Can Connect ✔", - "create.track.second_point": "Place track or select a second point", - "create.track.too_far": "Too far away", - "create.track.original_missing": "Original block removed, Sneak-click to reset", - "create.track.perpendicular": "Cannot connect perpendicularly", - "create.track.ascending_s_curve": "Cannot create sloped S-Bends", - "create.track.too_sharp": "Turn too sharp", - "create.track.too_steep": "Slope too steep", - "create.track.slope_turn": "Cannot enter or leave slope on a turn", - "create.track.opposing_slopes": "Cannot connect opposing slopes", - "create.track.leave_slope_ascending": "Cannot leave this slope while ascending", - "create.track.leave_slope_descending": "Cannot leave this slope while descending", - "create.track.turn_90": "Can only turn up to 90 Degrees", - "create.track.junction_start": "Cannot start connection from a Junction", - "create.track.turn_start": "Cannot start connection from a Turn", - "create.track.not_enough_tracks": "Not holding enough tracks", - "create.track.not_enough_pavement": "Not holding enough pavement blocks", - "create.track.hold_for_smooth_curve": "Hold %1$s for maximized turn", - - "create.portal_track.failed": "Cannot place portal track:", - "create.portal_track.missing": "Target portal not generated yet", - "create.portal_track.blocked": "Target location blocked (%1$s,%2$s,%3$s)", - - "create.station.idle": "Station is Idle", - "create.station.assembly_title": "Train Assembly", - "create.station.close": "Close Window", - "create.station.cancel": "Cancel Assembly", - "create.station.failed": "Assembly Failed", - "create.station.icon_type": "Icon Type", - "create.station.create_train": "Create new Train", - "create.station.assemble_train": "Assemble Train", - "create.station.disassemble_train": "Disassemble Train", - "create.station.remove_schedule": "Retrieve Schedule", - "create.station.remove_auto_schedule": "Discard Auto-Schedule", - "create.station.no_assembly_diagonal": "Cannot build trains", - "create.station.no_assembly_diagonal_1": "on diagonal tracks", - "create.station.no_assembly_curve": "Cannot build trains", - "create.station.no_assembly_curve_1": "on curved tracks", - "create.station.train_not_aligned": "Cannot disassemble,", - "create.station.train_not_aligned_1": "not all carriages aligned", - "create.station.carriage_number": "Carriage %1$s:", - "create.station.retry": "Resolve this and retry", - "create.station.no_bogeys": "No Bogeys", - "create.station.one_bogey": "1 Bogey", - "create.station.more_bogeys": "%1$s Bogeys", - "create.station.how_to": "Use Train Casing on highlighted Tracks to create bogeys.", - "create.station.how_to_1": "Remove bogeys by breaking the block on top.", - "create.station.how_to_2": "Build carriages attached to one or two bogeys each.", - - "create.train_assembly.too_many_bogeys": "Too many Bogeys attached: %1$s", - "create.train_assembly.frontmost_bogey_at_station": "Frontmost Bogey must be at Station Marker", - "create.train_assembly.no_bogeys": "No Bogeys Found", - "create.train_assembly.not_connected_in_order": "Bogeys are not connected in order", - "create.train_assembly.bogeys_too_close": "Bogeys %1$s and %2$s are too close to each other", - "create.train_assembly.single_bogey_carriage": "This Bogey type cannot support a carriage on its own", - "create.train_assembly.nothing_attached": "No structure attached to Bogey %1$s", - "create.train_assembly.no_controls": "Attach at least one forward-facing Train Controls block (Are you missing Super Glue?)", - "create.train_assembly.sideways_controls": "Train Controls cannot face sideways", - "create.train_assembly.bogey_created": "Bogey created. Click again to cycle type", - "create.train_assembly.requires_casing": "Use Railway Casing to create bogeys on tracks", - - "create.track_target.set": "Targeted track selected", - "create.track_target.success": "Successfully bound to targeted track", - "create.track_target.clear": "Cleared track selection", - "create.track_target.missing": "Right-click the targeted train track first", - "create.track_target.too_far": "Targeted track is too far from here", - "create.track_target.no_junctions": "Targeted track cannot be an intersection", - "create.track_target.occupied": "Targeted track is occupied", - "create.track_target.invalid": "Cannot target this track here", - - "create.train.unnamed": "Unnamed Train", - "create.train.cannot_relocate_moving": "Cannot relocate a moving Train", - "create.train.relocate": "Click a Track to Relocate %1$s to. Sneak-Click to abort", - "create.train.relocate.abort": "Relocation aborted", - "create.train.relocate.success": "Relocation successful", - "create.train.relocate.valid": "Can relocate to here, Click to Confirm", - "create.train.relocate.invalid": "Cannot relocate Train to here", - "create.train.relocate.too_far": "Cannot relocate Train this far away", - "create.train.departing_from": "Departing from %1$s", - "create.train.arrived_at": "Arrived at %1$s", - "create.train.status": " Information about Train: %1$s", - "create.train.status.back_on_track": "Train is back on Track", - "create.train.status.collision": "Collision with other Train", - "create.train.status.end_of_track": "A Carriage has reached the end of its Track", - "create.train.status.double_portal": "A Carriage cannot enter a portal whilst leaving another", - "create.train.status.coupling_stress": "Forced stop due to Stress on Couplings", - "create.train.status.track_missing": "Tracks are missing beneath the Train", - "create.train.status.paused_for_manual": "Schedule paused for manual controls", - "create.train.status.opposite_driver": "Path requires a driver facing the opposite direction", - "create.train.status.missing_driver": "Driver has gone missing", - "create.train.status.found_driver": "A new driver has been found", - "create.train.status.navigation_success": "Navigation succeeded", - "create.train.status.no_match": "No station on graph matches '%1$s'", - "create.train.status.no_path": "No suitable path to the next Scheduled destination could be found", - - "create.track_signal.cannot_change_mode": "Unable to switch mode of this Signal", - "create.track_signal.mode_change.entry_signal": "-> Allow passage if section unoccupied", - "create.track_signal.mode_change.cross_signal": "-> Allow passage if section fully traversable", - - "create.contraption.controls.start_controlling": "Now controlling: %1$s", - "create.contraption.controls.stop_controlling": "Stopped controlling contraption", - "create.contraption.controls.approach_station": "Hold %1$s to approach %2$s", - "create.contraption.controls.specific_actor_toggle": "%1$s Actors: %2$s", - "create.contraption.controls.all_actor_toggle": "All Actors: %1$s", - "create.contraption.controls.actor_toggle.on": "On", - "create.contraption.controls.actor_toggle.off": "Off", - "create.contraption.controls.floor_unreachable": "Unreachable", - "create.contraption.door_control": "Onboard Door Control", - "create.contraption.door_control.all": "Open All Doors", - "create.contraption.door_control.all.short": "Open All", - "create.contraption.door_control.north": "North Side Only", - "create.contraption.door_control.north.short": "North", - "create.contraption.door_control.east": "East Side Only", - "create.contraption.door_control.east.short": "East", - "create.contraption.door_control.south": "South Side Only", - "create.contraption.door_control.south.short": "South", - "create.contraption.door_control.west": "West Side Only", - "create.contraption.door_control.west.short": "West", - "create.contraption.door_control.none": "Keep Doors Closed", - "create.contraption.door_control.none.short": "None", - "create.contraption.door_control.player_facing": "You are facing: %1$s", - - "create.display_link.set": "Targeted position selected", - "create.display_link.success": "Successfully bound to targeted position", - "create.display_link.clear": "Cleared position selection", - "create.display_link.too_far": "Targeted position is too far from here", - "create.display_link.invalid": "Link has no valid target, try placing it again", - "create.display_link.title": "Display Link", - "create.display_link.no_source": "Not a Display Source", - "create.display_link.no_target": "Not a Display Target", - "create.display_link.reading_from": "Read from:", - "create.display_link.writing_to": "Send to:", - "create.display_link.attached_side": "Block on attached side", - "create.display_link.targeted_location": "Block in targeted location", - "create.display_link.view_compatible": "Click to view all Compatible", - "create.display_link.information_type": "Type of Information", - "create.display_link.display_on": "Write data to:", - "create.display_link.display_on_multiline": "Start writing at:", - - "create.display_source.label": "Attached Label", - "create.display_source.combine_item_names": "Combine Item Names", - "create.display_source.count_items": "Amount of matching Items", - "create.display_source.list_items": "List matching Items", - "create.display_source.fluid_amount": "Amount of matching Fluids", - "create.display_source.list_fluids": "List matching Fluids", - "create.display_source.nixie_tube": "Copy Nixie Tubes", - "create.display_source.fill_level": "Container Fill Level", - "create.display_source.fill_level.display": "Display Format", - "create.display_source.fill_level.percent": "Percent", - "create.display_source.fill_level.progress_bar": "Progress Bar", - "create.display_source.value_list.display": "Value Display", - "create.display_source.value_list.shortened": "Shortened", - "create.display_source.value_list.full_number": "Full Number", - "create.display_source.value_list.thousand": "k", - "create.display_source.value_list.million": "m", - "create.display_source.player_deaths": "Player Deaths", - "create.display_source.scoreboard": "Scoreboard", - "create.display_source.scoreboard.objective": "Objective ID", - "create.display_source.scoreboard.objective_not_found": "'%1$s' not found", - "create.display_source.scoreboard.objective.deaths": "Player Deaths", - "create.display_source.time_of_day": "Time of Day", - "create.display_source.stop_watch": "Stopwatch", - "create.display_source.time.format": "Time Format", - "create.display_source.time.12_hour": "12-hour", - "create.display_source.time.24_hour": "24-hour", - "create.display_source.accumulate_items": "Accumulate Item Count", - "create.display_source.item_throughput": "Item Throughput", - "create.display_source.item_throughput.interval": "Interval", - "create.display_source.item_throughput.interval.second": "per Second", - "create.display_source.item_throughput.interval.minute": "per Minute", - "create.display_source.item_throughput.interval.hour": "per Hour", - "create.display_source.train_status": "Train Schedule Status", - "create.display_source.station_summary": "Train Station Summary", - "create.display_source.station_summary.filter": "Station name filter", - "create.display_source.station_summary.train_name_column": "Train column size", - "create.display_source.station_summary.platform_column": "Platform column size", - "create.display_source.station_summary.now": "now", - "create.display_source.station_summary.minutes": " min", - "create.display_source.station_summary.seconds": "%1$ss", - "create.display_source.observed_train_name": "Detected Train Name", - "create.display_source.max_enchant_level": "Max Enchanting Cost", - "create.display_source.boiler_status": "Boiler Status", - "create.display_source.entity_name": "Entity Name", - "create.display_source.current_floor": "Elevator Location", - "create.display_source.kinetic_speed": "Rotation Speed (RPM)", - "create.display_source.kinetic_speed.absolute": "Ignore Direction", - "create.display_source.kinetic_speed.directional": "Include Direction", - "create.display_source.kinetic_stress": "Network Stress", - "create.display_source.kinetic_stress.display": "Displayed Info", - "create.display_source.kinetic_stress.progress_bar": "Progress Bar", - "create.display_source.kinetic_stress.percent": "Percentage", - "create.display_source.kinetic_stress.current": "Stress in SU", - "create.display_source.kinetic_stress.max": "Total Capacity", - "create.display_source.kinetic_stress.remaining": "Remaining SU", - "create.display_source.redstone_power": "Redstone Power", - "create.display_source.redstone_power.display": "Display Format", - "create.display_source.redstone_power.number": "Number", - "create.display_source.redstone_power.progress_bar": "Progress Bar", - "create.display_source.boiler.not_enough_space": "Not enough space ", - "create.display_source.boiler.for_boiler_status": "for Boiler Status", - "create.display_source.computer_display_source": "From Computer", - - "create.display_target.line": "Line %1$s", - "create.display_target.page": "Page %1$s", - "create.display_target.single_line": "Single Line", - - "create.flap_display.cycles.alphabet": " ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", - "create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9", - "create.flap_display.cycles.arrival_time": " ; min;now;15s;30s;45s", - "create.flap_display.cycles.shortened_numbers": " ;K;M", - "create.flap_display.cycles.fluid_units": "mB;B ", - "create.flap_display.cycles.instant": " ; ", - "create.flap_display.cycles.pixel": "█;▓;▒", - - "create.super_glue.too_far": "Selected area is too big", - "create.super_glue.cannot_reach": "Selected blocks must be connected", - "create.super_glue.click_to_confirm": "Click again to confirm", - "create.super_glue.click_to_discard": "Sneak-click to discard selection", - "create.super_glue.first_pos": "First position selected", - "create.super_glue.abort": "Selection discarded", - "create.super_glue.not_enough": "Not enough glue in inventory", - "create.super_glue.success": "Applying Glue...", - - "create.gui.attached_computer.controlled": "This device is being controlled by a computer", - "create.gui.attached_computer.hint": "To use device manually, disconnect all computers and modems", - "create.gui.config.overlay1": "Hi :)", - "create.gui.config.overlay2": "This is a sample overlay", - "create.gui.config.overlay3": "Click or drag with your mouse", - "create.gui.config.overlay4": "to move this preview", - "create.gui.config.overlay5": "Press ESC to exit this screen", - "create.gui.config.overlay6": "and save the new position", - "create.gui.config.overlay7": "Run /create overlay reset", - "create.gui.config.overlay8": "to reset to the default position", - - "create.command.killTPSCommand": "killtps", - "create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms :o", - "create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now >:)", - "create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed :D", - "create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed", - "create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start to artificially slow down the server tick", - "create.command.killTPSCommand.argument.tickTime": "tickTime", - - "create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up", - "create.contraption.minecart_contraption_illegal_pickup": "A mystical force is binding this Cart Contraption to the world", - - "enchantment.create.capacity.desc": "Increases Backtank air capacity.", - "enchantment.create.potato_recovery.desc": "Potato Cannon projectiles have a chance to be reused.", - - "create.bogey.style.updated_style": "Updated style", - "create.bogey.style.updated_style_and_size": "Updated style and size", - "create.bogey.style.no_other_sizes": "No other sizes", - "create.bogey.style.invalid": "Unnamed style", - "create.bogey.style.standard": "Standard", - - - "_": "->------------------------] Subtitles [------------------------<-", - - "create.subtitle.contraption_disassemble": "Contraption stops", - "create.subtitle.peculiar_bell_use": "Peculiar Bell tolls", - "create.subtitle.worldshaper_place": "Worldshaper zaps", - "create.subtitle.whistle_train_manual": "Train honks", - "create.subtitle.steam": "Steam noises", - "create.subtitle.saw_activate_stone": "Mechanical Saw activates", - "create.subtitle.schematicannon_finish": "Schematicannon dings", - "create.subtitle.crafter_craft": "Crafter crafts", - "create.subtitle.wrench_remove": "Component breaks", - "create.subtitle.train3": "Bogey wheels rumble muffled", - "create.subtitle.whistle": "Whistling", - "create.subtitle.cogs": "Cogwheels rumble", - "create.subtitle.slime_added": "Slime squishes", - "create.subtitle.whistle_train_low": "Low whistling", - "create.subtitle.schematicannon_launch_block": "Schematicannon fires", - "create.subtitle.controller_take": "Lectern empties", - "create.subtitle.crafter_click": "Crafter clicks", - "create.subtitle.depot_plop": "Item lands", - "create.subtitle.confirm": "Affirmative ding", - "create.subtitle.mixing": "Mixing noises", - "create.subtitle.mechanical_press_activation_belt": "Mechanical Press bonks", - "create.subtitle.fwoomp": "Potato Launcher fwoomps", - "create.subtitle.sanding_long": "Sanding noises", - "create.subtitle.crushing_1": "Crushing noises", - "create.subtitle.depot_slide": "Item slides", - "create.subtitle.blaze_munch": "Blaze Burner munches", - "create.subtitle.funnel_flap": "Funnel flaps", - "create.subtitle.haunted_bell_use": "Haunted Bell tolls", - "create.subtitle.scroll_value": "Scroll-input clicks", - "create.subtitle.controller_put": "Controller thumps", - "create.subtitle.cranking": "Hand Crank turns", - "create.subtitle.sanding_short": "Sanding noises", - "create.subtitle.wrench_rotate": "Wrench used", - "create.subtitle.potato_hit": "Vegetable impacts", - "create.subtitle.saw_activate_wood": "Mechanical Saw activates", - "create.subtitle.whistle_high": "High whistling", - "create.subtitle.whistle_train_manual_low": "Train honks", - "create.subtitle.whistle_train": "Whistling", - "create.subtitle.haunted_bell_convert": "Haunted Bell awakens", - "create.subtitle.train": "Bogey wheels rumble", - "create.subtitle.deny": "Declining boop", - "create.subtitle.controller_click": "Controller clicks", - "create.subtitle.whistle_low": "Low whistling", - "create.subtitle.copper_armor_equip": "Diving equipment clinks", - "create.subtitle.mechanical_press_activation": "Mechanical Press clangs", - "create.subtitle.contraption_assemble": "Contraption moves", - - - "_": "->------------------------] Item Descriptions [------------------------<-", - - "item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)", - "item.create.example_item.tooltip.summary": "A brief description of the item. _Underscores_ highlight a term.", - "item.create.example_item.tooltip.condition1": "When this", - "item.create.example_item.tooltip.behaviour1": "Then this item does this. (behaviours show on shift)", - "item.create.example_item.tooltip.condition2": "And When this", - "item.create.example_item.tooltip.behaviour2": "You can add as many behaviours as you like", - "item.create.example_item.tooltip.control1": "When Ctrl pressed", - "item.create.example_item.tooltip.action1": "These controls are displayed.", - - "block.create.wooden_bracket.tooltip": "WOODEN BRACKET", - "block.create.wooden_bracket.tooltip.summary": "_Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with a cozy and wooden bit of reinforcement.", - - "block.create.metal_bracket.tooltip": "METAL BRACKET", - "block.create.metal_bracket.tooltip.summary": "_Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with an industrial and sturdy bit of reinforcement.", - - "block.create.seat.tooltip": "SEAT", - "block.create.seat.tooltip.summary": "Sit yourself down and enjoy the ride! Will anchor a player onto a moving _contraption_. Great for static furniture too! Comes in a variety of colours.", - "block.create.seat.tooltip.condition1": "Right click on Seat", - "block.create.seat.tooltip.behaviour1": "Sits the player on the _Seat_. Press L-shift to leave the _Seat_.", - - "item.create.blaze_cake.tooltip": "BLAZE CAKE", - "item.create.blaze_cake.tooltip.summary": "A Delicious treat for your hard-working _Blaze Burners_. Gets them all fired up!", - - "item.create.wand_of_symmetry.tooltip": "SYMMETRY WAND", - "item.create.wand_of_symmetry.tooltip.summary": "_Mirrors Block placement_ while present in any _Hotbar Slot_.", - "item.create.wand_of_symmetry.tooltip.condition1": "When used on a Surface", - "item.create.wand_of_symmetry.tooltip.behaviour1": "_Creates_ or _Moves_ its Mirror. _Sneak_ while using to open the _Configuration Interface_", - "item.create.wand_of_symmetry.tooltip.condition2": "When used with no target", - "item.create.wand_of_symmetry.tooltip.behaviour2": "_Removes_ the active Mirror", - - "item.create.handheld_worldshaper.tooltip": "HANDHELD WORLDSHAPER", - "item.create.handheld_worldshaper.tooltip.summary": "_Creative mode_ tool for large-scale _landscaping_ from a distance.", - "item.create.handheld_worldshaper.tooltip.condition1": "L-Click at Block", - "item.create.handheld_worldshaper.tooltip.behaviour1": "_Targeted block_ will become the _material_ placed by the shaper.", - "item.create.handheld_worldshaper.tooltip.condition2": "R-Click at Block", - "item.create.handheld_worldshaper.tooltip.behaviour2": "Applies currently selected _Brush_ and _Tool_ at the targeted location.", - "item.create.handheld_worldshaper.tooltip.condition3": "R-Click while Sneaking", - "item.create.handheld_worldshaper.tooltip.behaviour3": "Opens the _Configuration Interface_", - - "item.create.tree_fertilizer.tooltip": "TREE FERTILIZER", - "item.create.tree_fertilizer.tooltip.summary": "A powerful combination of minerals useful for _growing saplings_ in tight spaces.", - "item.create.tree_fertilizer.tooltip.condition1": "When used on a Sapling", - "item.create.tree_fertilizer.tooltip.behaviour1": "Creates a tree _regardless_ of its _spacing conditions_", - - "item.create.extendo_grip.tooltip": "EXTENDO GRIP", - "item.create.extendo_grip.tooltip.summary": "Greatly _increases reach distance_ of the wielder. Can be powered with _Air_ _Pressure_ from a _Backtank_", - "item.create.extendo_grip.tooltip.condition1": "When in Off-Hand", - "item.create.extendo_grip.tooltip.behaviour1": "Increases _reach distance_ of items used in the _Main-Hand_.", - "item.create.extendo_grip.tooltip.condition2": "While wearing Backtank", - "item.create.extendo_grip.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", - - "item.create.potato_cannon.tooltip": "POTATO CANNON", - "item.create.potato_cannon.tooltip.summary": "Launches your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", - "item.create.potato_cannon.tooltip.condition1": "When R-Clicked", - "item.create.potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", - "item.create.potato_cannon.tooltip.condition2": "While wearing Backtank", - "item.create.potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", - - "item.create.filter.tooltip": "LIST FILTER", - "item.create.filter.tooltip.summary": "_Matches items_ against a collection of _items_ or _other filters_. Can be used in _Filter Slots_ of Create's Components", - "item.create.filter.tooltip.condition1": "When R-Clicked", - "item.create.filter.tooltip.behaviour1": "Opens the _configuration interface_.", - - "item.create.attribute_filter.tooltip": "ATTRIBUTE FILTER", - "item.create.attribute_filter.tooltip.summary": "_Matches items_ against a set of _attributes_ or _categories_. Can be used in _Filter Slots_ of Create's Components", - "item.create.attribute_filter.tooltip.condition1": "When R-Clicked", - "item.create.attribute_filter.tooltip.behaviour1": "Opens the _configuration interface_.", - - "item.create.empty_schematic.tooltip": "EMPTY SCHEMATIC", - "item.create.empty_schematic.tooltip.summary": "Used as a recipe ingredient and for writing at the _Schematic Table_.", - - "item.create.schematic.tooltip": "SCHEMATIC", - "item.create.schematic.tooltip.summary": "Holds a structure to be positioned and placed into the world. Position the Hologram as desired and use a _Schematicannon_ to build it.", - "item.create.schematic.tooltip.condition1": "When Held", - "item.create.schematic.tooltip.behaviour1": "Can be positioned using the Tools on Screen.", - "item.create.schematic.tooltip.condition2": "R-Click while Sneaking", - "item.create.schematic.tooltip.behaviour2": "Opens an _Interface_ for entering exact _Coordinates_.", - - "item.create.schematic_and_quill.tooltip": "SCHEMATIC AND QUILL", - "item.create.schematic_and_quill.tooltip.summary": "Used for _saving a Structure_ in your world to a _.nbt file_.", - "item.create.schematic_and_quill.tooltip.condition1": "Creating a selection", - "item.create.schematic_and_quill.tooltip.behaviour1": "Select two _corner points_ using _R-Click_. Hold _Ctrl_ and Scroll to select locations mid-air.", - "item.create.schematic_and_quill.tooltip.condition2": "Adjusting and Saving", - "item.create.schematic_and_quill.tooltip.behaviour2": "_Ctrl-Scroll_ on the faces to adjust the size, then R-Click again to Save.", - - "block.create.schematicannon.tooltip": "SCHEMATICANNON", - "block.create.schematicannon.tooltip.summary": "Shoots blocks to recreate a deployed _Schematic_ in the World. Uses items from adjacent Inventories and _Gunpowder_ as fuel.", - "block.create.schematicannon.tooltip.condition1": "When R-Clicked", - "block.create.schematicannon.tooltip.behaviour1": "Opens the _Interface_", - - "block.create.schematic_table.tooltip": "SCHEMATIC TABLE", - "block.create.schematic_table.tooltip.summary": "Writes saved Schematics onto an _Empty Schematic_.", - "block.create.schematic_table.tooltip.condition1": "When given an Empty Schematic", - "block.create.schematic_table.tooltip.behaviour1": "Uploads a chosen File from your Schematics Folder.", - - "item.create.goggles.tooltip": "GOGGLES", - "item.create.goggles.tooltip.summary": "Augments your HUD with _miscellaneous information_ about placed components.", - "item.create.goggles.tooltip.condition1": "When looking at blocks", - "item.create.goggles.tooltip.behaviour1": "_Kinetic components_ show added _Stress Impact_ or _Capacity_. _Stressometers_ show statistics of their _attached kinetic network_. Some other blocks reveal information such as item and fluid content.", - - "item.create.wrench.tooltip": "WRENCH", - "item.create.wrench.tooltip.summary": "Multi-purpose tool for working with your kinetic contraptions.", - "item.create.wrench.tooltip.condition1": "When used on Blocks", - "item.create.wrench.tooltip.behaviour1": "_Rotates components_ around the clicked face. _Sneak_ while interacting to _dismantle_ components.", - "item.create.wrench.tooltip.condition2": "When used on Contraptions", - "item.create.wrench.tooltip.behaviour2": "_Relocates_ assembled minecart- and train-based contraptions.", - - "block.create.nozzle.tooltip": "NOZZLE", - "block.create.nozzle.tooltip.summary": "Attach to the front of an _Encased Fan_ to distribute its effect on Entities in _all directions_.", - - "block.create.cuckoo_clock.tooltip": "CUCKOO CLOCK", - "block.create.cuckoo_clock.tooltip.summary": "Fine craftsmanship for _decorating_ a space and _keeping track of time_.", - "block.create.cuckoo_clock.tooltip.condition1": "When Powered by Kinetics", - "block.create.cuckoo_clock.tooltip.behaviour1": "Shows the _current time_ and plays a tune twice a day. _Activates_ once at _noon_ and at dusk, as soon as _players can sleep_.", - - "block.create.turntable.tooltip": "TURNTABLE", - "block.create.turntable.tooltip.summary": "Uses _Rotational Force_ to create Motion Sickness.", - - "block.create.toolbox.tooltip": "TOOLBOX", - "block.create.toolbox.tooltip.summary": "Every Inventors' dearest Companion. Conveniently _holds_ a large amount of _8 Different_ item types.", - "block.create.toolbox.tooltip.condition1": "When Picked Up", - "block.create.toolbox.tooltip.behaviour1": "_Retains_ Inventory _Contents_.", - "block.create.toolbox.tooltip.condition2": "When placed in Range", - "block.create.toolbox.tooltip.behaviour2": "_Nearby_ _Players_ can hold the _Toolbox_ _Keybind_ to access its contents _Remotely_.", - "block.create.toolbox.tooltip.condition3": "When R-Clicked", - "block.create.toolbox.tooltip.behaviour3": "Opens the _Container Interface_.", - - "block.create.creative_crate.tooltip": "CREATIVE CRATE", - "block.create.creative_crate.tooltip.summary": "This _Storage Container_ allows infinite replication of items.", - "block.create.creative_crate.tooltip.condition1": "When Item in Filter Slot", - "block.create.creative_crate.tooltip.behaviour1": "Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._", - "block.create.creative_crate.tooltip.condition2": "When next to Schematicannon", - "block.create.creative_crate.tooltip.behaviour2": "Provides any material required by the Schematic.", - - "item.create.creative_blaze_cake.tooltip": "CREATIVE BLAZE CAKE", - "item.create.creative_blaze_cake.tooltip.summary": "A very special treat for your _Blaze Burners_. After eating this cake, Blaze Burners will _never run out of fuel_.", - "item.create.creative_blaze_cake.tooltip.condition1": "When Used", - "item.create.creative_blaze_cake.tooltip.behaviour1": "_Cycles_ a Blaze Burner's heat level.", - - "block.create.controller_rail.tooltip": "CONTROLLER RAIL", - "block.create.controller_rail.tooltip.summary": "A _uni-directional_ powered rail with _variable speed_, controlled by the _signal strength_ supplied to it.", - - "item.create.sand_paper.tooltip": "SAND PAPER", - "item.create.sand_paper.tooltip.summary": "Can be used to _refine materials_. The process can be automated with a Deployer.", - "item.create.sand_paper.tooltip.condition1": "When Used", - "item.create.sand_paper.tooltip.behaviour1": "Applies polish to items held in the _offhand_ or lying on the _floor_ when _looking at them_", - - "item.create.builders_tea.tooltip": "BUILDERS TEA", - "item.create.builders_tea.tooltip.summary": "The perfect drink to get the day started- _Motivating_ and _Saturating._", - - "item.create.linked_controller.tooltip": "LINKED CONTROLLER", - "item.create.linked_controller.tooltip.summary": "Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.", - "item.create.linked_controller.tooltip.condition1": "R-Click", - "item.create.linked_controller.tooltip.behaviour1": "_Toggles_ the controller. _Movement_ _controls_ are taken over while its active.", - "item.create.linked_controller.tooltip.condition2": "R-Click while Sneaking", - "item.create.linked_controller.tooltip.behaviour2": "Opens the manual _Configuration Interface_.", - "item.create.linked_controller.tooltip.condition3": "R-Click on Redstone Link Receiver", - "item.create.linked_controller.tooltip.behaviour3": "Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.", - "item.create.linked_controller.tooltip.condition4": "R-Click on Lectern", - "item.create.linked_controller.tooltip.behaviour4": "Places the Controller into the Lectern for easy activation. (R-Click while Sneaking to retrieve it)", - - "item.create.copper_diving_helmet.tooltip": "COPPER DIVING HELMET", - "item.create.copper_diving_helmet.tooltip.summary": "Together with a _Backtank_, allows the wielder to _breathe_ _underwater_ for an extended amount of time.", - "item.create.copper_diving_helmet.tooltip.condition1": "When Worn", - "item.create.copper_diving_helmet.tooltip.behaviour1": "Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.", - - "item.create.netherite_diving_helmet.tooltip": "NETHERITE DIVING HELMET", - "item.create.netherite_diving_helmet.tooltip.summary": "Together with a _Netherite Backtank_, this can protect you from _extreme heat_. To be effective, _Legs and Feet_ have to be covered in _Netherite_, too.", - "item.create.netherite_diving_helmet.tooltip.condition1": "When Worn (Full set)", - "item.create.netherite_diving_helmet.tooltip.behaviour1": "Provides immunity to _Fire_ and _Lava_, slowly draining _Air Pressure_ from the Backtank. Also grants _improved vision_ in Lava", - - "item.create.copper_backtank.tooltip": "COPPER BACKTANK", - "item.create.copper_backtank.tooltip.summary": "A _Wearable_ _Tank_ for carrying Pressurized Air.", - "item.create.copper_backtank.tooltip.condition1": "When Worn", - "item.create.copper_backtank.tooltip.behaviour1": "Provides _Pressurized_ _Air_ to Equipment that requires it.", - "item.create.copper_backtank.tooltip.condition2": "When placed, Powered by Kinetics", - "item.create.copper_backtank.tooltip.behaviour2": "_Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.", - - "item.create.netherite_backtank.tooltip": "NETHERITE BACKTANK", - "item.create.netherite_backtank.tooltip.summary": "A _Wearable_ _Tank_ for carrying Pressurized Air.", - "item.create.netherite_backtank.tooltip.condition1": "When Worn", - "item.create.netherite_backtank.tooltip.behaviour1": "Provides _Pressurized_ _Air_ to Equipment that requires it.", - "item.create.netherite_backtank.tooltip.condition2": "When placed, Powered by Kinetics", - "item.create.netherite_backtank.tooltip.behaviour2": "_Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.", - - "block.create.placard.tooltip": "PLACARD", - "block.create.placard.tooltip.summary": "_Frame_ your _items_ in brass using this fancy wall panel. Safe for contraptions!", - "block.create.placard.tooltip.condition1": "When R-Clicked with Item", - "block.create.placard.tooltip.behaviour1": "_Adds_ the held _item_ to the Placard. _Emits_ a brief _Redstone_ signal if a matching item was present already.", - "block.create.placard.tooltip.condition2": "When Punched", - "block.create.placard.tooltip.behaviour2": "_Removes_ the current _item_ in the frame.", - - "block.create.flywheel.tooltip": "FLYWHEEL", - "block.create.flywheel.tooltip.summary": "_Embellish_ your _Machines_ with this imposing Wheel of Brass.", - "block.create.flywheel.tooltip.condition1": "When Powered by Kinetics", - "block.create.flywheel.tooltip.behaviour1": "Starts spinning.", - - "item.create.copper_diving_boots.tooltip": "COPPER DIVING BOOTS", - "item.create.copper_diving_boots.tooltip.summary": "A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.", - "item.create.copper_diving_boots.tooltip.condition1": "When Worn", - "item.create.copper_diving_boots.tooltip.behaviour1": "Wielder _descends_ more _quickly_ in liquids. Grants the ability to _walk_ and _jump_ underwater. Wielder also is no longer affected by _Mechanical_ _Belts_.", - - "item.create.netherite_diving_boots.tooltip": "NETHERITE DIVING BOOTS", - "item.create.netherite_diving_boots.tooltip.summary": "A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor, including Oceans made of Lava.", - "item.create.netherite_diving_boots.tooltip.condition1": "When Worn", - "item.create.netherite_diving_boots.tooltip.behaviour1": "Wielder _descends_ more _quickly_ in liquids. Grants the ability to _walk_ and _jump_ underwater. Wielder also is no longer affected by _Mechanical_ _Belts_.", - - "item.create.crafting_blueprint.tooltip": "CRAFTING BLUEPRINT", - "item.create.crafting_blueprint.tooltip.summary": "_Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.", - "item.create.crafting_blueprint.condition1": "R-Click empty Slot", - "item.create.crafting_blueprint.behaviour1": "Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.", - "item.create.crafting_blueprint.condition2": "R-Click configured Slot", - "item.create.crafting_blueprint.behaviour2": "_Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.", - - "item.create.minecart_coupling.tooltip": "MINECART COUPLING", - "item.create.minecart_coupling.tooltip.summary": "_Chains_ together individual _Minecarts_, causing them to move as a group.", - - "item.create.experience_nugget.tooltip": "NUGGET OF EXPERIENCE", - "item.create.experience_nugget.tooltip.summary": "A speck of _inspiration_ from your fantastic inventions.", - "item.create.experience_nugget.tooltip.condition1": "When Used", - "item.create.experience_nugget.tooltip.behaviour1": "_Redeems_ _Experience_ points contained within.", - - "block.create.peculiar_bell.tooltip": "PECULIAR BELL", - "block.create.peculiar_bell.tooltip.summary": "A decorative _Brass Bell_. Placing it right above open _Soul Fire_ may have side-effects...", - - "block.create.haunted_bell.tooltip": "HAUNTED BELL", - "block.create.haunted_bell.tooltip.summary": "A _Cursed Bell_ haunted by lost souls of the Nether.", - "block.create.haunted_bell.tooltip.condition1": "When Held or Rang", - "block.create.haunted_bell.tooltip.behaviour1": "Highlights nearby _Lightless Spots_ on which _Hostile Mobs_ can spawn.", - - "block.create.copycat_panel.tooltip": "COPYCAT PANEL", - "block.create.copycat_panel.tooltip.summary": "_Converts_ any _full block_ into a decorative panel. Also accepts _Bars_ and _Trapdoors_.", - "block.create.copycat_panel.tooltip.condition1": "When R-Clicked", - "block.create.copycat_panel.tooltip.behaviour1": "Applies _held item_ as its _material_ if possible. _Click again_ to cycle _orientation_ or _powered_ state. Use a _Wrench_ to _reset_ the material.", - - "block.create.copycat_step.tooltip": "COPYCAT STEP", - "block.create.copycat_step.tooltip.summary": "_Converts_ any _full block_ into a decorative step.", - "block.create.copycat_step.tooltip.condition1": "When R-Clicked", - "block.create.copycat_step.tooltip.behaviour1": "Applies _held item_ as its _material_ if possible. _Click again_ to cycle _orientation_ or _powered_ state. Use a _Wrench_ to _reset_ the material.", - - "block.create.clipboard.tooltip": "CLIPBOARD", - "block.create.clipboard.tooltip.summary": "_Keeps your notes_ and makes you look more professional.", - "block.create.clipboard.tooltip.condition1": "When R-Clicked", - "block.create.clipboard.tooltip.behaviour1": "Opens the _Interface_. _Sneak-Click_ to _place_ it on a surface.", - "block.create.clipboard.tooltip.condition2": "When Used on Blocks", - "block.create.clipboard.tooltip.behaviour2": "Some blocks' _settings_, such as filters, can be _copied (R-Click)_ and _applied (L-Click)_ elsewhere.", - - - "_": "->------------------------] 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.associated": "Associated Entries", - "create.ponder.close": "Close", - "create.ponder.identify": "Identify", - "create.ponder.next": "Next Scene", - "create.ponder.next_up": "Up Next:", - "create.ponder.previous": "Previous Scene", - "create.ponder.replay": "Replay", - "create.ponder.think_back": "Think Back", - "create.ponder.slow_text": "Comfy Reading", - "create.ponder.exit": "Exit", - "create.ponder.welcome": "Welcome to Ponder", - "create.ponder.categories": "Available Categories in Create", - "create.ponder.index_description": "Click one of the icons to learn about its associated Items and Blocks", - "create.ponder.index_title": "Ponder Index", - "create.ponder.shared.rpm16": "16 RPM", - "create.ponder.shared.storage_on_contraption": "Inventories attached to the Contraption will pick up their drops automatically", - "create.ponder.shared.sneak_and": "Sneak +", - "create.ponder.shared.rpm8": "8 RPM", - "create.ponder.shared.ctrl_and": "Ctrl +", - "create.ponder.shared.rpm32": "32 RPM", - "create.ponder.shared.behaviour_modify_value_panel": "This behaviour can be modified using the value panel", - "create.ponder.shared.rpm16_source": "Source: 16 RPM", - "create.ponder.shared.movement_anchors": "With the help of Super Glue, larger structures can be moved", - "create.ponder.tag.redstone": "Logic Components", - "create.ponder.tag.redstone.description": "Components which help with redstone engineering", - "create.ponder.tag.contraption_assembly": "Block Attachment Utility", - "create.ponder.tag.contraption_assembly.description": "Tools and Components used to assemble structures moved as an animated Contraption", - "create.ponder.tag.recently_updated": "Recent Changes", - "create.ponder.tag.recently_updated.description": "Components that have been added or changed significantly in the latest versions of Create", - "create.ponder.tag.fluids": "Fluid Manipulators", - "create.ponder.tag.fluids.description": "Components which help relaying and making use of Fluids", - "create.ponder.tag.decoration": "Aesthetics", - "create.ponder.tag.decoration.description": "Components used mostly for decorative purposes", - "create.ponder.tag.windmill_sails": "Sails for Windmill Bearings", - "create.ponder.tag.windmill_sails.description": "Blocks that count towards the strength of a Windmill Contraption when assembled. Each of these have equal efficiency in doing so.", - "create.ponder.tag.arm_targets": "Targets for Mechanical Arms", - "create.ponder.tag.arm_targets.description": "Components which can be selected as inputs or outputs to the Mechanical Arm", - "create.ponder.tag.kinetic_appliances": "Kinetic Appliances", - "create.ponder.tag.kinetic_appliances.description": "Components which make use of Rotational Force", - "create.ponder.tag.kinetic_sources": "Kinetic Sources", - "create.ponder.tag.kinetic_sources.description": "Components which generate Rotational Force", - "create.ponder.tag.movement_anchor": "Movement Anchors", - "create.ponder.tag.movement_anchor.description": "Components which allow the creation of moving contraptions, animating an attached structure in a variety of ways", - "create.ponder.tag.kinetic_relays": "Kinetic Blocks", - "create.ponder.tag.kinetic_relays.description": "Components which help relaying Rotational Force elsewhere", - "create.ponder.tag.contraption_actor": "Contraption Actors", - "create.ponder.tag.contraption_actor.description": "Components which expose special behaviour when attached to a moving contraption", - "create.ponder.tag.creative": "Creative Mode", - "create.ponder.tag.creative.description": "Components not usually available for Survival Mode", - "create.ponder.tag.display_sources": "Sources for Display Links", - "create.ponder.tag.display_sources.description": "Components or Blocks which offer some data that can be read with a Display Link", - "create.ponder.tag.logistics": "Item Transportation", - "create.ponder.tag.logistics.description": "Components which help moving items around", - "create.ponder.tag.display_targets": "Targets for Display Links", - "create.ponder.tag.display_targets.description": "Components or Blocks which can process and display the data received from a Display Link", - "create.ponder.tag.train_related": "Railway Equipment", - "create.ponder.tag.train_related.description": "Components used in the construction or management of Train Contraptions", - - "create.ponder.analog_lever.header": "Controlling signals using the Analog Lever", - "create.ponder.analog_lever.text_1": "Analog Levers make for a compact and precise source of redstone power", - "create.ponder.analog_lever.text_2": "Right-click to increase its analog power output", - "create.ponder.analog_lever.text_3": "Right-click while Sneaking to decrease the power output again", - - "create.ponder.andesite_tunnel.header": "Using Andesite Tunnels", - "create.ponder.andesite_tunnel.text_1": "Andesite Tunnels can be used to cover up your belts", - "create.ponder.andesite_tunnel.text_2": "Whenever an Andesite Tunnel has connections to the sides...", - "create.ponder.andesite_tunnel.text_3": "...they will split exactly one item off of any passing stacks", - "create.ponder.andesite_tunnel.text_4": "The remainder will continue on its path", - - "create.ponder.auto_schedule.header": "Stations & Scheduling", - "create.ponder.auto_schedule.text_1": "Schedules can be used to provide drivers with a destination", - "create.ponder.auto_schedule.text_2": "Comparators will receive a signal whenever a Train is present", - "create.ponder.auto_schedule.text_3": "Mind that a Station can only be approached from the indicated direction", - "create.ponder.auto_schedule.text_4": "Stations can also be used to assign new Schedules automatically", - "create.ponder.auto_schedule.text_5": "The Schedule placed on a station will automatically copy itself to present trains", - "create.ponder.auto_schedule.text_6": "As opposed to manual scheduling, drivers will not take the item with them", - - "create.ponder.basin.header": "Processing Items in the Basin", - "create.ponder.basin.text_1": "A Basin can hold Items and Fluids for Processing", - "create.ponder.basin.text_2": "After a processing step, basins try to output below to the side of them", - "create.ponder.basin.text_3": "When a valid component is present, the Basin will show an output faucet", - "create.ponder.basin.text_4": "A number of options are applicable here", - "create.ponder.basin.text_5": "Outputs will be caught by the inventory below", - "create.ponder.basin.text_6": "Without output faucet, the Basin will retain items created in its processing", - "create.ponder.basin.text_7": "This can be useful if outputs should be re-used as ingredients", - "create.ponder.basin.text_8": "Desired outputs will then have to be extracted from the basin", - "create.ponder.basin.text_9": "A Filter might be necessary to avoid pulling out un-processed items", - - "create.ponder.bearing_modes.header": "Movement Modes of the Mechanical Bearing", - "create.ponder.bearing_modes.text_1": "When Stopped, the Bearing will place the structure at the nearest grid-aligned Angle", - "create.ponder.bearing_modes.text_2": "It can be configured never to revert to solid blocks, or only near the angle it started at", - - "create.ponder.belt_casing.header": "Encasing Belts", - "create.ponder.belt_casing.text_1": "Brass or Andesite Casing can be used to decorate Mechanical Belts", - "create.ponder.belt_casing.text_2": "A wrench can be used to remove the casing", - - "create.ponder.belt_connector.header": "Using Mechanical Belts", - "create.ponder.belt_connector.text_1": "Right-Clicking two shafts with a belt item will connect them together", - "create.ponder.belt_connector.text_2": "Accidental selections can be canceled with Right-Click while Sneaking", - "create.ponder.belt_connector.text_3": "Additional Shafts can be added throughout the Belt", - "create.ponder.belt_connector.text_4": "Shafts connected via Belts will rotate with Identical Speed and Direction", - "create.ponder.belt_connector.text_5": "Added shafts can be removed using the wrench", - "create.ponder.belt_connector.text_6": "Mechanical Belts can be dyed for aesthetic purposes", - - "create.ponder.belt_directions.header": "Valid Orientations for Mechanical Belts", - "create.ponder.belt_directions.text_1": "Belts cannot connect in arbitrary directions", - "create.ponder.belt_directions.text_2": "1. They can connect horizontally", - "create.ponder.belt_directions.text_3": "2. They can connect diagonally", - "create.ponder.belt_directions.text_4": "3. They can connect vertically", - "create.ponder.belt_directions.text_5": "4. And they can connect vertical shafts horizontally", - "create.ponder.belt_directions.text_6": "These are all possible directions. Belts can span any Length between 2 and 20 blocks", - - "create.ponder.belt_transport.header": "Using Mechanical Belts for Logistics", - "create.ponder.belt_transport.text_1": "Moving belts will transport Items and other Entities", - "create.ponder.belt_transport.text_2": "Right-Click with an empty hand to take items off a belt", - - "create.ponder.blaze_burner.header": "Feeding Blaze Burners", - "create.ponder.blaze_burner.text_1": "Blaze Burners can provide Heat to Items processed in a Basin", - "create.ponder.blaze_burner.text_2": "For this, the Blaze has to be fed with flammable items", - "create.ponder.blaze_burner.text_3": "With a Blaze Cake, the Burner can reach an even stronger level of heat", - "create.ponder.blaze_burner.text_4": "The feeding process can be automated using Deployers or Mechanical Arms", - - "create.ponder.brass_funnel.header": "The Brass Funnel", - "create.ponder.brass_funnel.text_1": "Andesite Funnels can only ever extract single items.", - "create.ponder.brass_funnel.text_2": "Brass Funnels can extract up to a full stack.", - "create.ponder.brass_funnel.text_3": "The value panel allows for precise control over the extracted stack size.", - "create.ponder.brass_funnel.text_4": "Using items on the filter slot will restrict the funnel to only transfer matching stacks.", - - "create.ponder.brass_tunnel.header": "Using Brass Tunnels", - "create.ponder.brass_tunnel.text_1": "Brass Tunnels can be used to cover up your belts", - "create.ponder.brass_tunnel.text_2": "Brass Tunnels have filter slots on each open side", - "create.ponder.brass_tunnel.text_3": "Filters on inbound connections simply block non-matching items", - "create.ponder.brass_tunnel.text_4": "Filters on outbound connections can be used to sort items by type", - "create.ponder.brass_tunnel.text_5": "Whenever a passing item has multiple valid exits, the distribution mode will decide how to handle it", - "create.ponder.brass_tunnel.text_6": "Brass Tunnels on parallel belts will form a group", - "create.ponder.brass_tunnel.text_7": "Incoming Items will now be distributed across all connected exits", - "create.ponder.brass_tunnel.text_8": "For this, items can also be inserted into the Tunnel block directly", - - "create.ponder.brass_tunnel_modes.header": "Distribution Modes of the Brass Tunnel", - "create.ponder.brass_tunnel_modes.text_1": "The distribution behaviour of Brass Tunnels can be configured", - "create.ponder.brass_tunnel_modes.text_10": "'Synchronize Inputs' is a unique setting for Brass Tunnels", - "create.ponder.brass_tunnel_modes.text_11": "Items are only allowed past if every tunnel in the group has one waiting", - "create.ponder.brass_tunnel_modes.text_12": "This ensures that all affected belts supply items at the same rate", - "create.ponder.brass_tunnel_modes.text_2": "'Split' will attempt to distribute the stack evenly between available outputs", - "create.ponder.brass_tunnel_modes.text_3": "If an output is unable to take more items, it will be skipped", - "create.ponder.brass_tunnel_modes.text_4": "'Forced Split' will never skip outputs, and instead wait until they are free", - "create.ponder.brass_tunnel_modes.text_5": "'Round Robin' keeps stacks whole, and cycles through outputs iteratively", - "create.ponder.brass_tunnel_modes.text_6": "Once Again, if an output is unable to take more items, it will be skipped", - "create.ponder.brass_tunnel_modes.text_7": "'Forced Round Robin' never skips outputs", - "create.ponder.brass_tunnel_modes.text_8": "'Prefer Nearest' prioritizes the outputs closest to the items' input location", - "create.ponder.brass_tunnel_modes.text_9": "'Randomize' will distribute whole stacks to randomly picked outputs", - - "create.ponder.cart_assembler.header": "Moving Structures using Cart Assemblers", - "create.ponder.cart_assembler.text_1": "Powered Cart Assemblers mount attached structures to passing Minecarts", - "create.ponder.cart_assembler.text_2": "Without a redstone signal, it disassembles passing cart contraptions back into blocks", - "create.ponder.cart_assembler.text_3": "Using a Wrench on the Minecart will let you carry the Contraption elsewhere", - - "create.ponder.cart_assembler_dual.header": "Assembling Carriage Contraptions", - "create.ponder.cart_assembler_dual.text_1": "Whenever two Cart Assembers share an attached structure...", - "create.ponder.cart_assembler_dual.text_2": "Powering either of them will create a Carriage Contraption", - "create.ponder.cart_assembler_dual.text_3": "The carts will behave like those connected via Minecart Coupling", - - "create.ponder.cart_assembler_modes.header": "Orientation Settings for Minecart Contraptions", - "create.ponder.cart_assembler_modes.text_1": "Cart Contraptions will rotate to face towards their carts' motion", - "create.ponder.cart_assembler_modes.text_2": "This Arrow indicates which side of the Structure will be considered the front", - "create.ponder.cart_assembler_modes.text_3": "If the Assembler is set to Lock Rotation, the contraptions' orientation will never change", - - "create.ponder.cart_assembler_rails.header": "Other types of Minecarts and Rails", - "create.ponder.cart_assembler_rails.text_1": "Cart Assemblers on Regular Tracks will not affect the passing carts' motion", - "create.ponder.cart_assembler_rails.text_2": "When on Powered or Controller Rail, the carts will be held in place until it's Powered", - "create.ponder.cart_assembler_rails.text_3": "Other types of Minecarts can be used as the anchor", - "create.ponder.cart_assembler_rails.text_4": "Furnace Carts will keep themselves powered, pulling fuel from any attached inventories", - - "create.ponder.chain_drive.header": "Relaying rotational force with Chain Drives", - "create.ponder.chain_drive.text_1": "Chain Drives relay rotation to each other in a row", - "create.ponder.chain_drive.text_2": "All shafts connected like this will rotate in the same direction", - "create.ponder.chain_drive.text_3": "Any part of the row can be rotated by 90 degrees", - - "create.ponder.chain_gearshift.header": "Controlling rotational speed with Chain Gearshifts", - "create.ponder.chain_gearshift.text_1": "Unpowered Chain Gearshifts behave exactly like Chain Drives", - "create.ponder.chain_gearshift.text_2": "When Powered, the speed transmitted to other Chain Drives in the row is doubled", - "create.ponder.chain_gearshift.text_3": "Whenever the Powered Gearshift is not at the source, its speed will be halved instead", - "create.ponder.chain_gearshift.text_4": "In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift", - "create.ponder.chain_gearshift.text_5": "Using analog signals, the ratio can be adjusted more precisely between 1 and 2", - "create.ponder.chain_gearshift.text_6": "12 RPM", - - "create.ponder.chute.header": "Transporting Items downward via Chutes", - "create.ponder.chute.text_1": "Chutes can transport items vertically from and to inventories", - "create.ponder.chute.text_2": "Using the Wrench, a window can be created", - "create.ponder.chute.text_3": "Using Industrial Iron Blocks, chutes can be encased", - "create.ponder.chute.text_4": "Placing chutes targeting the side faces of another will make it diagonal", - - "create.ponder.chute_upward.header": "Transporting Items upward via Chutes", - "create.ponder.chute_upward.text_1": "Using Encased Fans at the top or bottom, a Chute can move items upward", - "create.ponder.chute_upward.text_2": "Inspecting chutes with Engineers' Goggles reveals information about the movement direction", - "create.ponder.chute_upward.text_3": "On the 'blocked' end, items will have to be inserted/taken from the sides", - - "create.ponder.clockwork_bearing.header": "Animating Structures using Clockwork Bearings", - "create.ponder.clockwork_bearing.text_1": "Clockwork Bearings attach to blocks in front of them", - "create.ponder.clockwork_bearing.text_2": "Upon receiving Rotational Force, the structure will be rotated according to the hour of the day", - "create.ponder.clockwork_bearing.text_3": "3:00", - "create.ponder.clockwork_bearing.text_4": "4:00", - "create.ponder.clockwork_bearing.text_5": "Right-Click the bearing to start or stop animating the structure", - "create.ponder.clockwork_bearing.text_6": "In front of the Hour Hand, a second structure can be added", - "create.ponder.clockwork_bearing.text_7": "Ensure that the two Structures are not glued to each other", - "create.ponder.clockwork_bearing.text_8": "The Second Structure will now rotate as the Minute Hand", - - "create.ponder.clutch.header": "Controlling rotational force using a Clutch", - "create.ponder.clutch.text_1": "Clutches will relay rotation in a straight line", - "create.ponder.clutch.text_2": "When powered by Redstone, it breaks the connection", - - "create.ponder.cog_speedup.header": "Gearshifting with Cogs", - "create.ponder.cog_speedup.text_1": "Large and Small cogs can be connected diagonally", - "create.ponder.cog_speedup.text_2": "Shifting from large to small cogs, the conveyed speed will be doubled", - "create.ponder.cog_speedup.text_3": "Shifting the opposite way, the conveyed speed will be halved", - - "create.ponder.cogwheel.header": "Relaying rotational force using Cogwheels", - "create.ponder.cogwheel.text_1": "Cogwheels will relay rotation to other adjacent cogwheels", - "create.ponder.cogwheel.text_2": "Neighbouring shafts connected like this will rotate in opposite directions", - - "create.ponder.cogwheel_casing.header": "Encasing Cogwheels", - "create.ponder.cogwheel_casing.text_1": "Brass or Andesite Casing can be used to decorate Cogwheels", - "create.ponder.cogwheel_casing.text_2": "Components added after encasing will not connect to the shaft outputs", - "create.ponder.cogwheel_casing.text_3": "The Wrench can be used to toggle connections", - - "create.ponder.contraption_controls.header": "Using Contraption Controls", - "create.ponder.contraption_controls.text_1": "Actors on moving contraptions are always active by default", - "create.ponder.contraption_controls.text_2": "Contraption Controls can be used to toggle them on the fly", - "create.ponder.contraption_controls.text_3": "They can be attached anywhere on the contraption", - "create.ponder.contraption_controls.text_4": "While disassembled, the filter can be changed to target specific types of actors", - "create.ponder.contraption_controls.text_5": "If it is redstone-activated during assembly...", - "create.ponder.contraption_controls.text_6": "...targeted actors will be turned off from the start", - - "create.ponder.creative_fluid_tank.header": "Creative Fluid Tanks", - "create.ponder.creative_fluid_tank.text_1": "Creative Fluid Tanks can be used to provide a bottomless supply of fluid", - "create.ponder.creative_fluid_tank.text_2": "Right-Click with a fluid containing item to configure it", - "create.ponder.creative_fluid_tank.text_3": "Pipe Networks can now endlessly draw the assigned fluid from the tank", - "create.ponder.creative_fluid_tank.text_4": "Any Fluids pushed back into a Creative Fluid Tank will be voided", - - "create.ponder.creative_motor.header": "Generating Rotational Force using Creative Motors", - "create.ponder.creative_motor.text_1": "Creative motors are a compact and configurable source of Rotational Force", - "create.ponder.creative_motor.text_2": "The generated speed can be configured on its input panels", - - "create.ponder.creative_motor_mojang.header": "Mojang's Enigma", - - "create.ponder.crushing_wheels.header": "Processing Items with Crushing Wheels", - "create.ponder.crushing_wheels.text_1": "A pair of Crushing Wheels can grind items very effectively", - "create.ponder.crushing_wheels.text_2": "Their Rotational Input has to make them spin into each other", - "create.ponder.crushing_wheels.text_3": "Items thrown or inserted into the top will get processed", - "create.ponder.crushing_wheels.text_4": "Items can be inserted and picked up through automated means as well", - - "create.ponder.deployer.header": "Using the Deployer", - "create.ponder.deployer.text_1": "Given Rotational Force, a Deployer can imitate player interactions", - "create.ponder.deployer.text_10": "Right-click the front to give it an Item to use", - "create.ponder.deployer.text_11": "Items can also be inserted automatically", - "create.ponder.deployer.text_12": "Deployers carry a filter slot", - "create.ponder.deployer.text_13": "When a filter is set, it activates only while holding a matching item", - "create.ponder.deployer.text_14": "Only items matching the filter can now be inserted...", - "create.ponder.deployer.text_15": "...and only non-matching items will be extracted", - "create.ponder.deployer.text_2": "It will always interact with the position 2 blocks in front of itself", - "create.ponder.deployer.text_3": "Blocks directly in front will not obstruct it", - "create.ponder.deployer.text_4": "Deployers can:", - "create.ponder.deployer.text_5": "Place Blocks,", - "create.ponder.deployer.text_6": "Use Items,", - "create.ponder.deployer.text_7": "Activate Blocks,", - "create.ponder.deployer.text_8": "Harvest blocks", - "create.ponder.deployer.text_9": "and Attack Mobs", - - "create.ponder.deployer_contraption.header": "Using Deployers on Contraptions", - "create.ponder.deployer_contraption.text_1": "Whenever Deployers are moved as part of an animated Contraption...", - "create.ponder.deployer_contraption.text_2": "They activate at each visited location, using items from inventories anywhere on the contraption", - "create.ponder.deployer_contraption.text_3": "The Filter slot can be used to specify which items to pull", - - "create.ponder.deployer_modes.header": "Modes of the Deployer", - "create.ponder.deployer_modes.text_1": "By default, a Deployer imitates a Right-click interaction", - "create.ponder.deployer_modes.text_2": "Using a Wrench, it can be set to imitate a Left-click instead", - - "create.ponder.deployer_processing.header": "Processing Items using Deployers", - "create.ponder.deployer_processing.text_1": "With a fitting held item, Deployers can process items provided beneath them", - "create.ponder.deployer_processing.text_2": "The Input items can be dropped or placed on a Depot under the Deployer", - "create.ponder.deployer_processing.text_3": "When items are provided on a belt...", - "create.ponder.deployer_processing.text_4": "The Deployer will hold and process them automatically", - - "create.ponder.deployer_redstone.header": "Controlling Deployers with Redstone", - "create.ponder.deployer_redstone.text_1": "When powered by Redstone, Deployers will not activate", - "create.ponder.deployer_redstone.text_2": "Before stopping, the Deployer will finish any started cycles", - "create.ponder.deployer_redstone.text_3": "Thus, a negative pulse can be used to trigger exactly one activation cycle", - - "create.ponder.depot.header": "Using Depots", - "create.ponder.depot.text_1": "Depots can serve as 'stationary' belt elements", - "create.ponder.depot.text_2": "Right-Click to manually place or remove Items from it", - "create.ponder.depot.text_3": "Just like Mechanical Belts, it can provide items to processing", - "create.ponder.depot.text_4": "...as well as provide Items to Mechanical Arms", - - "create.ponder.display_board.header": "Using Display Boards", - "create.ponder.display_board.text_1": "Display Boards are a scalable alternative to the sign", - "create.ponder.display_board.text_2": "They require Rotational Force to operate", - "create.ponder.display_board.text_3": "Static text can be applied using written Clipboards", - "create.ponder.display_board.text_4": "And dynamic text through the use of Display Links", - "create.ponder.display_board.text_5": "Dyes can be applied to individual lines of the board", - "create.ponder.display_board.text_6": "Lines can be reset by clicking them with an empty hand", - - "create.ponder.display_link.header": "Setting up Display Links", - "create.ponder.display_link.text_1": "Display Links can be used to visualise dynamic information", - "create.ponder.display_link.text_2": "First, right-click the target display...", - "create.ponder.display_link.text_3": "...then attach it to the block to read from", - "create.ponder.display_link.text_4": "Open the Interface to select and configure what is sent", - "create.ponder.display_link.text_5": "The display will now receive information from the link", - "create.ponder.display_link.text_6": "Not every block can act as a source", - "create.ponder.display_link.text_7": "Each compatible block provides unique information", - "create.ponder.display_link.text_8": "The Display Link can work with several different displays", - - "create.ponder.display_link_redstone.header": "Redstone Control", - "create.ponder.display_link_redstone.text_1": "When powered by Redstone, Display Links stop sending updates", - "create.ponder.display_link_redstone.text_2": "Once unpowered, the Timer is reset and new info is sent immediately", - "create.ponder.display_link_redstone.text_3": "Signals emitted from the source do not affect the Link", - - "create.ponder.elevator_pulley.header": "Using the Elevator Pulley", - "create.ponder.elevator_pulley.text_1": "Elevator Pulleys can move structures vertically between marked locations", - "create.ponder.elevator_pulley.text_10": "Any redstone contact sharing this column will be converted", - "create.ponder.elevator_pulley.text_11": "Supply a redstone pulse to call the elevator to the contact", - "create.ponder.elevator_pulley.text_12": "The movement speed depends on the rotation input on the pulley", - "create.ponder.elevator_pulley.text_13": "Scroll and click on the controls block to choose a floor while on-board", - "create.ponder.elevator_pulley.text_14": "Right-Clicking the assembled pulley will turn the cabin back into blocks", - "create.ponder.elevator_pulley.text_15": "Sliding doors attached to the cabin will open and close automatically", - "create.ponder.elevator_pulley.text_16": "Elevator Contacts emit a signal while the cabin is on their floor", - "create.ponder.elevator_pulley.text_17": "This can be useful to trigger doors or special effects upon arrival", - "create.ponder.elevator_pulley.text_18": "Display Links on any of the contacts can show the current floor of the elevator", - "create.ponder.elevator_pulley.text_2": "Start by constructing a cabin", - "create.ponder.elevator_pulley.text_3": "Place a pair of Redstone Contacts facing each other...", - "create.ponder.elevator_pulley.text_4": "...and glue one of them to your moving structure", - "create.ponder.elevator_pulley.text_5": "Contraption Controls can be attached to make floor selection easier", - "create.ponder.elevator_pulley.text_6": "Ensure that the pulley is supplied with Rotational Power", - "create.ponder.elevator_pulley.text_7": "Right-Clicking the pulley assembles the elevator", - "create.ponder.elevator_pulley.text_8": "The stationary contact now turns into an Elevator Contact", - "create.ponder.elevator_pulley.text_9": "Elevator Contacts represent a 'floor' and can be configured", - - "create.ponder.elevator_pulley_multi_rope.header": "Synchronised Pulley Movement", - "create.ponder.elevator_pulley_multi_rope.text_1": "Whenever a pulley assembles a contraption...", - "create.ponder.elevator_pulley_multi_rope.text_2": "...other pulleys on the same layer will connect to the structure", - "create.ponder.elevator_pulley_multi_rope.text_3": "They do not require to be powered, the effect is purely cosmetic", - - "create.ponder.empty_blaze_burner.header": "Using Empty Blaze Burners", - "create.ponder.empty_blaze_burner.text_1": "Right-click a Blaze with the empty burner to capture it", - "create.ponder.empty_blaze_burner.text_2": "Alternatively, Blazes can be collected from their Spawners directly", - "create.ponder.empty_blaze_burner.text_3": "You now have an ideal heat source for various machines", - "create.ponder.empty_blaze_burner.text_4": "For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel", - "create.ponder.empty_blaze_burner.text_5": "The flame can be transformed using a soul-infused item", - "create.ponder.empty_blaze_burner.text_6": "However, without a blaze they are not suitable for industrial heating", - - "create.ponder.encased_fluid_pipe.header": "Encasing Fluid Pipes", - "create.ponder.encased_fluid_pipe.text_1": "Copper Casing can be used to decorate Fluid Pipes", - "create.ponder.encased_fluid_pipe.text_2": "Aside from being concealed, Encased Pipes are locked into their connectivity state", - "create.ponder.encased_fluid_pipe.text_3": "It will no longer react to any neighbouring blocks being added or removed", - - "create.ponder.fan_direction.header": "Air flow of Encased Fans", - "create.ponder.fan_direction.text_1": "Encased Fans use Rotational Force to create an Air Current", - "create.ponder.fan_direction.text_2": "Strength and Direction of Flow depends on the Rotational Input", - - "create.ponder.fan_processing.header": "Processing Items using Encased Fans", - "create.ponder.fan_processing.text_1": "When passing through lava, the Air Flow becomes Heated", - "create.ponder.fan_processing.text_2": "Items caught in the area will be smelted", - "create.ponder.fan_processing.text_3": "Food items thrown here would be incinerated", - "create.ponder.fan_processing.text_4": "Instead, a setup for Smoking using Fire should be used for them", - "create.ponder.fan_processing.text_5": "Air Flows passing through water create a Washing Setup", - "create.ponder.fan_processing.text_6": "Some interesting new processing can be done with it", - "create.ponder.fan_processing.text_7": "The Speed of the Fan does NOT affect the processing speed, only its range", - "create.ponder.fan_processing.text_8": "Fan Processing can also be applied to Items on Depots and Belts", - - "create.ponder.fluid_pipe_flow.header": "Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "Fluid Pipes can connect two or more fluid sources and targets", - "create.ponder.fluid_pipe_flow.text_2": "Using a wrench, a straight pipe segment can be given a window", - "create.ponder.fluid_pipe_flow.text_3": "Windowed pipes will not connect to any other adjacent pipe segments", - "create.ponder.fluid_pipe_flow.text_4": "Powered by Mechanical Pumps, the Pipes can transport Fluids", - "create.ponder.fluid_pipe_flow.text_5": "No fluid is being extracted at first", - "create.ponder.fluid_pipe_flow.text_6": "Once the flow connects them, the endpoints gradually transfer their contents", - "create.ponder.fluid_pipe_flow.text_7": "Thus, the Pipe blocks themselves never 'physically' contain any fluid", - - "create.ponder.fluid_pipe_interaction.header": "Draining and Filling fluid containers", - "create.ponder.fluid_pipe_interaction.text_1": "Endpoints of a pipe network can interact with a variety of blocks", - "create.ponder.fluid_pipe_interaction.text_2": "Any block with fluid storage capabilities can be filled or drained", - "create.ponder.fluid_pipe_interaction.text_3": "Source blocks right in front of an open end can be picked up...", - "create.ponder.fluid_pipe_interaction.text_4": "...while spilling into empty spaces can create fluid sources", - "create.ponder.fluid_pipe_interaction.text_5": "Pipes can also extract fluids from a handful of other blocks directly", - - "create.ponder.fluid_tank_sizes.header": "Dimensions of a Fluid tank", - "create.ponder.fluid_tank_sizes.text_1": "Fluid Tanks can be combined to increase the total capacity", - "create.ponder.fluid_tank_sizes.text_2": "Their base square can be up to 3 blocks wide...", - "create.ponder.fluid_tank_sizes.text_3": "...and grow in height by more than 30 additional layers", - "create.ponder.fluid_tank_sizes.text_4": "Using a Wrench, a tanks' window can be toggled", - - "create.ponder.fluid_tank_storage.header": "Storing Fluids in Fluid Tanks", - "create.ponder.fluid_tank_storage.text_1": "Fluid Tanks can be used to store large amounts of fluid", - "create.ponder.fluid_tank_storage.text_2": "Pipe networks can push and pull fluids from any side", - "create.ponder.fluid_tank_storage.text_3": "The contained fluid can be measured by a Comparator", - "create.ponder.fluid_tank_storage.text_4": "However, in Survival Mode Fluids cannot be added or taken manually", - "create.ponder.fluid_tank_storage.text_5": "You can use Basins, Item Drains and Spouts to drain or fill fluid containing items", - - "create.ponder.funnel_compat.header": "Funnel compatibility", - "create.ponder.funnel_compat.text_1": "Funnels should also interact nicely with a handful of other components.", - "create.ponder.funnel_compat.text_2": "Vertical Saws", - "create.ponder.funnel_compat.text_3": "Depots", - "create.ponder.funnel_compat.text_4": "Item Drains", - - "create.ponder.funnel_direction.header": "Direction of Transfer", - "create.ponder.funnel_direction.text_1": "Placed normally, it pulls items from the inventory.", - "create.ponder.funnel_direction.text_2": "Placed while sneaking, it puts items into the inventory.", - "create.ponder.funnel_direction.text_3": "Using a wrench, the funnel can be flipped after placement.", - "create.ponder.funnel_direction.text_4": "Same rules will apply for most orientations.", - "create.ponder.funnel_direction.text_5": "Funnels on belts will extract/insert depending on its movement direction.", - - "create.ponder.funnel_intro.header": "Using funnels", - "create.ponder.funnel_intro.text_1": "Funnels are ideal for transferring items from and to inventories.", - - "create.ponder.funnel_redstone.header": "Redstone control", - "create.ponder.funnel_redstone.text_1": "Redstone power will prevent any funnel from acting", - - "create.ponder.funnel_transfer.header": "Direct transfer", - "create.ponder.funnel_transfer.text_1": "Funnels cannot ever transfer between closed inventories directly.", - "create.ponder.funnel_transfer.text_2": "Chutes or Smart chutes might be more suitable for such purposes.", - "create.ponder.funnel_transfer.text_3": "Same applies for horizontal movement. A mechanical belt should help here.", - - "create.ponder.gantry_carriage.header": "Using Gantry Carriages", - "create.ponder.gantry_carriage.text_1": "Gantry Carriages can mount to and slide along a Gantry Shaft.", - "create.ponder.gantry_carriage.text_2": "Gantry setups can move attached Blocks.", - - "create.ponder.gantry_cascaded.header": "Cascaded Gantries", - "create.ponder.gantry_cascaded.text_1": "Gantry shafts attach to a carriage without the need of super glue", - "create.ponder.gantry_cascaded.text_2": "Same applies for carriages on moved Gantry Shafts", - "create.ponder.gantry_cascaded.text_3": "Thus, a gantry system can be cascaded to cover multiple axes of movement", - - "create.ponder.gantry_direction.header": "Gantry Movement Direction", - "create.ponder.gantry_direction.text_1": "Gantry Shafts can have opposite orientations", - "create.ponder.gantry_direction.text_2": "The movement direction of carriages depend on their shafts' orientation", - "create.ponder.gantry_direction.text_3": "...as well as the rotation direction of the shaft", - "create.ponder.gantry_direction.text_4": "Same rules apply for the propagated rotation", - - "create.ponder.gantry_redstone.header": "Gantry Power Propagation", - "create.ponder.gantry_redstone.text_1": "Redstone-powered gantry shafts stop moving their carriages", - "create.ponder.gantry_redstone.text_2": "Instead, its rotational force is relayed to the carriages' output shaft", - - "create.ponder.gantry_shaft.header": "Using Gantry Shafts", - "create.ponder.gantry_shaft.text_1": "Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", - "create.ponder.gantry_shaft.text_2": "Gantry setups can move attached Blocks.", - - "create.ponder.gearbox.header": "Relaying rotational force using Gearboxes", - "create.ponder.gearbox.text_1": "Jumping between axes of rotation can get bulky quickly", - "create.ponder.gearbox.text_2": "A gearbox is the more compact equivalent of this setup", - "create.ponder.gearbox.text_3": "Shafts around corners rotate in mirrored directions", - "create.ponder.gearbox.text_4": "Straight connections will be reversed", - - "create.ponder.gearshift.header": "Controlling rotational force using a Gearshift", - "create.ponder.gearshift.text_1": "Gearshifts will relay rotation in a straight line", - "create.ponder.gearshift.text_2": "When powered by Redstone, it reverses the transmission", - - "create.ponder.hand_crank.header": "Generating Rotational Force using Hand Cranks", - "create.ponder.hand_crank.text_1": "Hand Cranks can be used by players to apply rotational force manually", - "create.ponder.hand_crank.text_2": "Hold Right-Click to rotate it Counter-Clockwise", - "create.ponder.hand_crank.text_3": "Sneak and Hold Right-Click to rotate it Clockwise", - - "create.ponder.hose_pulley.header": "Source Filling and Draining using Hose Pulleys", - "create.ponder.hose_pulley.text_1": "Hose Pulleys can be used to fill or drain large bodies of Fluid", - "create.ponder.hose_pulley.text_2": "With the Kinetic Input, the height of the pulleys' hose can be controlled", - "create.ponder.hose_pulley.text_3": "The Pulley retracts while the input rotation is inverted", - "create.ponder.hose_pulley.text_4": "On the opposite side, pipes can be connected", - "create.ponder.hose_pulley.text_5": "Attached pipe networks can either provide fluid to the hose...", - "create.ponder.hose_pulley.text_6": "...or pull from it, draining the pool instead", - "create.ponder.hose_pulley.text_7": "Fill and Drain speed of the pulley depends entirely on the fluid networks' throughput", - - "create.ponder.hose_pulley_infinite.header": "Passively Filling and Draining large bodies of Fluid", - "create.ponder.hose_pulley_infinite.text_1": "When deploying the Hose Pulley into a large enough ocean...", - "create.ponder.hose_pulley_infinite.text_2": "It will provide/dispose fluids without affecting the source", - "create.ponder.hose_pulley_infinite.text_3": "Pipe networks can limitlessly take fluids from/to such pulleys", - - "create.ponder.hose_pulley_level.header": "Fill and Drain level of Hose Pulleys", - "create.ponder.hose_pulley_level.text_1": "While fully retracted, the Hose Pulley cannot operate", - "create.ponder.hose_pulley_level.text_2": "Draining runs from top to bottom", - "create.ponder.hose_pulley_level.text_3": "The surface level will end up just below where the hose ends", - "create.ponder.hose_pulley_level.text_4": "Filling runs from bottom to top", - "create.ponder.hose_pulley_level.text_5": "The filled pool will not grow beyond the layer above the hose end", - - "create.ponder.item_drain.header": "Emptying Fluid Containers using Item Drains", - "create.ponder.item_drain.text_1": "Item Drains can extract fluids from items", - "create.ponder.item_drain.text_2": "Right-click it to pour fluids from your held item into it", - "create.ponder.item_drain.text_3": "When items are inserted from the side...", - "create.ponder.item_drain.text_4": "...they roll across, emptying out their contained fluid", - "create.ponder.item_drain.text_5": "Pipe Networks can now pull the fluid from the drains' internal buffer", - - "create.ponder.item_vault_sizes.header": "Dimensions of an Item Vault", - "create.ponder.item_vault_sizes.text_1": "Item Vaults can be combined to increase the total capacity", - "create.ponder.item_vault_sizes.text_2": "Their base square can be up to 3 blocks wide...", - "create.ponder.item_vault_sizes.text_3": "...and grow in length up to 3x their diameter", - - "create.ponder.item_vault_storage.header": "Storing Items in Vaults", - "create.ponder.item_vault_storage.text_1": "Item Vaults can be used to store large amounts of items", - "create.ponder.item_vault_storage.text_2": "However, contents cannot be added or taken manually", - "create.ponder.item_vault_storage.text_3": "Any components for item transfer can both insert...", - "create.ponder.item_vault_storage.text_4": "...and take contents from this container", - - "create.ponder.large_cogwheel.header": "Relaying rotational force using Large Cogwheels", - "create.ponder.large_cogwheel.text_1": "Large cogwheels can connect to each other at right angles", - "create.ponder.large_cogwheel.text_2": "It will help relaying conveyed speed to other axes of rotation", - - "create.ponder.large_water_wheel.header": "Generating Rotational Force using Large Water Wheels", - "create.ponder.large_water_wheel.text_1": "Large Water Wheels draw force from adjacent Water Currents", - "create.ponder.large_water_wheel.text_2": "Covering additional sides will not improve its kinetic output further", - "create.ponder.large_water_wheel.text_3": "These rotate only at half the speed of regular water wheels...", - "create.ponder.large_water_wheel.text_4": "...but provide a substantially higher stress capacity", - "create.ponder.large_water_wheel.text_5": "Use wood planks on the wheel to change its appearance", - - "create.ponder.linear_chassis_attachment.header": "Attaching blocks using Linear Chassis", - "create.ponder.linear_chassis_attachment.text_1": "The open faces of a Linear Chassis can be made Sticky", - "create.ponder.linear_chassis_attachment.text_2": "Click again to make the opposite side sticky", - "create.ponder.linear_chassis_attachment.text_3": "Sneak and Right-Click with an empty hand to remove the slime", - "create.ponder.linear_chassis_attachment.text_4": "Stickied faces of the Linear Chassis will attach a line of blocks in front of it", - "create.ponder.linear_chassis_attachment.text_5": "Using a Wrench, a precise Range can be specified for this chassis", - "create.ponder.linear_chassis_attachment.text_6": "Holding CTRL adjusts the range of all connected Chassis Blocks", - "create.ponder.linear_chassis_attachment.text_7": "Attaching blocks to any other side requires the use of Super Glue", - "create.ponder.linear_chassis_attachment.text_8": "Using these mechanics, structures of any shape can move as a Contraption", - - "create.ponder.linear_chassis_group.header": "Moving Linear Chassis in groups", - "create.ponder.linear_chassis_group.text_1": "Linear Chassis connect to identical Chassis blocks next to them", - "create.ponder.linear_chassis_group.text_2": "When one is moved by a Contraption, the others are dragged with it", - "create.ponder.linear_chassis_group.text_3": "Chassis of a different type or facing another direction will not attach", - - "create.ponder.mechanical_arm.header": "Setting up Mechanical Arms", - "create.ponder.mechanical_arm.text_1": "Mechanical Arms have to be assigned their in- and outputs before they are placed", - "create.ponder.mechanical_arm.text_2": "Right-Click inventories while holding the Arm to assign them as Targets", - "create.ponder.mechanical_arm.text_3": "Right-Click again to toggle between Input (Blue) and Output (Yellow)", - "create.ponder.mechanical_arm.text_4": "Left-Click components to remove their Selection", - "create.ponder.mechanical_arm.text_5": "Once placed, the Mechanical Arm will target the blocks selected previously", - "create.ponder.mechanical_arm.text_6": "They can have any amount of in- and outputs within their range", - "create.ponder.mechanical_arm.text_7": "However, not every type of Inventory can be interacted with directly", - "create.ponder.mechanical_arm.text_8": "Funnels and Depots can help to Bridge that gap", - - "create.ponder.mechanical_arm_filtering.header": "Filtering Outputs of the Mechanical Arm", - "create.ponder.mechanical_arm_filtering.text_1": "Inputs", - "create.ponder.mechanical_arm_filtering.text_2": "Outputs", - "create.ponder.mechanical_arm_filtering.text_3": "Sometimes it is desirable to restrict targets of the Arm by matching a filter", - "create.ponder.mechanical_arm_filtering.text_4": "Mechanical Arms by themselves do not provide any options for filtering", - "create.ponder.mechanical_arm_filtering.text_5": "Brass Funnels as Targets do however communicate their own filter to the Arm", - "create.ponder.mechanical_arm_filtering.text_6": "The Arm is smart enough not to pick up items it couldn't distribute", - - "create.ponder.mechanical_arm_modes.header": "Distribution modes of the Mechanical Arm", - "create.ponder.mechanical_arm_modes.text_1": "Input", - "create.ponder.mechanical_arm_modes.text_2": "Outputs", - "create.ponder.mechanical_arm_modes.text_3": "Whenever an Arm has to choose between multiple valid outputs...", - "create.ponder.mechanical_arm_modes.text_4": "...it will act according to its setting", - "create.ponder.mechanical_arm_modes.text_5": "The value panel will allow you to configure it", - "create.ponder.mechanical_arm_modes.text_6": "Round Robin mode simply cycles through all outputs that are available", - "create.ponder.mechanical_arm_modes.text_7": "If an output is unable to take more items, it will be skipped", - "create.ponder.mechanical_arm_modes.text_8": "Forced Round Robin mode will never skip outputs, and instead wait until they are free", - "create.ponder.mechanical_arm_modes.text_9": "Prefer First prioritizes the outputs selected earliest when configuring this Arm", - - "create.ponder.mechanical_arm_redstone.header": "Controlling Mechanical Arms with Redstone", - "create.ponder.mechanical_arm_redstone.text_1": "When powered by Redstone, Mechanical Arms will not activate", - "create.ponder.mechanical_arm_redstone.text_2": "Before stopping, it will finish any started cycles", - "create.ponder.mechanical_arm_redstone.text_3": "Thus, a negative pulse can be used to trigger exactly one activation cycle", - - "create.ponder.mechanical_bearing.header": "Movings Structures using the Mechanical Bearing", - "create.ponder.mechanical_bearing.text_1": "Mechanical Bearings attach to the block in front of them", - "create.ponder.mechanical_bearing.text_2": "Upon receiving Rotational Force, it will assemble it into a Rotating Contraption", - - "create.ponder.mechanical_crafter.header": "Setting up Mechanical Crafters", - "create.ponder.mechanical_crafter.text_1": "An array of Mechanical Crafters can be used to automate any Crafting Recipe", - "create.ponder.mechanical_crafter.text_2": "Using a Wrench, the Crafters' paths can be arranged", - "create.ponder.mechanical_crafter.text_3": "For a valid setup, all paths have to converge into one exit at any side", - "create.ponder.mechanical_crafter.text_4": "The outputs will be placed into the inventory at the exit", - "create.ponder.mechanical_crafter.text_5": "Mechanical Crafters require Rotational Force to operate", - "create.ponder.mechanical_crafter.text_6": "Right-Click the front to insert Items manually", - "create.ponder.mechanical_crafter.text_7": "Once every slot of a path contains an Item, the crafting process will begin", - "create.ponder.mechanical_crafter.text_8": "For recipes not fully occupying the crafter setup, the start can be forced using a Redstone Pulse", - - "create.ponder.mechanical_crafter_connect.header": "Connecting Inventories of Crafters", - "create.ponder.mechanical_crafter_connect.text_1": "Items can be inserted to Crafters automatically", - "create.ponder.mechanical_crafter_connect.text_2": "Using the Wrench at their backs, Mechanical Crafter inputs can be combined", - "create.ponder.mechanical_crafter_connect.text_3": "All connected Crafters can now be accessed by the same input location", - - "create.ponder.mechanical_crafter_covers.header": "Covering slots of Mechanical Crafters", - "create.ponder.mechanical_crafter_covers.text_1": "Some recipes will require additional Crafters to bridge gaps in the path", - "create.ponder.mechanical_crafter_covers.text_2": "Using Slot Covers, Crafters can be set to act as an Empty Slot in the arrangement", - "create.ponder.mechanical_crafter_covers.text_3": "Shared Inputs created with the Wrench at the back can also reach across covered Crafters", - - "create.ponder.mechanical_drill.header": "Breaking Blocks with the Mechanical Drill", - "create.ponder.mechanical_drill.text_1": "When given Rotational Force, a Mechanical Drill will break blocks directly in front of it", - "create.ponder.mechanical_drill.text_2": "Its mining speed depends on the Rotational Input", - - "create.ponder.mechanical_drill_contraption.header": "Using Mechanical Drills on Contraptions", - "create.ponder.mechanical_drill_contraption.text_1": "Whenever Drills are moved as part of an animated Contraption...", - "create.ponder.mechanical_drill_contraption.text_2": "...they will break blocks the contraption runs them into", - - "create.ponder.mechanical_harvester.header": "Using Mechanical Harvesters on Contraptions", - "create.ponder.mechanical_harvester.text_1": "Whenever Harvesters are moved as part of an animated Contraption...", - "create.ponder.mechanical_harvester.text_2": "They will harvest and reset any mature crops on their way", - - "create.ponder.mechanical_mixer.header": "Processing Items with the Mechanical Mixer", - "create.ponder.mechanical_mixer.text_1": "With a Mixer and Basin, some Crafting Recipes can be automated", - "create.ponder.mechanical_mixer.text_2": "Available recipes include any Shapeless Crafting Recipe, plus a couple extra ones", - "create.ponder.mechanical_mixer.text_3": "Some of those recipes may require the heat of a Blaze Burner", - "create.ponder.mechanical_mixer.text_4": "The filter slot can be used in case two recipes are conflicting.", - - "create.ponder.mechanical_piston.header": "Moving Structures using Mechanical Pistons", - "create.ponder.mechanical_piston.text_1": "Mechanical Pistons can move blocks in front of them", - "create.ponder.mechanical_piston.text_2": "Speed and direction of movement depend on the Rotational Input", - "create.ponder.mechanical_piston.text_3": "Sticky Mechanical Pistons can pull the attached blocks back", - - "create.ponder.mechanical_piston_modes.header": "Movement Modes of the Mechanical Piston", - "create.ponder.mechanical_piston_modes.text_1": "Whenever Pistons stop moving, the moved structure reverts to blocks", - "create.ponder.mechanical_piston_modes.text_2": "It can be configured never to revert to solid blocks, or only at the location it started at", - - "create.ponder.mechanical_plough.header": "Using Mechanical Ploughs on Contraptions", - "create.ponder.mechanical_plough.text_1": "Whenever Ploughs are moved as part of an animated Contraption...", - "create.ponder.mechanical_plough.text_2": "...they will break blocks without a solid collision hitbox", - "create.ponder.mechanical_plough.text_3": "Additionally, ploughs can create farmland", - "create.ponder.mechanical_plough.text_4": "...they can also launch entities without hurting them", - - "create.ponder.mechanical_press.header": "Processing Items with the Mechanical Press", - "create.ponder.mechanical_press.text_1": "The Mechanical Press can process items provided beneath it", - "create.ponder.mechanical_press.text_2": "The Input items can be dropped or placed on a Depot under the Press", - "create.ponder.mechanical_press.text_3": "When items are provided on a belt...", - "create.ponder.mechanical_press.text_4": "The Press will hold and process them automatically", - - "create.ponder.mechanical_press_compacting.header": "Compacting items with the Mechanical Press", - "create.ponder.mechanical_press_compacting.text_1": "Pressing items held in a Basin will cause them to be Compacted", - "create.ponder.mechanical_press_compacting.text_2": "Compacting includes any filled 2x2 or 3x3 Crafting Recipe, plus a couple extra ones", - "create.ponder.mechanical_press_compacting.text_3": "Some of those recipes may require the heat of a Blaze Burner", - "create.ponder.mechanical_press_compacting.text_4": "The filter slot can be used in case two recipes are conflicting.", - - "create.ponder.mechanical_pump_flow.header": "Fluid Transportation using Mechanical Pumps", - "create.ponder.mechanical_pump_flow.text_1": "Mechanical Pumps govern the flow of their attached pipe networks", - "create.ponder.mechanical_pump_flow.text_2": "Their arrow indicates the direction of flow", - "create.ponder.mechanical_pump_flow.text_3": "The network behind is now pulling fluids...", - "create.ponder.mechanical_pump_flow.text_4": "...while the network in front is transferring it outward", - "create.ponder.mechanical_pump_flow.text_5": "The pumps direction is unaffected by the input rotation", - "create.ponder.mechanical_pump_flow.text_6": "Instead, a Wrench can be used to reverse the direction", - - "create.ponder.mechanical_pump_speed.header": "Throughput of Mechanical Pumps", - "create.ponder.mechanical_pump_speed.text_1": "Regardless of speed, Mechanical Pumps affect pipes connected up to 16 blocks away", - "create.ponder.mechanical_pump_speed.text_2": "Speeding up the input rotation changes the speed of flow propagation...", - "create.ponder.mechanical_pump_speed.text_3": "...and the speed at which fluids are transferred", - "create.ponder.mechanical_pump_speed.text_4": "Pumps can combine their throughputs within shared pipe networks", - "create.ponder.mechanical_pump_speed.text_5": "Ensure that all of them are facing in the same direction", - - "create.ponder.mechanical_roller_fill.header": "Filling terrain with the Roller", - "create.ponder.mechanical_roller_fill.text_1": "While disassembled, rollers can be set to other modes", - "create.ponder.mechanical_roller_fill.text_2": "The 'fill' modes can help to bridge gaps between pavement and terrain", - "create.ponder.mechanical_roller_fill.text_3": "On 'straight fill', they will place simple columns down to the surface", - "create.ponder.mechanical_roller_fill.text_4": "On 'sloped fill', layers placed further down will increase in size", - "create.ponder.mechanical_roller_fill.text_5": "As opposed to 'clear & pave', neither of these modes will cause the rollers to break existing blocks", - - "create.ponder.mechanical_roller_pave.header": "Clearing and Paving with the Roller", - "create.ponder.mechanical_roller_pave.text_1": "Mechanical rollers help to clean up terrain around tracks or paths", - "create.ponder.mechanical_roller_pave.text_2": "In its default mode, without a material set, it will simply clear blocks like a Drill", - "create.ponder.mechanical_roller_pave.text_3": "While disassembled, a suitable paving material can be specified", - "create.ponder.mechanical_roller_pave.text_4": "Materials can be supplied via chests or barrels attached to the structure", - "create.ponder.mechanical_roller_pave.text_5": "In addition to breaking blocks, it will now replace the layer beneath them", - "create.ponder.mechanical_roller_pave.text_6": "Note that any block destroyed by a roller has a chance not to yield drops", - "create.ponder.mechanical_roller_pave.text_7": "Rollers are especially useful on Trains, but can also be used on most other types of moving contraptions", - - "create.ponder.mechanical_saw_breaker.header": "Cutting Trees with the Mechanical Saw", - "create.ponder.mechanical_saw_breaker.text_1": "When given Rotational Force, a Mechanical Saw will cut trees directly in front of it", - "create.ponder.mechanical_saw_breaker.text_2": "In order to cut the tree fully, the Saw has to break the last block connecting it to the ground", - - "create.ponder.mechanical_saw_contraption.header": "Using Mechanical Saws on Contraptions", - "create.ponder.mechanical_saw_contraption.text_1": "Whenever Saws are moved as part of an animated Contraption...", - "create.ponder.mechanical_saw_contraption.text_2": "...they will cut any trees the contraption runs them into", - - "create.ponder.mechanical_saw_processing.header": "Processing Items on the Mechanical Saw", - "create.ponder.mechanical_saw_processing.text_1": "Upward facing Mechanical Saws can process a variety of items", - "create.ponder.mechanical_saw_processing.text_2": "The processed item always moves against the rotational input to the saw", - "create.ponder.mechanical_saw_processing.text_3": "Saws can work in-line with Mechanical Belts", - "create.ponder.mechanical_saw_processing.text_4": "When an ingredient has multiple possible outcomes, the filter slot can specify it", - "create.ponder.mechanical_saw_processing.text_5": "Without filter, the Saw would cycle through all outcomes instead", - - "create.ponder.millstone.header": "Processing Items in the Millstone", - "create.ponder.millstone.text_1": "Millstones process items by grinding them", - "create.ponder.millstone.text_2": "They can be powered from the side using cogwheels", - "create.ponder.millstone.text_3": "Throw or Insert items at the top", - "create.ponder.millstone.text_4": "After some time, the result can be obtained via Right-click", - "create.ponder.millstone.text_5": "The outputs can also be extracted by automation", - - "create.ponder.nixie_tube.header": "Using Nixie Tubes", - "create.ponder.nixie_tube.text_1": "When powered by Redstone, Nixie Tubes will display the signal strength", - "create.ponder.nixie_tube.text_2": "Using written Clipboards, custom text can be displayed", - "create.ponder.nixie_tube.text_3": "Right-Click with Dye to change their display colour", - - "create.ponder.piston_pole.header": "Piston Extension Poles", - "create.ponder.piston_pole.text_1": "Without attached Poles, a Mechanical Piston cannot move", - "create.ponder.piston_pole.text_2": "The Length of pole added at its back determines the Extension Range", - - "create.ponder.portable_fluid_interface.header": "Contraption Fluid Exchange", - "create.ponder.portable_fluid_interface.text_1": "Fluid Tanks on moving contraptions cannot be accessed by any pipes", - "create.ponder.portable_fluid_interface.text_2": "This component can interact with fluid tanks without the need to stop the contraption", - "create.ponder.portable_fluid_interface.text_3": "Place a second one with a gap of 1 or 2 blocks inbetween", - "create.ponder.portable_fluid_interface.text_4": "Whenever they pass by each other, they will engage in a connection", - "create.ponder.portable_fluid_interface.text_5": "While engaged, the stationary interface will represent ALL Tanks on the contraption", - "create.ponder.portable_fluid_interface.text_6": "Fluid can now be inserted...", - "create.ponder.portable_fluid_interface.text_7": "...or extracted from the contraption", - "create.ponder.portable_fluid_interface.text_8": "After no contents have been exchanged for a while, the contraption will continue on its way", - - "create.ponder.portable_storage_interface.header": "Contraption Storage Exchange", - "create.ponder.portable_storage_interface.text_1": "Moving inventories can be tricky to access with automation.", - "create.ponder.portable_storage_interface.text_2": "This component can interact with storage without the need to stop the contraption.", - "create.ponder.portable_storage_interface.text_3": "Place a second one with a gap of 1 or 2 blocks inbetween", - "create.ponder.portable_storage_interface.text_4": "Whenever they pass by each other, they will engage in a connection", - "create.ponder.portable_storage_interface.text_5": "While engaged, the stationary interface will represent ALL inventories on the contraption", - "create.ponder.portable_storage_interface.text_6": "Items can now be inserted...", - "create.ponder.portable_storage_interface.text_7": "...or extracted from the contraption", - "create.ponder.portable_storage_interface.text_8": "After no items have been exchanged for a while, the contraption will continue on its way", - - "create.ponder.portable_storage_interface_redstone.header": "Redstone Control", - "create.ponder.portable_storage_interface_redstone.text_1": "Redstone power will prevent the stationary interface from engaging", - - "create.ponder.powered_latch.header": "Controlling signals using the Powered Latch", - "create.ponder.powered_latch.text_1": "Powered Latches are redstone controllable Levers", - "create.ponder.powered_latch.text_2": "Signals at the back switch it on", - "create.ponder.powered_latch.text_3": "Signals from the side switch it back off", - "create.ponder.powered_latch.text_4": "Powered latches can also be toggled manually", - - "create.ponder.powered_toggle_latch.header": "Controlling signals using the Powered Toggle Latch", - "create.ponder.powered_toggle_latch.text_1": "Powered Toggle Latches are redstone controllable Levers", - "create.ponder.powered_toggle_latch.text_2": "Signals at the back will toggle its state", - "create.ponder.powered_toggle_latch.text_3": "...on and back off", - "create.ponder.powered_toggle_latch.text_4": "Powered toggle latches can also be toggled manually", - - "create.ponder.pulse_extender.header": "Controlling signals using Pulse Extenders", - "create.ponder.pulse_extender.text_1": "Pulse Extenders can lengthen a signal passing through", - "create.ponder.pulse_extender.text_2": "They activate after a short delay...", - "create.ponder.pulse_extender.text_3": "...and cool down for the configured duration", - "create.ponder.pulse_extender.text_4": "Using the value panel, the discharge time can be configured", - "create.ponder.pulse_extender.text_5": "The configured duration can range up to an hour", - - "create.ponder.pulse_repeater.header": "Controlling signals using Pulse Repeaters", - "create.ponder.pulse_repeater.text_1": "Pulse Repeaters emit a short pulse after a delay", - "create.ponder.pulse_repeater.text_2": "Using the value panel, the charge time can be configured", - "create.ponder.pulse_repeater.text_3": "Configured delays can range up to an hour", - - "create.ponder.radial_chassis.header": "Attaching blocks using Radial Chassis", - "create.ponder.radial_chassis.text_1": "Radial Chassis connect to identical Chassis blocks in a row", - "create.ponder.radial_chassis.text_2": "When one is moved by a Contraption, the others are dragged with it", - "create.ponder.radial_chassis.text_3": "The side faces of a Radial Chassis can be made Sticky", - "create.ponder.radial_chassis.text_4": "Click again to make all other sides sticky", - "create.ponder.radial_chassis.text_5": "Sneak and Right-Click with an empty hand to remove the slime", - "create.ponder.radial_chassis.text_6": "Whenever a Block is next to a sticky face...", - "create.ponder.radial_chassis.text_7": "...it will attach all reachable blocks within a radius on that layer", - "create.ponder.radial_chassis.text_8": "Using a Wrench, a precise Radius can be specified for this chassis", - "create.ponder.radial_chassis.text_9": "Blocks not reachable by any sticky face will not attach", - - "create.ponder.redstone_contact.header": "Redstone Contacts", - "create.ponder.redstone_contact.text_1": "Redstone Contacts facing each other will emit a redstone signal", - "create.ponder.redstone_contact.text_2": "This still applies when one of them is part of a moving Contraption", - - "create.ponder.redstone_link.header": "Using Redstone Links", - "create.ponder.redstone_link.text_1": "Redstone Links can transmit redstone signals wirelessly", - "create.ponder.redstone_link.text_2": "Right-click while Sneaking to toggle receive mode", - "create.ponder.redstone_link.text_3": "A simple Right-click with a Wrench can do the same", - "create.ponder.redstone_link.text_4": "Receivers emit the redstone power of transmitters within 128 blocks", - "create.ponder.redstone_link.text_5": "Placing items in the two slots can specify a Frequency", - "create.ponder.redstone_link.text_6": "Only the links with matching Frequencies will communicate", - - "create.ponder.rope_pulley.header": "Moving Structures using Rope Pulleys", - "create.ponder.rope_pulley.text_1": "Rope Pulleys can move blocks vertically when given Rotational Force", - "create.ponder.rope_pulley.text_2": "Direction and Speed of movement depend on the Rotational Input", - - "create.ponder.rope_pulley_attachment.header": "Moving Pulleys as part of a Contraption", - "create.ponder.rope_pulley_attachment.text_1": "Whenever Pulleys are themselves being moved by a Contraption...", - "create.ponder.rope_pulley_attachment.text_2": "...its attached structure will be dragged with it", - "create.ponder.rope_pulley_attachment.text_3": "Mind that pulleys are only movable while stopped", - - "create.ponder.rope_pulley_modes.header": "Movement Modes of the Rope Pulley", - "create.ponder.rope_pulley_modes.text_1": "Whenever Pulleys stop moving, the moved structure reverts to blocks", - "create.ponder.rope_pulley_modes.text_2": "It can be configured never to revert to solid blocks, or only at the location it started at", - - "create.ponder.rope_pulley_multi_rope.header": "Synchronised Pulley Movement", - "create.ponder.rope_pulley_multi_rope.text_1": "Whenever a pulley assembles a contraption...", - "create.ponder.rope_pulley_multi_rope.text_2": "...other pulleys on the same layer will connect to the structure", - "create.ponder.rope_pulley_multi_rope.text_3": "They do not require to be powered, the effect is purely cosmetic", - - "create.ponder.rose_quartz_lamp.header": "Rose Quartz Lamps", - "create.ponder.rose_quartz_lamp.text_1": "Rose Quartz Lamps activate on a Redstone signal", - "create.ponder.rose_quartz_lamp.text_2": "They will continue to emit redstone power afterwards", - "create.ponder.rose_quartz_lamp.text_3": "When multiple lamps are arranged in a group...", - "create.ponder.rose_quartz_lamp.text_4": "...activating a Lamp will focus the signal to it, deactivating all others", - "create.ponder.rose_quartz_lamp.text_5": "Comparators output based on the distance to a powered lamp", - "create.ponder.rose_quartz_lamp.text_6": "The Lamps can also be toggled manually using a Wrench", - - "create.ponder.rotation_speed_controller.header": "Using the Rotational Speed Controller", - "create.ponder.rotation_speed_controller.text_1": "Rot. Speed Controllers relay rotation from their axis to a Large Cogwheel above them", - "create.ponder.rotation_speed_controller.text_2": "Using the value panel on its side, the conveyed speed can be configured", - - "create.ponder.sail.header": "Assembling Windmills using Sails", - "create.ponder.sail.text_1": "Sails are handy blocks to create Windmills with", - "create.ponder.sail.text_2": "They will attach to blocks and each other without the need of Super Glue or Chassis Blocks", - "create.ponder.sail.text_3": "Right-Click with Dye to paint them", - "create.ponder.sail.text_4": "Right-Click with Shears to turn them back into frames", - - "create.ponder.sail_frame.header": "Assembling Windmills using Sail Frames", - "create.ponder.sail_frame.text_1": "Sail Frames are handy blocks to create Windmills with", - "create.ponder.sail_frame.text_2": "They will attach to blocks and each other without the need of Super Glue or Chassis Blocks", - - "create.ponder.sequenced_gearshift.header": "Controlling Rotational Speed using Sequenced Gearshifts", - "create.ponder.sequenced_gearshift.text_1": "Seq. Gearshifts relay rotation by following a timed list of instructions", - "create.ponder.sequenced_gearshift.text_2": "Right-click it to open the Configuration UI", - "create.ponder.sequenced_gearshift.text_3": "Upon receiving a Redstone Signal, it will start running its configured sequence", - "create.ponder.sequenced_gearshift.text_4": "Once finished, it waits for the next Redstone Signal and starts over", - "create.ponder.sequenced_gearshift.text_5": "A redstone comparator can be used to read the current progress", - - "create.ponder.shaft.header": "Relaying rotational force using Shafts", - "create.ponder.shaft.text_1": "Shafts will relay rotation in a straight line.", - - "create.ponder.shaft_casing.header": "Encasing Shafts", - "create.ponder.shaft_casing.text_1": "Brass or Andesite Casing can be used to decorate Shafts", - - "create.ponder.smart_chute.header": "Filtering Items using Smart Chutes", - "create.ponder.smart_chute.text_1": "Smart Chutes are vertical chutes with additional control", - "create.ponder.smart_chute.text_2": "Items in the filter slot specify what to extract or transfer", - "create.ponder.smart_chute.text_3": "Use the value panel to specify the extracted stack size", - "create.ponder.smart_chute.text_4": "Redstone power will prevent Smart Chutes from acting.", - - "create.ponder.smart_observer.header": "Advanced detection with Smart Observers", - "create.ponder.smart_observer.text_1": "Smart Observers can be used to detect a variety of events", - "create.ponder.smart_observer.text_2": "It can detect items or fluids inside of generic containers", - "create.ponder.smart_observer.text_3": "The filter slot can be used to look for specific contents only", - "create.ponder.smart_observer.text_4": "It also activates when the block itself matches the filter", - "create.ponder.smart_observer.text_5": "Additionally, smart observers can monitor belts, chutes and pipes", - "create.ponder.smart_observer.text_6": "...and will emit a pulse, if an item enters or exits a funnel", - - "create.ponder.smart_pipe.header": "Controlling Fluid flow using Smart Pipes", - "create.ponder.smart_pipe.text_1": "Smart pipes can help control flows by fluid type", - "create.ponder.smart_pipe.text_2": "When placed directly at the source, they can specify the type of fluid to extract", - "create.ponder.smart_pipe.text_3": "Simply Right-Click their filter slot with any item containing the desired fluid", - "create.ponder.smart_pipe.text_4": "When placed further down a pipe network, smart pipes will only let matching fluids continue", - - "create.ponder.speedometer.header": "Monitoring Kinetic information using the Speedometer", - "create.ponder.speedometer.text_1": "The Speedometer displays the current Speed of attached components", - "create.ponder.speedometer.text_2": "When wearing Engineers' Goggles, the player can get more detailed information from the Gauge", - "create.ponder.speedometer.text_3": "Comparators can emit analog Restone Signals relative to the Speedometer's measurements", - - "create.ponder.spout_filling.header": "Filling Items using a Spout", - "create.ponder.spout_filling.text_1": "The Spout can fill fluid holding items provided beneath it", - "create.ponder.spout_filling.text_2": "The content of a Spout cannot be accessed manually", - "create.ponder.spout_filling.text_3": "Instead, Pipes can be used to supply it with fluids", - "create.ponder.spout_filling.text_4": "The Input items can be placed on a Depot under the Spout", - "create.ponder.spout_filling.text_5": "When items are provided on a belt...", - "create.ponder.spout_filling.text_6": "The Spout will hold and process them automatically", - - "create.ponder.stabilized_bearings.header": "Stabilized Contraptions", - "create.ponder.stabilized_bearings.text_1": "Whenever Mechanical Bearings are themselves part of a moving Structure..", - "create.ponder.stabilized_bearings.text_2": "..they will attempt to keep themselves upright", - "create.ponder.stabilized_bearings.text_3": "Once again, the bearing will attach to the block in front of it", - "create.ponder.stabilized_bearings.text_4": "As a result, the entire sub-Contraption will stay upright", - - "create.ponder.steam_engine.header": "Setting up Steam Engines", - "create.ponder.steam_engine.text_1": "Steam Engines can be placed on a Fluid Tank", - "create.ponder.steam_engine.text_10": "Lvl 4", - "create.ponder.steam_engine.text_11": "4 Engines", - "create.ponder.steam_engine.text_12": "Lvl 8", - "create.ponder.steam_engine.text_13": "8 Engines", - "create.ponder.steam_engine.text_2": "Clicking the engine with a Shaft creates the Kinetic Output", - "create.ponder.steam_engine.text_3": "With sufficient Heat, Water and Boiler space...", - "create.ponder.steam_engine.text_4": "...they will generate Rotational Force", - "create.ponder.steam_engine.text_5": "The minimal setup requires 4 Fluid Tanks", - "create.ponder.steam_engine.text_6": "With the help of Blaze Burners, the power output can be increased", - "create.ponder.steam_engine.text_7": "Higher power levels require more Water, Size and Heat", - "create.ponder.steam_engine.text_8": "The boiler's current power level can be inspected with Engineer's Goggles", - "create.ponder.steam_engine.text_9": "With each added power level, an additional Engine can output at full capacity", - - "create.ponder.steam_whistle.header": "Setting up Steam Whistles", - "create.ponder.steam_whistle.text_1": "Steam Whistles can be placed on a Fluid Tank", - "create.ponder.steam_whistle.text_2": "If the tank receives sufficient heat...", - "create.ponder.steam_whistle.text_3": "...the Whistle will play a note when activated", - "create.ponder.steam_whistle.text_4": "Use a Whistle item on the block to lower its pitch", - "create.ponder.steam_whistle.text_5": "Cycle between three different octaves using a Wrench", - "create.ponder.steam_whistle.text_6": "Engineer's Goggles can help to find out the current pitch of a Whistle", - - "create.ponder.sticker.header": "Attaching blocks using the Sticker", - "create.ponder.sticker.text_1": "Stickers are ideal for Redstone-controlled block attachment", - "create.ponder.sticker.text_2": "Upon receiving a signal, it will toggle its state", - "create.ponder.sticker.text_3": "If it is now moved in a contraption, the block will move with it", - "create.ponder.sticker.text_4": "Toggled once again, the block is no longer attached", - - "create.ponder.stressometer.header": "Monitoring Kinetic information using the Stressometer", - "create.ponder.stressometer.text_1": "The Stressometer displays the current Stress Capacity of the attached kinetic network", - "create.ponder.stressometer.text_2": "When wearing Engineers' Goggles, the player can get more detailed information from the Gauge", - "create.ponder.stressometer.text_3": "Comparators can emit analog Restone Signals relative to the Stressometer's measurements", - - "create.ponder.super_glue.header": "Attaching blocks using Super Glue", - "create.ponder.super_glue.text_1": "Super Glue groups blocks together into moving contraptions", - "create.ponder.super_glue.text_2": "Clicking two endpoints creates a new 'glued' area", - "create.ponder.super_glue.text_3": "To remove a box, punch it with the glue item in hand", - "create.ponder.super_glue.text_4": "Adjacent blocks sharing an area will pull each other along", - "create.ponder.super_glue.text_5": "Overlapping glue volumes will move together", - "create.ponder.super_glue.text_6": "Blocks hanging on others usually do not require glue", - - "create.ponder.threshold_switch.header": "Monitoring with the Threshold Switch", - "create.ponder.threshold_switch.text_1": "Threshold Switches monitor the fill level of containers", - "create.ponder.threshold_switch.text_2": "When the inventory content exceeds the upper threshold...", - "create.ponder.threshold_switch.text_3": "...the switch will change its redstone output", - "create.ponder.threshold_switch.text_4": "The signal stays until the lower threshold is reached", - "create.ponder.threshold_switch.text_5": "The redstone output can now be used to control item supply, keeping the buffer filled", - "create.ponder.threshold_switch.text_6": "The specific thresholds can be changed in the UI", - "create.ponder.threshold_switch.text_7": "A filter can help to only count specific contents toward the total", - "create.ponder.threshold_switch.text_8": "Fluid buffers can be monitored in a similar fashion", - "create.ponder.threshold_switch.text_9": "...as well as, curiously, the length of an extended rope pulley", - - "create.ponder.track_chunks.header": "Traversing unloaded Chunks", - "create.ponder.track_chunks.text_1": "Tracks stay functional outside of loaded chunks", - "create.ponder.track_chunks.text_2": "Trains will travel through inactive sections of the world without issue", - "create.ponder.track_chunks.text_3": "They will still stop at stations or red signals", - "create.ponder.track_chunks.text_4": "However, Drills and other on-board machines will not operate", - "create.ponder.track_chunks.text_5": "Once near a Player, the train will re-appear", - - "create.ponder.track_observer.header": "Detecting Trains", - "create.ponder.track_observer.text_1": "Select a Train Track then place the Observer nearby", - "create.ponder.track_observer.text_2": "The Observer will detect any Trains passing over the marker", - "create.ponder.track_observer.text_3": "Observers can be filtered to activate for matching cargo", - - "create.ponder.track_placement.header": "Placing Train Tracks", - "create.ponder.track_placement.text_1": "A new type of rail designed for Train Contraptions", - "create.ponder.track_placement.text_2": "To place rows of track in bulk, click on an existing track", - "create.ponder.track_placement.text_3": "Then place or select a second track", - "create.ponder.track_placement.text_4": "Tracks can also be placed as turns or slopes", - "create.ponder.track_placement.text_5": "When connecting, tracks will try to make each turn equally sized", - "create.ponder.track_placement.text_6": "Holding the sprint key while connecting...", - "create.ponder.track_placement.text_7": "...will create the longest fitting bend instead", - "create.ponder.track_placement.text_8": "Materials in the off-hand will be paved under tracks automatically", - - "create.ponder.track_portal.header": "Tracks and the Nether", - "create.ponder.track_portal.text_1": "Tracks placed up against a nether portal...", - "create.ponder.track_portal.text_2": "...will attempt to create a paired track on the other side", - "create.ponder.track_portal.text_3": "Trains on this track are now able to travel across dimensions", - - "create.ponder.train_assembly.header": "Assembling Trains", - "create.ponder.train_assembly.text_1": "Select a Train Track then place the Station nearby", - "create.ponder.train_assembly.text_10": "Every Train requires Train Controls on board", - "create.ponder.train_assembly.text_11": "An optional second one allows departure from Stations in both directions", - "create.ponder.train_assembly.text_12": "Open the Station UI and confirm the Assembly process", - "create.ponder.train_assembly.text_13": "Trains can be disassembled back into blocks at stations only", - "create.ponder.train_assembly.text_14": "When used on a station, maps will add a labeled marker at the location", - "create.ponder.train_assembly.text_15": "Assembled Trains can be relocated to nearby Tracks using the Wrench", - "create.ponder.train_assembly.text_2": "Stations are the Waypoints of your Track Network", - "create.ponder.train_assembly.text_3": "To create a new Train, open the UI and switch to Assembly Mode", - "create.ponder.train_assembly.text_4": "During Assembly no scheduled trains will approach this station", - "create.ponder.train_assembly.text_5": "Create new bogeys by using Train Casing on Tracks", - "create.ponder.train_assembly.text_6": "Click the track again to cycle between bogey designs", - "create.ponder.train_assembly.text_7": "Attach blocks with the help of Super Glue", - "create.ponder.train_assembly.text_8": "Assembled Trains will move faster if they can find fuel in assembled chests or barrels", - "create.ponder.train_assembly.text_9": "Fuel stored in Vaults will not be consumed by the train", - - "create.ponder.train_controls.header": "Controlling Trains", - "create.ponder.train_controls.text_1": "Train Controls are required on every train contraption", - "create.ponder.train_controls.text_2": "Once assembled, right-click the block to start driving", - "create.ponder.train_controls.text_3": "Accelerate and steer the Train using movement keybinds", - "create.ponder.train_controls.text_4": "If desired, the top speed can be fine-tuned using the mouse wheel", - "create.ponder.train_controls.text_5": "Hold space to approach a nearby Station", - "create.ponder.train_controls.text_6": "Trains can only be disassembled back into blocks at Stations", - "create.ponder.train_controls.text_7": "Assembled Whistles can be activated with the sprint key", - "create.ponder.train_controls.text_8": "Sneak or click again to stop controlling the Train", - - "create.ponder.train_schedule.header": "Using Train Schedules", - "create.ponder.train_schedule.text_1": "Schedules allow Trains to be controlled by other Drivers", - "create.ponder.train_schedule.text_2": "Right-click with the item in hand to open its Interface", - "create.ponder.train_schedule.text_3": "Once programmed, the Schedule can be handed off to a Train Driver", - "create.ponder.train_schedule.text_4": "Any mob or blaze burner sitting in front of Train Controls is an eligible conductor", - "create.ponder.train_schedule.text_5": "Creatures on a lead can be given their seat more conveniently", - "create.ponder.train_schedule.text_6": "Schedules can be retrieved from Drivers at any moment", - - "create.ponder.train_signal_placement.header": "Placing Train Signals", - "create.ponder.train_signal_placement.text_1": "Select a Train Track then place the Signal nearby", - "create.ponder.train_signal_placement.text_2": "Signals control the flow of Trains not driven by players", - "create.ponder.train_signal_placement.text_3": "Scheduled Trains will never cross signals in the opposite direction", - "create.ponder.train_signal_placement.text_4": "...unless a second signal is added facing the opposite way.", - "create.ponder.train_signal_placement.text_5": "Nixie tubes can be attached to make a signal's lights more visible", - - "create.ponder.train_signal_redstone.header": "Signals & Redstone", - "create.ponder.train_signal_redstone.text_1": "Signals can be forced red by a redstone signal", - "create.ponder.train_signal_redstone.text_2": "Conversely, red signals emit a comparator output", - - "create.ponder.train_signal_signaling.header": "Collision Prevention with Signals", - "create.ponder.train_signal_signaling.text_1": "Train Signals divide a track into segments", - "create.ponder.train_signal_signaling.text_2": "If a Segment is occupied, no other Trains will be allowed entry", - "create.ponder.train_signal_signaling.text_3": "Thus, each Segment will contain only one Train at a time", - "create.ponder.train_signal_signaling.text_4": "A second Signal mode is available via the Wrench", - "create.ponder.train_signal_signaling.text_5": "Segments of a brass signal usually lead into standard signals", - "create.ponder.train_signal_signaling.text_6": "This special Signal can stop trains under a second condition", - "create.ponder.train_signal_signaling.text_7": "It will stop Trains, which, upon entering...", - "create.ponder.train_signal_signaling.text_8": "...would not be able to leave the Segment immediately", - "create.ponder.train_signal_signaling.text_9": "This helps keeping queued Trains out of a busy Segment", - - "create.ponder.valve_handle.header": "Precise rotation using Valve Handles", - "create.ponder.valve_handle.text_1": "Valve handles can be used to rotate components by a precise angle", - "create.ponder.valve_handle.text_2": "The angle can be configured on the input panel", - "create.ponder.valve_handle.text_3": "Right-Click to activate one rotation", - "create.ponder.valve_handle.text_4": "Sneak-Right-Click to activate it in the opposite direction", - "create.ponder.valve_handle.text_5": "Mind that Bearings have to be specifically told not to disassemble", - "create.ponder.valve_handle.text_6": "Valve handles can be dyed for aesthetic purposes", - - "create.ponder.valve_pipe.header": "Controlling Fluid flow using Valves", - "create.ponder.valve_pipe.text_1": "Valve pipes help control fluids propagating through pipe networks", - "create.ponder.valve_pipe.text_2": "Their shaft input controls whether fluid is currently allowed through", - "create.ponder.valve_pipe.text_3": "Given Rotational Force in the opening direction, the valve will open up", - "create.ponder.valve_pipe.text_4": "It can be closed again by reversing the input rotation", - - "create.ponder.water_wheel.header": "Generating Rotational Force using Water Wheels", - "create.ponder.water_wheel.text_1": "Water Wheels draw force from adjacent Water Currents", - "create.ponder.water_wheel.text_2": "Covering additional sides will not improve its kinetic output further", - "create.ponder.water_wheel.text_3": "Use wood planks on the wheel to change its appearance", - - "create.ponder.weighted_ejector.header": "Using Weighted Ejectors", - "create.ponder.weighted_ejector.text_1": "Sneak and Right-Click holding an Ejector to select its target location", - "create.ponder.weighted_ejector.text_10": "It is now limited to this stack size, and only activates when its held stack reaches this amount", - "create.ponder.weighted_ejector.text_11": "Mobs and Players will always trigger an Ejector when stepping on it", - "create.ponder.weighted_ejector.text_2": "The placed ejector will now launch objects to the marked location", - "create.ponder.weighted_ejector.text_3": "A valid target can be at any height or distance within range", - "create.ponder.weighted_ejector.text_4": "They cannot however be off to a side", - "create.ponder.weighted_ejector.text_5": "If no valid Target was selected, it will simply target the block directly in front", - "create.ponder.weighted_ejector.text_6": "Supply Rotational Force in order to charge it up", - "create.ponder.weighted_ejector.text_7": "Items placed on the ejector cause it to trigger", - "create.ponder.weighted_ejector.text_8": "If Inventories are targeted, the ejector will wait until there is space", - "create.ponder.weighted_ejector.text_9": "Using the value panel, a required Stack Size can be configured", - - "create.ponder.weighted_ejector_redstone.header": "Controlling Weighted Ejectors with Redstone", - "create.ponder.weighted_ejector_redstone.text_1": "When powered by Redstone, Ejectors will not activate", - "create.ponder.weighted_ejector_redstone.text_2": "Observers can detect when Ejectors activate", - - "create.ponder.weighted_ejector_tunnel.header": "Splitting item stacks using Weighted Ejectors", - "create.ponder.weighted_ejector_tunnel.text_1": "Combined with Brass Tunnels, Ejectors can split item stacks by specific amounts", - "create.ponder.weighted_ejector_tunnel.text_2": "First, configure the Brass Tunnel to 'Prefer Nearest', in order to prioritize its side output", - "create.ponder.weighted_ejector_tunnel.text_3": "The Stack Size set on the Ejector now determines the amount to be split off", - "create.ponder.weighted_ejector_tunnel.text_4": "While a new stack of the configured size exits the side output...", - "create.ponder.weighted_ejector_tunnel.text_5": "...the remainder will continue on its path", - - "create.ponder.windmill_source.header": "Generating Rotational Force using Windmill Bearings", - "create.ponder.windmill_source.text_1": "Windmill Bearings attach to the block in front of them", - "create.ponder.windmill_source.text_2": "Create a movable structure with the help of Super Glue", - "create.ponder.windmill_source.text_3": "If enough Sail-like blocks are included, this can act as a Windmill", - "create.ponder.windmill_source.text_4": "Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", - "create.ponder.windmill_source.text_5": "The Amount of Sail Blocks determine its Rotation Speed", - "create.ponder.windmill_source.text_6": "Use the value panel to configure its rotation direction", - "create.ponder.windmill_source.text_7": "Right-click the Bearing anytime to stop and edit the Structure again", - - "create.ponder.windmill_structure.header": "Windmill Contraptions", - "create.ponder.windmill_structure.text_1": "Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.", - - "_": "Thank you for translating Create!" - + "block.create.acacia_window": "Acacia Window", + "block.create.acacia_window_pane": "Acacia Window Pane", + "block.create.adjustable_chain_gearshift": "Adjustable Chain Gearshift", + "block.create.analog_lever": "Analog Lever", + "block.create.andesite_alloy_block": "Block of Andesite Alloy", + "block.create.andesite_bars": "Andesite Bars", + "block.create.andesite_belt_funnel": "Andesite Belt Funnel", + "block.create.andesite_casing": "Andesite Casing", + "block.create.andesite_door": "Andesite Door", + "block.create.andesite_encased_cogwheel": "Andesite Encased Cogwheel", + "block.create.andesite_encased_large_cogwheel": "Andesite Encased Large Cogwheel", + "block.create.andesite_encased_shaft": "Andesite Encased Shaft", + "block.create.andesite_funnel": "Andesite Funnel", + "block.create.andesite_ladder": "Andesite Ladder", + "block.create.andesite_pillar": "Andesite Pillar", + "block.create.andesite_scaffolding": "Andesite Scaffolding", + "block.create.andesite_tunnel": "Andesite Tunnel", + "block.create.asurine": "Asurine", + "block.create.asurine_pillar": "Asurine Pillar", + "block.create.basin": "Basin", + "block.create.belt": "Belt", + "block.create.birch_window": "Birch Window", + "block.create.birch_window_pane": "Birch Window Pane", + "block.create.black_nixie_tube": "Black Nixie Tube", + "block.create.black_sail": "Black Sail", + "block.create.black_seat": "Black Seat", + "block.create.black_toolbox": "Black Toolbox", + "block.create.black_valve_handle": "Black Valve Handle", + "block.create.blaze_burner": "Blaze Burner", + "block.create.blue_nixie_tube": "Blue Nixie Tube", + "block.create.blue_sail": "Blue Sail", + "block.create.blue_seat": "Blue Seat", + "block.create.blue_toolbox": "Blue Toolbox", + "block.create.blue_valve_handle": "Blue Valve Handle", + "block.create.brass_bars": "Brass Bars", + "block.create.brass_belt_funnel": "Brass Belt Funnel", + "block.create.brass_block": "Block of Brass", + "block.create.brass_casing": "Brass Casing", + "block.create.brass_door": "Brass Door", + "block.create.brass_encased_cogwheel": "Brass Encased Cogwheel", + "block.create.brass_encased_large_cogwheel": "Brass Encased Large Cogwheel", + "block.create.brass_encased_shaft": "Brass Encased Shaft", + "block.create.brass_funnel": "Brass Funnel", + "block.create.brass_ladder": "Brass Ladder", + "block.create.brass_scaffolding": "Brass Scaffolding", + "block.create.brass_tunnel": "Brass Tunnel", + "block.create.brown_nixie_tube": "Brown Nixie Tube", + "block.create.brown_sail": "Brown Sail", + "block.create.brown_seat": "Brown Seat", + "block.create.brown_toolbox": "Brown Toolbox", + "block.create.brown_valve_handle": "Brown Valve Handle", + "block.create.calcite_pillar": "Calcite Pillar", + "block.create.cart_assembler": "Cart Assembler", + "block.create.chocolate": "Chocolate", + "block.create.chute": "Chute", + "block.create.clipboard": "Clipboard", + "block.create.clockwork_bearing": "Clockwork Bearing", + "block.create.clutch": "Clutch", + "block.create.cogwheel": "Cogwheel", + "block.create.content_observer": "Smart Observer", + "block.create.contraption_controls": "Contraption Controls", + "block.create.controller_rail": "Controller Rail", + "block.create.controls": "Train Controls", + "block.create.copper_backtank": "Copper Backtank", + "block.create.copper_bars": "Copper Bars", + "block.create.copper_casing": "Copper Casing", + "block.create.copper_door": "Copper Door", + "block.create.copper_ladder": "Copper Ladder", + "block.create.copper_scaffolding": "Copper Scaffolding", + "block.create.copper_shingle_slab": "Copper Shingle Slab", + "block.create.copper_shingle_stairs": "Copper Shingle Stairs", + "block.create.copper_shingles": "Copper Shingles", + "block.create.copper_tile_slab": "Copper Tile Slab", + "block.create.copper_tile_stairs": "Copper Tile Stairs", + "block.create.copper_tiles": "Copper Tiles", + "block.create.copper_valve_handle": "Copper Valve Handle", + "block.create.copycat_bars": "Copycat Bars", + "block.create.copycat_base": "Copycat Base", + "block.create.copycat_panel": "Copycat Panel", + "block.create.copycat_step": "Copycat Step", + "block.create.creative_crate": "Creative Crate", + "block.create.creative_fluid_tank": "Creative Fluid Tank", + "block.create.creative_motor": "Creative Motor", + "block.create.crimsite": "Crimsite", + "block.create.crimsite_pillar": "Crimsite Pillar", + "block.create.crimson_window": "Crimson Window", + "block.create.crimson_window_pane": "Crimson Window Pane", + "block.create.crushing_wheel": "Crushing Wheel", + "block.create.crushing_wheel_controller": "Crushing Wheel Controller", + "block.create.cuckoo_clock": "Cuckoo Clock", + "block.create.cut_andesite": "Cut Andesite", + "block.create.cut_andesite_brick_slab": "Cut Andesite Brick Slab", + "block.create.cut_andesite_brick_stairs": "Cut Andesite Brick Stairs", + "block.create.cut_andesite_brick_wall": "Cut Andesite Brick Wall", + "block.create.cut_andesite_bricks": "Cut Andesite Bricks", + "block.create.cut_andesite_slab": "Cut Andesite Slab", + "block.create.cut_andesite_stairs": "Cut Andesite Stairs", + "block.create.cut_andesite_wall": "Cut Andesite Wall", + "block.create.cut_asurine": "Cut Asurine", + "block.create.cut_asurine_brick_slab": "Cut Asurine Brick Slab", + "block.create.cut_asurine_brick_stairs": "Cut Asurine Brick Stairs", + "block.create.cut_asurine_brick_wall": "Cut Asurine Brick Wall", + "block.create.cut_asurine_bricks": "Cut Asurine Bricks", + "block.create.cut_asurine_slab": "Cut Asurine Slab", + "block.create.cut_asurine_stairs": "Cut Asurine Stairs", + "block.create.cut_asurine_wall": "Cut Asurine Wall", + "block.create.cut_calcite": "Cut Calcite", + "block.create.cut_calcite_brick_slab": "Cut Calcite Brick Slab", + "block.create.cut_calcite_brick_stairs": "Cut Calcite Brick Stairs", + "block.create.cut_calcite_brick_wall": "Cut Calcite Brick Wall", + "block.create.cut_calcite_bricks": "Cut Calcite Bricks", + "block.create.cut_calcite_slab": "Cut Calcite Slab", + "block.create.cut_calcite_stairs": "Cut Calcite Stairs", + "block.create.cut_calcite_wall": "Cut Calcite Wall", + "block.create.cut_crimsite": "Cut Crimsite", + "block.create.cut_crimsite_brick_slab": "Cut Crimsite Brick Slab", + "block.create.cut_crimsite_brick_stairs": "Cut Crimsite Brick Stairs", + "block.create.cut_crimsite_brick_wall": "Cut Crimsite Brick Wall", + "block.create.cut_crimsite_bricks": "Cut Crimsite Bricks", + "block.create.cut_crimsite_slab": "Cut Crimsite Slab", + "block.create.cut_crimsite_stairs": "Cut Crimsite Stairs", + "block.create.cut_crimsite_wall": "Cut Crimsite Wall", + "block.create.cut_deepslate": "Cut Deepslate", + "block.create.cut_deepslate_brick_slab": "Cut Deepslate Brick Slab", + "block.create.cut_deepslate_brick_stairs": "Cut Deepslate Brick Stairs", + "block.create.cut_deepslate_brick_wall": "Cut Deepslate Brick Wall", + "block.create.cut_deepslate_bricks": "Cut Deepslate Bricks", + "block.create.cut_deepslate_slab": "Cut Deepslate Slab", + "block.create.cut_deepslate_stairs": "Cut Deepslate Stairs", + "block.create.cut_deepslate_wall": "Cut Deepslate Wall", + "block.create.cut_diorite": "Cut Diorite", + "block.create.cut_diorite_brick_slab": "Cut Diorite Brick Slab", + "block.create.cut_diorite_brick_stairs": "Cut Diorite Brick Stairs", + "block.create.cut_diorite_brick_wall": "Cut Diorite Brick Wall", + "block.create.cut_diorite_bricks": "Cut Diorite Bricks", + "block.create.cut_diorite_slab": "Cut Diorite Slab", + "block.create.cut_diorite_stairs": "Cut Diorite Stairs", + "block.create.cut_diorite_wall": "Cut Diorite Wall", + "block.create.cut_dripstone": "Cut Dripstone", + "block.create.cut_dripstone_brick_slab": "Cut Dripstone Brick Slab", + "block.create.cut_dripstone_brick_stairs": "Cut Dripstone Brick Stairs", + "block.create.cut_dripstone_brick_wall": "Cut Dripstone Brick Wall", + "block.create.cut_dripstone_bricks": "Cut Dripstone Bricks", + "block.create.cut_dripstone_slab": "Cut Dripstone Slab", + "block.create.cut_dripstone_stairs": "Cut Dripstone Stairs", + "block.create.cut_dripstone_wall": "Cut Dripstone Wall", + "block.create.cut_granite": "Cut Granite", + "block.create.cut_granite_brick_slab": "Cut Granite Brick Slab", + "block.create.cut_granite_brick_stairs": "Cut Granite Brick Stairs", + "block.create.cut_granite_brick_wall": "Cut Granite Brick Wall", + "block.create.cut_granite_bricks": "Cut Granite Bricks", + "block.create.cut_granite_slab": "Cut Granite Slab", + "block.create.cut_granite_stairs": "Cut Granite Stairs", + "block.create.cut_granite_wall": "Cut Granite Wall", + "block.create.cut_limestone": "Cut Limestone", + "block.create.cut_limestone_brick_slab": "Cut Limestone Brick Slab", + "block.create.cut_limestone_brick_stairs": "Cut Limestone Brick Stairs", + "block.create.cut_limestone_brick_wall": "Cut Limestone Brick Wall", + "block.create.cut_limestone_bricks": "Cut Limestone Bricks", + "block.create.cut_limestone_slab": "Cut Limestone Slab", + "block.create.cut_limestone_stairs": "Cut Limestone Stairs", + "block.create.cut_limestone_wall": "Cut Limestone Wall", + "block.create.cut_ochrum": "Cut Ochrum", + "block.create.cut_ochrum_brick_slab": "Cut Ochrum Brick Slab", + "block.create.cut_ochrum_brick_stairs": "Cut Ochrum Brick Stairs", + "block.create.cut_ochrum_brick_wall": "Cut Ochrum Brick Wall", + "block.create.cut_ochrum_bricks": "Cut Ochrum Bricks", + "block.create.cut_ochrum_slab": "Cut Ochrum Slab", + "block.create.cut_ochrum_stairs": "Cut Ochrum Stairs", + "block.create.cut_ochrum_wall": "Cut Ochrum Wall", + "block.create.cut_scorchia": "Cut Scorchia", + "block.create.cut_scorchia_brick_slab": "Cut Scorchia Brick Slab", + "block.create.cut_scorchia_brick_stairs": "Cut Scorchia Brick Stairs", + "block.create.cut_scorchia_brick_wall": "Cut Scorchia Brick Wall", + "block.create.cut_scorchia_bricks": "Cut Scorchia Bricks", + "block.create.cut_scorchia_slab": "Cut Scorchia Slab", + "block.create.cut_scorchia_stairs": "Cut Scorchia Stairs", + "block.create.cut_scorchia_wall": "Cut Scorchia Wall", + "block.create.cut_scoria": "Cut Scoria", + "block.create.cut_scoria_brick_slab": "Cut Scoria Brick Slab", + "block.create.cut_scoria_brick_stairs": "Cut Scoria Brick Stairs", + "block.create.cut_scoria_brick_wall": "Cut Scoria Brick Wall", + "block.create.cut_scoria_bricks": "Cut Scoria Bricks", + "block.create.cut_scoria_slab": "Cut Scoria Slab", + "block.create.cut_scoria_stairs": "Cut Scoria Stairs", + "block.create.cut_scoria_wall": "Cut Scoria Wall", + "block.create.cut_tuff": "Cut Tuff", + "block.create.cut_tuff_brick_slab": "Cut Tuff Brick Slab", + "block.create.cut_tuff_brick_stairs": "Cut Tuff Brick Stairs", + "block.create.cut_tuff_brick_wall": "Cut Tuff Brick Wall", + "block.create.cut_tuff_bricks": "Cut Tuff Bricks", + "block.create.cut_tuff_slab": "Cut Tuff Slab", + "block.create.cut_tuff_stairs": "Cut Tuff Stairs", + "block.create.cut_tuff_wall": "Cut Tuff Wall", + "block.create.cut_veridium": "Cut Veridium", + "block.create.cut_veridium_brick_slab": "Cut Veridium Brick Slab", + "block.create.cut_veridium_brick_stairs": "Cut Veridium Brick Stairs", + "block.create.cut_veridium_brick_wall": "Cut Veridium Brick Wall", + "block.create.cut_veridium_bricks": "Cut Veridium Bricks", + "block.create.cut_veridium_slab": "Cut Veridium Slab", + "block.create.cut_veridium_stairs": "Cut Veridium Stairs", + "block.create.cut_veridium_wall": "Cut Veridium Wall", + "block.create.cyan_nixie_tube": "Cyan Nixie Tube", + "block.create.cyan_sail": "Cyan Sail", + "block.create.cyan_seat": "Cyan Seat", + "block.create.cyan_toolbox": "Cyan Toolbox", + "block.create.cyan_valve_handle": "Cyan Valve Handle", + "block.create.dark_oak_window": "Dark Oak Window", + "block.create.dark_oak_window_pane": "Dark Oak Window Pane", + "block.create.deepslate_pillar": "Deepslate Pillar", + "block.create.deepslate_zinc_ore": "Deepslate Zinc Ore", + "block.create.deployer": "Deployer", + "block.create.depot": "Depot", + "block.create.diorite_pillar": "Diorite Pillar", + "block.create.display_board": "Display Board", + "block.create.display_link": "Display Link", + "block.create.dripstone_pillar": "Dripstone Pillar", + "block.create.elevator_contact": "Elevator Contact", + "block.create.elevator_pulley": "Elevator Pulley", + "block.create.encased_chain_drive": "Encased Chain Drive", + "block.create.encased_fan": "Encased Fan", + "block.create.encased_fluid_pipe": "Encased Fluid Pipe", + "block.create.experience_block": "Block of Experience", + "block.create.exposed_copper_shingle_slab": "Exposed Copper Shingle Slab", + "block.create.exposed_copper_shingle_stairs": "Exposed Copper Shingle Stairs", + "block.create.exposed_copper_shingles": "Exposed Copper Shingles", + "block.create.exposed_copper_tile_slab": "Exposed Copper Tile Slab", + "block.create.exposed_copper_tile_stairs": "Exposed Copper Tile Stairs", + "block.create.exposed_copper_tiles": "Exposed Copper Tiles", + "block.create.fake_track": "Track Marker for Maps", + "block.create.fluid_pipe": "Fluid Pipe", + "block.create.fluid_tank": "Fluid Tank", + "block.create.fluid_valve": "Fluid Valve", + "block.create.flywheel": "Flywheel", + "block.create.framed_glass": "Framed Glass", + "block.create.framed_glass_door": "Framed Glass Door", + "block.create.framed_glass_pane": "Framed Glass Pane", + "block.create.framed_glass_trapdoor": "Framed Glass Trapdoor", + "block.create.gantry_carriage": "Gantry Carriage", + "block.create.gantry_shaft": "Gantry Shaft", + "block.create.gearbox": "Gearbox", + "block.create.gearshift": "Gearshift", + "block.create.glass_fluid_pipe": "Glass Fluid Pipe", + "block.create.granite_pillar": "Granite Pillar", + "block.create.gray_nixie_tube": "Gray Nixie Tube", + "block.create.gray_sail": "Gray Sail", + "block.create.gray_seat": "Gray Seat", + "block.create.gray_toolbox": "Gray Toolbox", + "block.create.gray_valve_handle": "Gray Valve Handle", + "block.create.green_nixie_tube": "Green Nixie Tube", + "block.create.green_sail": "Green Sail", + "block.create.green_seat": "Green Seat", + "block.create.green_toolbox": "Green Toolbox", + "block.create.green_valve_handle": "Green Valve Handle", + "block.create.hand_crank": "Hand Crank", + "block.create.haunted_bell": "Haunted Bell", + "block.create.honey": "Honey", + "block.create.horizontal_framed_glass": "Horizontal Framed Glass", + "block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane", + "block.create.hose_pulley": "Hose Pulley", + "block.create.industrial_iron_block": "Block of Industrial Iron", + "block.create.item_drain": "Item Drain", + "block.create.item_vault": "Item Vault", + "block.create.jungle_window": "Jungle Window", + "block.create.jungle_window_pane": "Jungle Window Pane", + "block.create.large_bogey": "Large Bogey", + "block.create.large_cogwheel": "Large Cogwheel", + "block.create.large_water_wheel": "Large Water Wheel", + "block.create.layered_andesite": "Layered Andesite", + "block.create.layered_asurine": "Layered Asurine", + "block.create.layered_calcite": "Layered Calcite", + "block.create.layered_crimsite": "Layered Crimsite", + "block.create.layered_deepslate": "Layered Deepslate", + "block.create.layered_diorite": "Layered Diorite", + "block.create.layered_dripstone": "Layered Dripstone", + "block.create.layered_granite": "Layered Granite", + "block.create.layered_limestone": "Layered Limestone", + "block.create.layered_ochrum": "Layered Ochrum", + "block.create.layered_scorchia": "Layered Scorchia", + "block.create.layered_scoria": "Layered Scoria", + "block.create.layered_tuff": "Layered Tuff", + "block.create.layered_veridium": "Layered Veridium", + "block.create.lectern_controller": "Lectern Controller", + "block.create.light_blue_nixie_tube": "Light Blue Nixie Tube", + "block.create.light_blue_sail": "Light Blue Sail", + "block.create.light_blue_seat": "Light Blue Seat", + "block.create.light_blue_toolbox": "Light Blue Toolbox", + "block.create.light_blue_valve_handle": "Light Blue Valve Handle", + "block.create.light_gray_nixie_tube": "Light Gray Nixie Tube", + "block.create.light_gray_sail": "Light Gray Sail", + "block.create.light_gray_seat": "Light Gray Seat", + "block.create.light_gray_toolbox": "Light Gray Toolbox", + "block.create.light_gray_valve_handle": "Light Gray Valve Handle", + "block.create.lime_nixie_tube": "Lime Nixie Tube", + "block.create.lime_sail": "Lime Sail", + "block.create.lime_seat": "Lime Seat", + "block.create.lime_toolbox": "Lime Toolbox", + "block.create.lime_valve_handle": "Lime Valve Handle", + "block.create.limestone": "Limestone", + "block.create.limestone_pillar": "Limestone Pillar", + "block.create.linear_chassis": "Linear Chassis", + "block.create.lit_blaze_burner": "Lit Blaze Burner", + "block.create.magenta_nixie_tube": "Magenta Nixie Tube", + "block.create.magenta_sail": "Magenta Sail", + "block.create.magenta_seat": "Magenta Seat", + "block.create.magenta_toolbox": "Magenta Toolbox", + "block.create.magenta_valve_handle": "Magenta Valve Handle", + "block.create.mechanical_arm": "Mechanical Arm", + "block.create.mechanical_bearing": "Mechanical Bearing", + "block.create.mechanical_crafter": "Mechanical Crafter", + "block.create.mechanical_drill": "Mechanical Drill", + "block.create.mechanical_harvester": "Mechanical Harvester", + "block.create.mechanical_mixer": "Mechanical Mixer", + "block.create.mechanical_piston": "Mechanical Piston", + "block.create.mechanical_piston_head": "Mechanical Piston Head", + "block.create.mechanical_plough": "Mechanical Plough", + "block.create.mechanical_press": "Mechanical Press", + "block.create.mechanical_pump": "Mechanical Pump", + "block.create.mechanical_roller": "Mechanical Roller", + "block.create.mechanical_saw": "Mechanical Saw", + "block.create.metal_bracket": "Metal Bracket", + "block.create.metal_girder": "Metal Girder", + "block.create.metal_girder_encased_shaft": "Metal Girder Encased Shaft", + "block.create.millstone": "Millstone", + "block.create.minecart_anchor": "Minecart Anchor", + "block.create.mysterious_cuckoo_clock": "Cuckoo Clock", + "block.create.netherite_backtank": "Netherite Backtank", + "block.create.nixie_tube": "Nixie Tube", + "block.create.nozzle": "Nozzle", + "block.create.oak_window": "Oak Window", + "block.create.oak_window_pane": "Oak Window Pane", + "block.create.ochrum": "Ochrum", + "block.create.ochrum_pillar": "Ochrum Pillar", + "block.create.orange_sail": "Orange Sail", + "block.create.orange_seat": "Orange Seat", + "block.create.orange_toolbox": "Orange Toolbox", + "block.create.orange_valve_handle": "Orange Valve Handle", + "block.create.ornate_iron_window": "Ornate Iron Window", + "block.create.ornate_iron_window_pane": "Ornate Iron Window Pane", + "block.create.oxidized_copper_shingle_slab": "Oxidized Copper Shingle Slab", + "block.create.oxidized_copper_shingle_stairs": "Oxidized Copper Shingle Stairs", + "block.create.oxidized_copper_shingles": "Oxidized Copper Shingles", + "block.create.oxidized_copper_tile_slab": "Oxidized Copper Tile Slab", + "block.create.oxidized_copper_tile_stairs": "Oxidized Copper Tile Stairs", + "block.create.oxidized_copper_tiles": "Oxidized Copper Tiles", + "block.create.peculiar_bell": "Peculiar Bell", + "block.create.pink_nixie_tube": "Pink Nixie Tube", + "block.create.pink_sail": "Pink Sail", + "block.create.pink_seat": "Pink Seat", + "block.create.pink_toolbox": "Pink Toolbox", + "block.create.pink_valve_handle": "Pink Valve Handle", + "block.create.piston_extension_pole": "Piston Extension Pole", + "block.create.placard": "Placard", + "block.create.polished_cut_andesite": "Polished Cut Andesite", + "block.create.polished_cut_andesite_slab": "Polished Cut Andesite Slab", + "block.create.polished_cut_andesite_stairs": "Polished Cut Andesite Stairs", + "block.create.polished_cut_andesite_wall": "Polished Cut Andesite Wall", + "block.create.polished_cut_asurine": "Polished Cut Asurine", + "block.create.polished_cut_asurine_slab": "Polished Cut Asurine Slab", + "block.create.polished_cut_asurine_stairs": "Polished Cut Asurine Stairs", + "block.create.polished_cut_asurine_wall": "Polished Cut Asurine Wall", + "block.create.polished_cut_calcite": "Polished Cut Calcite", + "block.create.polished_cut_calcite_slab": "Polished Cut Calcite Slab", + "block.create.polished_cut_calcite_stairs": "Polished Cut Calcite Stairs", + "block.create.polished_cut_calcite_wall": "Polished Cut Calcite Wall", + "block.create.polished_cut_crimsite": "Polished Cut Crimsite", + "block.create.polished_cut_crimsite_slab": "Polished Cut Crimsite Slab", + "block.create.polished_cut_crimsite_stairs": "Polished Cut Crimsite Stairs", + "block.create.polished_cut_crimsite_wall": "Polished Cut Crimsite Wall", + "block.create.polished_cut_deepslate": "Polished Cut Deepslate", + "block.create.polished_cut_deepslate_slab": "Polished Cut Deepslate Slab", + "block.create.polished_cut_deepslate_stairs": "Polished Cut Deepslate Stairs", + "block.create.polished_cut_deepslate_wall": "Polished Cut Deepslate Wall", + "block.create.polished_cut_diorite": "Polished Cut Diorite", + "block.create.polished_cut_diorite_slab": "Polished Cut Diorite Slab", + "block.create.polished_cut_diorite_stairs": "Polished Cut Diorite Stairs", + "block.create.polished_cut_diorite_wall": "Polished Cut Diorite Wall", + "block.create.polished_cut_dripstone": "Polished Cut Dripstone", + "block.create.polished_cut_dripstone_slab": "Polished Cut Dripstone Slab", + "block.create.polished_cut_dripstone_stairs": "Polished Cut Dripstone Stairs", + "block.create.polished_cut_dripstone_wall": "Polished Cut Dripstone Wall", + "block.create.polished_cut_granite": "Polished Cut Granite", + "block.create.polished_cut_granite_slab": "Polished Cut Granite Slab", + "block.create.polished_cut_granite_stairs": "Polished Cut Granite Stairs", + "block.create.polished_cut_granite_wall": "Polished Cut Granite Wall", + "block.create.polished_cut_limestone": "Polished Cut Limestone", + "block.create.polished_cut_limestone_slab": "Polished Cut Limestone Slab", + "block.create.polished_cut_limestone_stairs": "Polished Cut Limestone Stairs", + "block.create.polished_cut_limestone_wall": "Polished Cut Limestone Wall", + "block.create.polished_cut_ochrum": "Polished Cut Ochrum", + "block.create.polished_cut_ochrum_slab": "Polished Cut Ochrum Slab", + "block.create.polished_cut_ochrum_stairs": "Polished Cut Ochrum Stairs", + "block.create.polished_cut_ochrum_wall": "Polished Cut Ochrum Wall", + "block.create.polished_cut_scorchia": "Polished Cut Scorchia", + "block.create.polished_cut_scorchia_slab": "Polished Cut Scorchia Slab", + "block.create.polished_cut_scorchia_stairs": "Polished Cut Scorchia Stairs", + "block.create.polished_cut_scorchia_wall": "Polished Cut Scorchia Wall", + "block.create.polished_cut_scoria": "Polished Cut Scoria", + "block.create.polished_cut_scoria_slab": "Polished Cut Scoria Slab", + "block.create.polished_cut_scoria_stairs": "Polished Cut Scoria Stairs", + "block.create.polished_cut_scoria_wall": "Polished Cut Scoria Wall", + "block.create.polished_cut_tuff": "Polished Cut Tuff", + "block.create.polished_cut_tuff_slab": "Polished Cut Tuff Slab", + "block.create.polished_cut_tuff_stairs": "Polished Cut Tuff Stairs", + "block.create.polished_cut_tuff_wall": "Polished Cut Tuff Wall", + "block.create.polished_cut_veridium": "Polished Cut Veridium", + "block.create.polished_cut_veridium_slab": "Polished Cut Veridium Slab", + "block.create.polished_cut_veridium_stairs": "Polished Cut Veridium Stairs", + "block.create.polished_cut_veridium_wall": "Polished Cut Veridium Wall", + "block.create.portable_fluid_interface": "Portable Fluid Interface", + "block.create.portable_storage_interface": "Portable Storage Interface", + "block.create.powered_latch": "Powered Latch", + "block.create.powered_shaft": "Powered Shaft", + "block.create.powered_toggle_latch": "Powered Toggle Latch", + "block.create.pulley_magnet": "Pulley Magnet", + "block.create.pulse_extender": "Pulse Extender", + "block.create.pulse_repeater": "Pulse Repeater", + "block.create.purple_nixie_tube": "Purple Nixie Tube", + "block.create.purple_sail": "Purple Sail", + "block.create.purple_seat": "Purple Seat", + "block.create.purple_toolbox": "Purple Toolbox", + "block.create.purple_valve_handle": "Purple Valve Handle", + "block.create.radial_chassis": "Radial Chassis", + "block.create.railway_casing": "Train Casing", + "block.create.raw_zinc_block": "Block of Raw Zinc", + "block.create.red_nixie_tube": "Red Nixie Tube", + "block.create.red_sail": "Red Sail", + "block.create.red_seat": "Red Seat", + "block.create.red_toolbox": "Red Toolbox", + "block.create.red_valve_handle": "Red Valve Handle", + "block.create.redstone_contact": "Redstone Contact", + "block.create.redstone_link": "Redstone Link", + "block.create.refined_radiance_casing": "Radiant Casing", + "block.create.rope": "Rope", + "block.create.rope_pulley": "Rope Pulley", + "block.create.rose_quartz_block": "Block of Rose Quartz", + "block.create.rose_quartz_lamp": "Rose Quartz Lamp", + "block.create.rose_quartz_tiles": "Rose Quartz Tiles", + "block.create.rotation_speed_controller": "Rotation Speed Controller", + "block.create.sail_frame": "Windmill Sail Frame", + "block.create.schematic_table": "Schematic Table", + "block.create.schematicannon": "Schematicannon", + "block.create.scorchia": "Scorchia", + "block.create.scorchia_pillar": "Scorchia Pillar", + "block.create.scoria": "Scoria", + "block.create.scoria_pillar": "Scoria Pillar", + "block.create.secondary_linear_chassis": "Secondary Linear Chassis", + "block.create.sequenced_gearshift": "Sequenced Gearshift", + "block.create.shadow_steel_casing": "Shadow Casing", + "block.create.shaft": "Shaft", + "block.create.small_andesite_brick_slab": "Small Andesite Brick Slab", + "block.create.small_andesite_brick_stairs": "Small Andesite Brick Stairs", + "block.create.small_andesite_brick_wall": "Small Andesite Brick Wall", + "block.create.small_andesite_bricks": "Small Andesite Bricks", + "block.create.small_asurine_brick_slab": "Small Asurine Brick Slab", + "block.create.small_asurine_brick_stairs": "Small Asurine Brick Stairs", + "block.create.small_asurine_brick_wall": "Small Asurine Brick Wall", + "block.create.small_asurine_bricks": "Small Asurine Bricks", + "block.create.small_bogey": "Small Bogey", + "block.create.small_calcite_brick_slab": "Small Calcite Brick Slab", + "block.create.small_calcite_brick_stairs": "Small Calcite Brick Stairs", + "block.create.small_calcite_brick_wall": "Small Calcite Brick Wall", + "block.create.small_calcite_bricks": "Small Calcite Bricks", + "block.create.small_crimsite_brick_slab": "Small Crimsite Brick Slab", + "block.create.small_crimsite_brick_stairs": "Small Crimsite Brick Stairs", + "block.create.small_crimsite_brick_wall": "Small Crimsite Brick Wall", + "block.create.small_crimsite_bricks": "Small Crimsite Bricks", + "block.create.small_deepslate_brick_slab": "Small Deepslate Brick Slab", + "block.create.small_deepslate_brick_stairs": "Small Deepslate Brick Stairs", + "block.create.small_deepslate_brick_wall": "Small Deepslate Brick Wall", + "block.create.small_deepslate_bricks": "Small Deepslate Bricks", + "block.create.small_diorite_brick_slab": "Small Diorite Brick Slab", + "block.create.small_diorite_brick_stairs": "Small Diorite Brick Stairs", + "block.create.small_diorite_brick_wall": "Small Diorite Brick Wall", + "block.create.small_diorite_bricks": "Small Diorite Bricks", + "block.create.small_dripstone_brick_slab": "Small Dripstone Brick Slab", + "block.create.small_dripstone_brick_stairs": "Small Dripstone Brick Stairs", + "block.create.small_dripstone_brick_wall": "Small Dripstone Brick Wall", + "block.create.small_dripstone_bricks": "Small Dripstone Bricks", + "block.create.small_granite_brick_slab": "Small Granite Brick Slab", + "block.create.small_granite_brick_stairs": "Small Granite Brick Stairs", + "block.create.small_granite_brick_wall": "Small Granite Brick Wall", + "block.create.small_granite_bricks": "Small Granite Bricks", + "block.create.small_limestone_brick_slab": "Small Limestone Brick Slab", + "block.create.small_limestone_brick_stairs": "Small Limestone Brick Stairs", + "block.create.small_limestone_brick_wall": "Small Limestone Brick Wall", + "block.create.small_limestone_bricks": "Small Limestone Bricks", + "block.create.small_ochrum_brick_slab": "Small Ochrum Brick Slab", + "block.create.small_ochrum_brick_stairs": "Small Ochrum Brick Stairs", + "block.create.small_ochrum_brick_wall": "Small Ochrum Brick Wall", + "block.create.small_ochrum_bricks": "Small Ochrum Bricks", + "block.create.small_rose_quartz_tiles": "Small Rose Quartz Tiles", + "block.create.small_scorchia_brick_slab": "Small Scorchia Brick Slab", + "block.create.small_scorchia_brick_stairs": "Small Scorchia Brick Stairs", + "block.create.small_scorchia_brick_wall": "Small Scorchia Brick Wall", + "block.create.small_scorchia_bricks": "Small Scorchia Bricks", + "block.create.small_scoria_brick_slab": "Small Scoria Brick Slab", + "block.create.small_scoria_brick_stairs": "Small Scoria Brick Stairs", + "block.create.small_scoria_brick_wall": "Small Scoria Brick Wall", + "block.create.small_scoria_bricks": "Small Scoria Bricks", + "block.create.small_tuff_brick_slab": "Small Tuff Brick Slab", + "block.create.small_tuff_brick_stairs": "Small Tuff Brick Stairs", + "block.create.small_tuff_brick_wall": "Small Tuff Brick Wall", + "block.create.small_tuff_bricks": "Small Tuff Bricks", + "block.create.small_veridium_brick_slab": "Small Veridium Brick Slab", + "block.create.small_veridium_brick_stairs": "Small Veridium Brick Stairs", + "block.create.small_veridium_brick_wall": "Small Veridium Brick Wall", + "block.create.small_veridium_bricks": "Small Veridium Bricks", + "block.create.smart_chute": "Smart Chute", + "block.create.smart_fluid_pipe": "Smart Fluid Pipe", + "block.create.speedometer": "Speedometer", + "block.create.spout": "Spout", + "block.create.spruce_window": "Spruce Window", + "block.create.spruce_window_pane": "Spruce Window Pane", + "block.create.steam_engine": "Steam Engine", + "block.create.steam_whistle": "Steam Whistle", + "block.create.steam_whistle_extension": "Steam Whistle Extension", + "block.create.sticker": "Sticker", + "block.create.sticky_mechanical_piston": "Sticky Mechanical Piston", + "block.create.stockpile_switch": "Threshold Switch", + "block.create.stressometer": "Stressometer", + "block.create.tiled_glass": "Tiled Glass", + "block.create.tiled_glass_pane": "Tiled Glass Pane", + "block.create.track": "Train Track", + "block.create.track_observer": "Train Observer", + "block.create.track_signal": "Train Signal", + "block.create.track_station": "Train Station", + "block.create.train_door": "Train Door", + "block.create.train_trapdoor": "Train Trapdoor", + "block.create.tuff_pillar": "Tuff Pillar", + "block.create.turntable": "Turntable", + "block.create.veridium": "Veridium", + "block.create.veridium_pillar": "Veridium Pillar", + "block.create.vertical_framed_glass": "Vertical Framed Glass", + "block.create.vertical_framed_glass_pane": "Vertical Framed Glass Pane", + "block.create.warped_window": "Warped Window", + "block.create.warped_window_pane": "Warped Window Pane", + "block.create.water_wheel": "Water Wheel", + "block.create.water_wheel_structure": "Large Water Wheel", + "block.create.waxed_copper_shingle_slab": "Waxed Copper Shingle Slab", + "block.create.waxed_copper_shingle_stairs": "Waxed Copper Shingle Stairs", + "block.create.waxed_copper_shingles": "Waxed Copper Shingles", + "block.create.waxed_copper_tile_slab": "Waxed Copper Tile Slab", + "block.create.waxed_copper_tile_stairs": "Waxed Copper Tile Stairs", + "block.create.waxed_copper_tiles": "Waxed Copper Tiles", + "block.create.waxed_exposed_copper_shingle_slab": "Waxed Exposed Copper Shingle Slab", + "block.create.waxed_exposed_copper_shingle_stairs": "Waxed Exposed Copper Shingle Stairs", + "block.create.waxed_exposed_copper_shingles": "Waxed Exposed Copper Shingles", + "block.create.waxed_exposed_copper_tile_slab": "Waxed Exposed Copper Tile Slab", + "block.create.waxed_exposed_copper_tile_stairs": "Waxed Exposed Copper Tile Stairs", + "block.create.waxed_exposed_copper_tiles": "Waxed Exposed Copper Tiles", + "block.create.waxed_oxidized_copper_shingle_slab": "Waxed Oxidized Copper Shingle Slab", + "block.create.waxed_oxidized_copper_shingle_stairs": "Waxed Oxidized Copper Shingle Stairs", + "block.create.waxed_oxidized_copper_shingles": "Waxed Oxidized Copper Shingles", + "block.create.waxed_oxidized_copper_tile_slab": "Waxed Oxidized Copper Tile Slab", + "block.create.waxed_oxidized_copper_tile_stairs": "Waxed Oxidized Copper Tile Stairs", + "block.create.waxed_oxidized_copper_tiles": "Waxed Oxidized Copper Tiles", + "block.create.waxed_weathered_copper_shingle_slab": "Waxed Weathered Copper Shingle Slab", + "block.create.waxed_weathered_copper_shingle_stairs": "Waxed Weathered Copper Shingle Stairs", + "block.create.waxed_weathered_copper_shingles": "Waxed Weathered Copper Shingles", + "block.create.waxed_weathered_copper_tile_slab": "Waxed Weathered Copper Tile Slab", + "block.create.waxed_weathered_copper_tile_stairs": "Waxed Weathered Copper Tile Stairs", + "block.create.waxed_weathered_copper_tiles": "Waxed Weathered Copper Tiles", + "block.create.weathered_copper_shingle_slab": "Weathered Copper Shingle Slab", + "block.create.weathered_copper_shingle_stairs": "Weathered Copper Shingle Stairs", + "block.create.weathered_copper_shingles": "Weathered Copper Shingles", + "block.create.weathered_copper_tile_slab": "Weathered Copper Tile Slab", + "block.create.weathered_copper_tile_stairs": "Weathered Copper Tile Stairs", + "block.create.weathered_copper_tiles": "Weathered Copper Tiles", + "block.create.weighted_ejector": "Weighted Ejector", + "block.create.white_nixie_tube": "White Nixie Tube", + "block.create.white_sail": "Windmill Sail", + "block.create.white_seat": "White Seat", + "block.create.white_toolbox": "White Toolbox", + "block.create.white_valve_handle": "White Valve Handle", + "block.create.windmill_bearing": "Windmill Bearing", + "block.create.wooden_bracket": "Wooden Bracket", + "block.create.yellow_nixie_tube": "Yellow Nixie Tube", + "block.create.yellow_sail": "Yellow Sail", + "block.create.yellow_seat": "Yellow Seat", + "block.create.yellow_toolbox": "Yellow Toolbox", + "block.create.yellow_valve_handle": "Yellow Valve Handle", + "block.create.zinc_block": "Block of Zinc", + "block.create.zinc_ore": "Zinc Ore", + "enchantment.create.capacity": "Capacity", + "enchantment.create.potato_recovery": "Potato Recovery", + "entity.create.carriage_contraption": "Carriage Contraption", + "entity.create.contraption": "Contraption", + "entity.create.crafting_blueprint": "Crafting Blueprint", + "entity.create.gantry_contraption": "Gantry Contraption", + "entity.create.potato_projectile": "Potato Projectile", + "entity.create.seat": "Seat", + "entity.create.stationary_contraption": "Stationary Contraption", + "entity.create.super_glue": "Super Glue", + "fluid.create.potion": "Potion", + "fluid.create.tea": "Builder's Tea", + "item.create.andesite_alloy": "Andesite Alloy", + "item.create.attribute_filter": "Attribute Filter", + "item.create.bar_of_chocolate": "Bar of Chocolate", + "item.create.belt_connector": "Mechanical Belt", + "item.create.blaze_cake": "Blaze Cake", + "item.create.blaze_cake_base": "Blaze Cake Base", + "item.create.brass_hand": "Brass Hand", + "item.create.brass_ingot": "Brass Ingot", + "item.create.brass_nugget": "Brass Nugget", + "item.create.brass_sheet": "Brass Sheet", + "item.create.builders_tea": "Builder's Tea", + "item.create.chest_minecart_contraption": "Chest Minecart Contraption", + "item.create.chocolate_bucket": "Chocolate Bucket", + "item.create.chocolate_glazed_berries": "Chocolate Glazed Berries", + "item.create.chromatic_compound": "Chromatic Compound", + "item.create.cinder_flour": "Cinder Flour", + "item.create.copper_backtank": "Copper Backtank", + "item.create.copper_backtank_placeable": "Copper Backtank Placeable", + "item.create.copper_diving_boots": "Copper Diving Boots", + "item.create.copper_diving_helmet": "Copper Diving Helmet", + "item.create.copper_nugget": "Copper Nugget", + "item.create.copper_sheet": "Copper Sheet", + "item.create.crafter_slot_cover": "Crafter Slot Cover", + "item.create.crafting_blueprint": "Crafting Blueprint", + "item.create.creative_blaze_cake": "Creative Blaze Cake", + "item.create.crushed_raw_aluminum": "Crushed Raw Aluminum", + "item.create.crushed_raw_copper": "Crushed Raw Copper", + "item.create.crushed_raw_gold": "Crushed Raw Gold", + "item.create.crushed_raw_iron": "Crushed Raw Iron", + "item.create.crushed_raw_lead": "Crushed Raw Lead", + "item.create.crushed_raw_nickel": "Crushed Raw Nickel", + "item.create.crushed_raw_osmium": "Crushed Raw Osmium", + "item.create.crushed_raw_platinum": "Crushed Raw Platinum", + "item.create.crushed_raw_quicksilver": "Crushed Raw Quicksilver", + "item.create.crushed_raw_silver": "Crushed Raw Silver", + "item.create.crushed_raw_tin": "Crushed Raw Tin", + "item.create.crushed_raw_uranium": "Crushed Raw Uranium", + "item.create.crushed_raw_zinc": "Crushed Raw Zinc", + "item.create.dough": "Dough", + "item.create.electron_tube": "Electron Tube", + "item.create.empty_blaze_burner": "Empty Blaze Burner", + "item.create.empty_schematic": "Empty Schematic", + "item.create.experience_nugget": "Nugget of Experience", + "item.create.extendo_grip": "Extendo Grip", + "item.create.filter": "List Filter", + "item.create.furnace_minecart_contraption": "Furnace Minecart Contraption", + "item.create.goggles": "Engineer's Goggles", + "item.create.golden_sheet": "Golden Sheet", + "item.create.handheld_worldshaper": "Creative Worldshaper", + "item.create.honey_bucket": "Honey Bucket", + "item.create.honeyed_apple": "Honeyed Apple", + "item.create.incomplete_precision_mechanism": "Incomplete Precision Mechanism", + "item.create.incomplete_track": "Incomplete Track", + "item.create.iron_sheet": "Iron Sheet", + "item.create.linked_controller": "Linked Controller", + "item.create.minecart_contraption": "Minecart Contraption", + "item.create.minecart_coupling": "Minecart Coupling", + "item.create.netherite_backtank": "Netherite Backtank", + "item.create.netherite_backtank_placeable": "Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "Netherite Diving Boots", + "item.create.netherite_diving_helmet": "Netherite Diving Helmet", + "item.create.polished_rose_quartz": "Polished Rose Quartz", + "item.create.potato_cannon": "Potato Cannon", + "item.create.powdered_obsidian": "Powdered Obsidian", + "item.create.precision_mechanism": "Precision Mechanism", + "item.create.propeller": "Propeller", + "item.create.raw_zinc": "Raw Zinc", + "item.create.red_sand_paper": "Red Sand Paper", + "item.create.refined_radiance": "Refined Radiance", + "item.create.rose_quartz": "Rose Quartz", + "item.create.sand_paper": "Sand Paper", + "item.create.schedule": "Train Schedule", + "item.create.schematic": "Schematic", + "item.create.schematic_and_quill": "Schematic And Quill", + "item.create.shadow_steel": "Shadow Steel", + "item.create.sturdy_sheet": "Sturdy Sheet", + "item.create.super_glue": "Super Glue", + "item.create.sweet_roll": "Sweet Roll", + "item.create.tree_fertilizer": "Tree Fertilizer", + "item.create.unprocessed_obsidian_sheet": "Unprocessed Obsidian Sheet", + "item.create.vertical_gearbox": "Vertical Gearbox", + "item.create.wand_of_symmetry": "Wand Of Symmetry", + "item.create.wheat_flour": "Wheat Flour", + "item.create.whisk": "Whisk", + "item.create.wrench": "Wrench", + "item.create.zinc_ingot": "Zinc Ingot", + "item.create.zinc_nugget": "Zinc Nugget", + "advancement.create.root": "Welcome to Create", + "advancement.create.root.desc": "Here Be Contraptions", + "advancement.create.andesite_alloy": "Sturdier Rocks", + "advancement.create.andesite_alloy.desc": "Obtain some Andesite Alloy, Create's most important resource", + "advancement.create.andesite_casing": "The Andesite Age", + "advancement.create.andesite_casing.desc": "Apply Andesite Alloy to stripped wood, creating a basic casing for your machines", + "advancement.create.mechanical_press": "Bonk!", + "advancement.create.mechanical_press.desc": "Create some sheets in a Mechanical Press", + "advancement.create.encased_fan": "Wind Maker", + "advancement.create.encased_fan.desc": "Place and power an Encased Fan", + "advancement.create.fan_processing": "Processing by Particle", + "advancement.create.fan_processing.desc": "Use an Encased Fan to process materials", + "advancement.create.saw_processing": "Workshop's Most Feared", + "advancement.create.saw_processing.desc": "Use an upright Mechanical Saw to process materials", + "advancement.create.compacting": "Compactification", + "advancement.create.compacting.desc": "Use a Mechanical Press and a Basin to create fewer items from more", + "advancement.create.belt": "Kelp Drive", + "advancement.create.belt.desc": "Connect two Shafts with a Mechanical Belt", + "advancement.create.funnel": "Airport Aesthetic", + "advancement.create.funnel.desc": "Extract or insert items into a container using a Funnel", + "advancement.create.chute": "Vertical Logistics", + "advancement.create.chute.desc": "Transport some items by Chute", + "advancement.create.mechanical_mixer": "Mixing It Up", + "advancement.create.mechanical_mixer.desc": "Combine ingredients in a Mechanical Mixer", + "advancement.create.burner": "Sentient Fireplace", + "advancement.create.burner.desc": "Obtain a Blaze Burner", + "advancement.create.water_wheel": "Harnessed Hydraulics", + "advancement.create.water_wheel.desc": "Place a Water Wheel and use it to generate torque", + "advancement.create.windmill": "A Mild Breeze", + "advancement.create.windmill.desc": "Assemble a windmill and use it to generate torque", + "advancement.create.shifting_gears": "Shifting Gears", + "advancement.create.shifting_gears.desc": "Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your Contraption", + "advancement.create.millstone": "Embrace the Grind", + "advancement.create.millstone.desc": "Use a Millstone to pulverise materials", + "advancement.create.super_glue": "Area of Connect", + "advancement.create.super_glue.desc": "Super Glue some blocks into a group", + "advancement.create.contraption_actors": "Moving with Purpose", + "advancement.create.contraption_actors.desc": "Create a Contraption with drills, saws, or harvesters on board", + "advancement.create.portable_storage_interface": "Drive-By Exchange", + "advancement.create.portable_storage_interface.desc": "Use a Portable Storage Interface to take or insert items into a Contraption", + "advancement.create.wrench_goggles": "Kitted Out", + "advancement.create.wrench_goggles.desc": "Equip Engineer's Goggles and a Wrench", + "advancement.create.stressometer": "Stress for Nerds", + "advancement.create.stressometer.desc": "Get an exact readout with the help of Engineer's Goggles and a Stressometer", + "advancement.create.cuckoo_clock": "Is It Time?", + "advancement.create.cuckoo_clock.desc": "Witness your Cuckoo Clock announce bedtime", + "advancement.create.windmill_maxed": "A Strong Breeze", + "advancement.create.windmill_maxed.desc": "Assemble a windmill of maximum strength", + "advancement.create.ejector_maxed": "Springboard Champion", + "advancement.create.ejector_maxed.desc": "Get launched more than 30 blocks by a Weighted Ejector", + "advancement.create.pulley_maxed": "Rope to Nowhere", + "advancement.create.pulley_maxed.desc": "Extend a Rope Pulley over 200 blocks deep", + "advancement.create.cart_pickup": "Strong Arms", + "advancement.create.cart_pickup.desc": "Pick up a Minecart Contraption with at least 200 attached blocks", + "advancement.create.anvil_plough": "Blacksmith Artillery", + "advancement.create.anvil_plough.desc": "Launch an Anvil with Mechanical Ploughs", + "advancement.create.lava_wheel_00000": "Magma Wheel", + "advancement.create.lava_wheel_00000.desc": "This shouldn't have worked\n\u00A77(Hidden Advancement)", + "advancement.create.hand_crank_000": "Workout Session", + "advancement.create.hand_crank_000.desc": "Use a Hand Crank until fully exhausted\n\u00A77(Hidden Advancement)", + "advancement.create.belt_funnel_kiss": "The Parrots and the Flaps", + "advancement.create.belt_funnel_kiss.desc": "Make two Belt-mounted Funnels kiss\n\u00A77(Hidden Advancement)", + "advancement.create.stressometer_maxed": "Perfectly Stressed", + "advancement.create.stressometer_maxed.desc": "Get a 100% readout from a Stressometer\n\u00A77(Hidden Advancement)", + "advancement.create.copper": "Cuprum Bokum", + "advancement.create.copper.desc": "Amass some Copper Ingots for your exploits in fluid manipulation", + "advancement.create.copper_casing": "The Copper Age", + "advancement.create.copper_casing.desc": "Apply Copper Ingots to stripped wood, creating a waterproof casing for your machines", + "advancement.create.spout": "Sploosh", + "advancement.create.spout.desc": "Watch a fluid-containing item be filled by a Spout", + "advancement.create.drain": "Tumble Draining", + "advancement.create.drain.desc": "Watch a fluid-containing item be emptied by an Item Drain", + "advancement.create.steam_engine": "The Powerhouse", + "advancement.create.steam_engine.desc": "Use a Steam Engine to generate torque", + "advancement.create.steam_whistle": "Voice of an Angel", + "advancement.create.steam_whistle.desc": "Activate a Steam Whistle", + "advancement.create.backtank": "Pressure to Go", + "advancement.create.backtank.desc": "Create a Copper Backtank and make it accumulate air pressure", + "advancement.create.diving_suit": "Ready for the Depths", + "advancement.create.diving_suit.desc": "Equip a Diving Helmet and a Copper Backtank, then jump into water", + "advancement.create.mechanical_pump_0": "Under Pressure", + "advancement.create.mechanical_pump_0.desc": "Place and power a Mechanical Pump", + "advancement.create.glass_pipe": "Flow Discovery", + "advancement.create.glass_pipe.desc": "Use your Wrench on a pipe that contains a fluid", + "advancement.create.water_supply": "Puddle Collector", + "advancement.create.water_supply.desc": "Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water", + "advancement.create.hose_pulley": "Industrial Spillage", + "advancement.create.hose_pulley.desc": "Lower a Hose Pulley and watch it drain or fill a body of fluid", + "advancement.create.chocolate_bucket": "A World of Imagination", + "advancement.create.chocolate_bucket.desc": "Obtain a bucket of molten chocolate", + "advancement.create.honey_drain": "Autonomous Bee-Keeping", + "advancement.create.honey_drain.desc": "Use pipes to pull honey from a Bee Nest or Beehive", + "advancement.create.hose_pulley_lava": "Tapping the Mantle", + "advancement.create.hose_pulley_lava.desc": "Pump from a body of lava large enough to be considered infinite", + "advancement.create.steam_engine_maxed": "Full Steam", + "advancement.create.steam_engine_maxed.desc": "Run a boiler at the maximum level of power", + "advancement.create.foods": "Balanced Diet", + "advancement.create.foods.desc": "Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout", + "advancement.create.diving_suit_lava": "Swimming with the Striders", + "advancement.create.diving_suit_lava.desc": "Attempt to take a dive in lava with your diving gear\n\u00A77(Hidden Advancement)", + "advancement.create.chained_drain": "On a Roll", + "advancement.create.chained_drain.desc": "Watch an item move across a row of Item Drains\n\u00A77(Hidden Advancement)", + "advancement.create.cross_streams": "Don't Cross the Streams!", + "advancement.create.cross_streams.desc": "Watch two fluids meet in your pipe network\n\u00A77(Hidden Advancement)", + "advancement.create.pipe_organ": "The Pipe Organ", + "advancement.create.pipe_organ.desc": "Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank\n\u00A77(Hidden Advancement)", + "advancement.create.brass": "Real Alloys", + "advancement.create.brass.desc": "Create Brass Ingots by alloying Copper and Zinc Ingots in your Blaze-heated Mechanical Mixer", + "advancement.create.brass_casing": "The Brass Age", + "advancement.create.brass_casing.desc": "Apply Brass Ingots to stripped wood, creating a casing for more sophisticated machines", + "advancement.create.rose_quartz": "Pink Diamonds", + "advancement.create.rose_quartz.desc": "Polish some Rose Quartz", + "advancement.create.deployer": "Artificial Intelligence", + "advancement.create.deployer.desc": "Place and power a Deployer, the perfect reflection of yourself", + "advancement.create.precision_mechanism": "Complex Curiosities", + "advancement.create.precision_mechanism.desc": "Assemble a Precision Mechanism", + "advancement.create.speed_controller": "Engineers Hate Him!", + "advancement.create.speed_controller.desc": "Fine-tune your Contraption with a Rotation Speed Controller", + "advancement.create.mechanical_arm": "Busy Hands", + "advancement.create.mechanical_arm.desc": "Watch your Mechanical Arm transport its first item", + "advancement.create.mechanical_crafter": "Automated Assembly", + "advancement.create.mechanical_crafter.desc": "Place and power some Mechanical Crafters", + "advancement.create.crushing_wheel": "A Pair of Giants", + "advancement.create.crushing_wheel.desc": "Place and power a set of Crushing Wheels", + "advancement.create.haunted_bell": "Shadow Sense", + "advancement.create.haunted_bell.desc": "Toll a Haunted Bell", + "advancement.create.clockwork_bearing": "Contraption O'Clock", + "advancement.create.clockwork_bearing.desc": "Assemble a structure mounted on a Clockwork Bearing", + "advancement.create.display_link": "Big Data", + "advancement.create.display_link.desc": "Use a Display Link to visualise information", + "advancement.create.potato_cannon": "Fwoomp!", + "advancement.create.potato_cannon.desc": "Defeat an enemy with your Potato Cannon", + "advancement.create.extendo_grip": "Boioioing!", + "advancement.create.extendo_grip.desc": "Get hold of an Extendo Grip", + "advancement.create.linked_controller": "Remote Activation", + "advancement.create.linked_controller.desc": "Activate a Redstone Link using a Linked Controller", + "advancement.create.arm_blaze_burner": "Combust-o-Tron", + "advancement.create.arm_blaze_burner.desc": "Instruct a Mechanical Arm to feed your Blaze Burner", + "advancement.create.crusher_maxed_0000": "Crushing It", + "advancement.create.crusher_maxed_0000.desc": "Operate a pair of Crushing Wheels at maximum speed", + "advancement.create.arm_many_targets": "Organize-o-Tron", + "advancement.create.arm_many_targets.desc": "Program a Mechanical Arm with 10 or more output locations", + "advancement.create.potato_cannon_collide": "Veggie Fireworks", + "advancement.create.potato_cannon_collide.desc": "Cause Potato Cannon projectiles of different types to collide with each other", + "advancement.create.self_deploying": "Self-Driving Cart", + "advancement.create.self_deploying.desc": "Create a Minecart Contraption that places tracks in front of itself", + "advancement.create.fist_bump": "Pound It, Bro!", + "advancement.create.fist_bump.desc": "Make two Deployers fist-bump\n\u00A77(Hidden Advancement)", + "advancement.create.crafter_lazy_000": "Desperate Measures", + "advancement.create.crafter_lazy_000.desc": "Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure\n\u00A77(Hidden Advancement)", + "advancement.create.extendo_grip_dual": "To Full Extent", + "advancement.create.extendo_grip_dual.desc": "Dual-wield Extendo Grips for superhuman reach\n\u00A77(Hidden Advancement)", + "advancement.create.musical_arm": "DJ Mechanico", + "advancement.create.musical_arm.desc": "Watch a Mechanical Arm operate your Jukebox\n\u00A77(Hidden Advancement)", + "advancement.create.sturdy_sheet": "The Sturdiest Rocks", + "advancement.create.sturdy_sheet.desc": "Assemble a Sturdy Sheet by refining Powdered Obsidian", + "advancement.create.train_casing_00": "The Logistical Age", + "advancement.create.train_casing_00.desc": "Use Sturdy Sheets to create a casing for railway components", + "advancement.create.train": "All Aboard!", + "advancement.create.train.desc": "Assemble your first Train", + "advancement.create.conductor": "Conductor Instructor", + "advancement.create.conductor.desc": "Instruct a Train driver with a Train Schedule", + "advancement.create.track_signal": "Traffic Control", + "advancement.create.track_signal.desc": "Place a Train Signal", + "advancement.create.display_board_0": "Dynamic Timetables", + "advancement.create.display_board_0.desc": "Forecast a Train's arrival on your Display Board with the help of Display Links", + "advancement.create.track_0": "A New Gauge", + "advancement.create.track_0.desc": "Obtain some Train Tracks", + "advancement.create.train_whistle": "Choo Choo!", + "advancement.create.train_whistle.desc": "Assemble a Steam Whistle to your Train and activate it while driving", + "advancement.create.train_portal": "Dimensional Commuter", + "advancement.create.train_portal.desc": "Ride a Train through a Nether portal", + "advancement.create.track_crafting_factory": "Track Factory", + "advancement.create.track_crafting_factory.desc": "Produce more than 1000 Train Tracks with the same Mechanical Press", + "advancement.create.long_train": "Ambitious Endeavours", + "advancement.create.long_train.desc": "Create a Train with at least 6 carriages", + "advancement.create.long_travel": "Field Trip", + "advancement.create.long_travel.desc": "Leave a Train Seat over 5000 blocks away from where you started travelling", + "advancement.create.train_roadkill": "Road Kill", + "advancement.create.train_roadkill.desc": "Run over an enemy with your Train\n\u00A77(Hidden Advancement)", + "advancement.create.red_signal": "Expert Driver", + "advancement.create.red_signal.desc": "Run a red Train Signal\n\u00A77(Hidden Advancement)", + "advancement.create.train_crash": "Terrible Service", + "advancement.create.train_crash.desc": "Witness a Train crash as a passenger\n\u00A77(Hidden Advancement)", + "advancement.create.train_crash_backwards": "Blind Spot", + "advancement.create.train_crash_backwards.desc": "Crash into another Train while driving backwards\n\u00A77(Hidden Advancement)", + "itemGroup.create.base": "Create", + "itemGroup.create.palettes": "Create's Building Blocks", + "block.create.mangrove_window": "Mangrove Window", + "block.create.mangrove_window_pane": "Mangrove Window Pane", + "death.attack.create.crush": "%1$s was processed by Crushing Wheels", + "death.attack.create.crush.player": "%1$s was thrown into Crushing Wheels by %2$s", + "death.attack.create.fan_fire": "%1$s got smoked by an Encased Fan", + "death.attack.create.fan_fire.player": "%1$s was thrown into a smoker by %2$s", + "death.attack.create.fan_lava": "%1$s was incinerated by an Encased Fan", + "death.attack.create.fan_lava.player": "%1$s was thrown into a smelter by %2$s", + "death.attack.create.mechanical_drill": "%1$s was impaled by a Mechanical Drill", + "death.attack.create.mechanical_drill.player": "%1$s was thrown in front of a Drill by %2$s", + "death.attack.create.mechanical_roller": "%1$s was flattened by a Mechanical Roller", + "death.attack.create.mechanical_roller.player": "%1$s was thrown in front of a Mechanical Roller by %2$s", + "death.attack.create.mechanical_saw": "%1$s got cut in half by a Mechanical Saw", + "death.attack.create.mechanical_saw.player": "%1$s was thrown into a Saw by %2$s", + "death.attack.create.potato_cannon": "%1$s was shot by %2$s's Potato Cannon", + "death.attack.create.potato_cannon.item": "%1$s was shot by %2$s using %3$s", + "death.attack.create.cuckoo_clock_explosion": "%1$s was blown up by tampered cuckoo clock", + "death.attack.create.cuckoo_clock_explosion.player": "%1$s was blown up by tampered cuckoo clock", + "death.attack.create.run_over": "%1$s was run over by %2$s", + "create.block.deployer.damage_source_name": "a rogue Deployer", + "create.block.cart_assembler.invalid": "Place your Cart Assembler on a rail block", + "create.menu.return": "Return to Menu", + "create.menu.configure": "Configure...", + "create.menu.ponder_index": "Ponder Index", + "create.menu.only_ingame": "Available in the Pause Menu", + "create.menu.report_bugs": "Report Issues", + "create.menu.support": "Support Us", + "create.recipe.crushing": "Crushing", + "create.recipe.milling": "Milling", + "create.recipe.fan_washing": "Bulk Washing", + "create.recipe.fan_washing.fan": "Fan behind Flowing Water", + "create.recipe.fan_smoking": "Bulk Smoking", + "create.recipe.fan_smoking.fan": "Fan behind Fire", + "create.recipe.fan_haunting": "Bulk Haunting", + "create.recipe.fan_haunting.fan": "Fan behind Soul Fire", + "create.recipe.fan_blasting": "Bulk Blasting", + "create.recipe.fan_blasting.fan": "Fan behind Lava", + "create.recipe.pressing": "Pressing", + "create.recipe.mixing": "Mixing", + "create.recipe.deploying": "Deploying", + "create.recipe.automatic_shapeless": "Automated Shapeless Crafting", + "create.recipe.automatic_brewing": "Automated Brewing", + "create.recipe.packing": "Compacting", + "create.recipe.automatic_packing": "Automated Packing", + "create.recipe.sawing": "Sawing", + "create.recipe.mechanical_crafting": "Mechanical Crafting", + "create.recipe.automatic_shaped": "Automated Shaped Crafting", + "create.recipe.block_cutting": "Block Cutting", + "create.recipe.wood_cutting": "Wood Cutting", + "create.recipe.sandpaper_polishing": "Sandpaper Polishing", + "create.recipe.mystery_conversion": "Mysterious Conversion", + "create.recipe.spout_filling": "Filling by Spout", + "create.recipe.draining": "Item Draining", + "create.recipe.item_application": "Manual Item Application", + "create.recipe.item_application.any_axe": "Any Axe", + "create.recipe.sequenced_assembly": "Recipe Sequence", + "create.recipe.assembly.next": "Next: %1$s", + "create.recipe.assembly.step": "Step %1$s:", + "create.recipe.assembly.progress": "Progress: %1$s/%2$s", + "create.recipe.assembly.pressing": "Process in Press", + "create.recipe.assembly.spout_filling_fluid": "Spout %1$s", + "create.recipe.assembly.deploying_item": "Deploy %1$s", + "create.recipe.assembly.cutting": "Cut with Saw", + "create.recipe.assembly.repeat": "Repeat Sequence %1$s Times", + "create.recipe.assembly.junk": "Random salvage", + "create.recipe.processing.chance": "%1$s%% Chance", + "create.recipe.deploying.not_consumed": "Not Consumed", + "create.recipe.heat_requirement.none": "No Heating Required", + "create.recipe.heat_requirement.heated": "Heated", + "create.recipe.heat_requirement.superheated": "Super-Heated", + "create.generic.range": "Range", + "create.generic.radius": "Radius", + "create.generic.width": "Width", + "create.generic.height": "Height", + "create.generic.length": "Length", + "create.generic.speed": "Speed", + "create.generic.delay": "Delay", + "create.generic.angle": "Angle", + "create.generic.duration": "Duration", + "create.generic.timeUnit": "Time Unit", + "create.generic.unit.ticks": "Ticks", + "create.generic.unit.seconds": "Seconds", + "create.generic.unit.minutes": "Minutes", + "create.generic.daytime.hour": "Hour", + "create.generic.daytime.minute": "Minute", + "create.generic.daytime.second": "Second", + "create.generic.daytime.pm": "pm", + "create.generic.daytime.am": "am", + "create.generic.unit.rpm": "RPM", + "create.generic.unit.stress": "su", + "create.generic.unit.degrees": "\u00B0", + "create.generic.unit.millibuckets": "mB", + "create.generic.unit.buckets": "B", + "create.generic.clockwise": "Clockwise", + "create.generic.counter_clockwise": "Counter-Clockwise", + "create.generic.in_quotes": "\"%1$s\"", + "create.generic.pitch": "Pitch: %1$s", + "create.generic.notes": "F#;F;E;D#;D;C#;C;B;A#;A;G#;G", + "create.action.scroll": "Scroll", + "create.action.confirm": "Confirm", + "create.action.abort": "Abort", + "create.action.saveToFile": "Save", + "create.action.discard": "Discard", + "create.keyinfo.toolmenu": "Focus Schematic Overlay", + "create.keyinfo.toolbelt": "Access Nearby Toolboxes", + "create.keyinfo.scrollup": "Simulate Mousewheel Up (inworld)", + "create.keyinfo.scrolldown": "Simulate Mousewheel Down (inworld)", + "create.gui.scrollInput.defaultTitle": "Choose an Option:", + "create.gui.scrollInput.scrollToModify": "Scroll to Modify", + "create.gui.scrollInput.scrollToAdjustAmount": "Scroll to Adjust Amount", + "create.gui.scrollInput.scrollToSelect": "Scroll to Select", + "create.gui.scrollInput.shiftScrollsFaster": "Shift to Scroll Faster", + "create.gui.toolmenu.focusKey": "Hold [%1$s] to Focus", + "create.gui.toolmenu.cycle": "[SCROLL] to Cycle", + "create.toolbox.unequip": "Unequip: %1$s", + "create.toolbox.outOfRange": "Toolbox of held item not in Range", + "create.toolbox.detach": "Stop tracking and keep item", + "create.toolbox.depositAll": "Return items to nearby Toolboxes", + "create.toolbox.depositBox": "Return items to Toolbox", + "create.gui.symmetryWand.mirrorType": "Mirror", + "create.gui.symmetryWand.orientation": "Orientation", + "create.symmetry.mirror.plane": "Mirror Once", + "create.symmetry.mirror.doublePlane": "Rectangular", + "create.symmetry.mirror.triplePlane": "Octagonal", + "create.orientation.orthogonal": "Orthogonal", + "create.orientation.diagonal": "Diagonal", + "create.orientation.horizontal": "Horizontal", + "create.orientation.alongZ": "Along Z", + "create.orientation.alongX": "Along X", + "create.gui.terrainzapper.title": "Handheld Blockzapper", + "create.gui.terrainzapper.searchDiagonal": "Follow Diagonals", + "create.gui.terrainzapper.searchFuzzy": "Ignore Material Borders", + "create.gui.terrainzapper.patternSection": "Pattern", + "create.gui.terrainzapper.pattern.solid": "Solid", + "create.gui.terrainzapper.pattern.checkered": "Checkerboard", + "create.gui.terrainzapper.pattern.inversecheckered": "Inverted Checkerboard", + "create.gui.terrainzapper.pattern.chance25": "25% Roll", + "create.gui.terrainzapper.pattern.chance50": "50% Roll", + "create.gui.terrainzapper.pattern.chance75": "75% Roll", + "create.gui.terrainzapper.placement": "Placement", + "create.gui.terrainzapper.placement.merged": "Merged", + "create.gui.terrainzapper.placement.attached": "Attached", + "create.gui.terrainzapper.placement.inserted": "Inserted", + "create.gui.terrainzapper.brush": "Brush", + "create.gui.terrainzapper.brush.cuboid": "Cuboid", + "create.gui.terrainzapper.brush.sphere": "Sphere", + "create.gui.terrainzapper.brush.cylinder": "Cylinder", + "create.gui.terrainzapper.brush.surface": "Surface", + "create.gui.terrainzapper.brush.cluster": "Cluster", + "create.gui.terrainzapper.tool": "Tool", + "create.gui.terrainzapper.tool.fill": "Fill", + "create.gui.terrainzapper.tool.place": "Place", + "create.gui.terrainzapper.tool.replace": "Replace", + "create.gui.terrainzapper.tool.clear": "Clear", + "create.gui.terrainzapper.tool.overlay": "Overlay", + "create.gui.terrainzapper.tool.flatten": "Flatten", + "create.terrainzapper.shiftRightClickToSet": "Shift-Right-Click to Select a Shape", + "create.terrainzapper.usingBlock": "Using: %1$s", + "create.terrainzapper.leftClickToSet": "Left-Click a Block to set Material", + "create.large_water_wheel.not_enough_space": "Clear Blocks for Placement", + "create.minecart_coupling.two_couplings_max": "Minecarts cannot have more than two couplings each", + "create.minecart_coupling.unloaded": "Parts of your train seem to be in unloaded chunks", + "create.minecart_coupling.no_loops": "Couplings cannot form a loop", + "create.minecart_coupling.removed": "Removed all couplings from minecart", + "create.minecart_coupling.too_far": "Minecarts are too far apart", + "create.contraptions.moving_container": "Moving %1$s", + "create.contraptions.movement_mode": "Movement Mode", + "create.contraptions.movement_mode.move_place": "Always Place when Stopped", + "create.contraptions.movement_mode.move_place_returned": "Place only in Starting Position", + "create.contraptions.movement_mode.move_never_place": "Place only when Anchor Destroyed", + "create.contraptions.movement_mode.rotate_place": "Always Place when Stopped", + "create.contraptions.movement_mode.rotate_place_returned": "Only Place near Initial Angle", + "create.contraptions.movement_mode.rotate_never_place": "Only Place when Anchor Destroyed", + "create.contraptions.cart_movement_mode": "Cart Movement Mode", + "create.contraptions.cart_movement_mode.rotate": "Always face toward motion", + "create.contraptions.cart_movement_mode.rotate_paused": "Pause actors while rotating", + "create.contraptions.cart_movement_mode.rotation_locked": "Lock rotation", + "create.contraptions.roller_mode": "Roller Mode", + "create.contraptions.roller_mode.tunnel_pave": "Clear Blocks and Pave", + "create.contraptions.roller_mode.straight_fill": "Straight Fill Below", + "create.contraptions.roller_mode.wide_fill": "Sloped Fill Below", + "create.contraptions.windmill.rotation_direction": "Rotation Direction", + "create.contraptions.clockwork.clock_hands": "Clock Hand Arrangement", + "create.contraptions.clockwork.hour_first": "Hour hand first", + "create.contraptions.clockwork.minute_first": "Minute hand first", + "create.contraptions.clockwork.hour_first_24": "24-Hour hand first", + "create.logistics.crafter.connected": "Connected Crafters", + "create.logistics.crafter.click_to_merge": "Click to merge Inventories", + "create.logistics.crafter.click_to_separate": "Click to separate Inventories", + "create.logistics.filter": "Filter", + "create.logistics.recipe_filter": "Recipe Filter", + "create.logistics.fluid_filter": "Fluid Filter", + "create.logistics.firstFrequency": "Frequency #1", + "create.logistics.secondFrequency": "Frequency #2", + "create.logistics.filter.click_to_set": "Click with item to set", + "create.logistics.filter.click_to_replace": "Click with item to replace", + "create.logistics.filter.hold_to_set_amount": "Click and hold for amount", + "create.logistics.filter.invalid_item": "Cannot use this item here.", + "create.logistics.filter.extracted_amount": "Extracted Amount", + "create.logistics.filter.any_amount_short": "Any", + "create.logistics.filter.up_to": "Up to", + "create.logistics.filter.exactly": "Exactly", + "create.logistics.filter.requires_item_in_inventory": "Requires %1$s item in Inventory", + "create.logistics.creative_crate.supply": "Infinite Supply", + "create.logistics.train_observer.cargo_filter": "Cargo Filter", + "create.kinetics.creative_motor.rotation_speed": "Generated Speed in RPM", + "create.kinetics.speed_controller.rotation_speed": "Targeted Speed in RPM", + "create.kinetics.valve_handle.rotated_angle": "Rotation when used", + "create.logistics.redstone_interval": "Redstone Interval", + "create.contraptions.contoller.target": "Targeted Component", + "create.contraptions.mechanical_roller.pave_material": "Paving Material", + "create.contraptions.chassis.radius": "Radius when Sticky", + "create.contraptions.chassis.range": "Range of Sticky Sides", + "create.contraptions.chassis.distance": "Distance", + "create.gui.value_settings.hold_to_edit": "Click and hold to edit", + "create.gui.value_settings.release_to_confirm": "Release %1$s to Confirm", + "create.gui.goggles.generator_stats": "Generator Stats:", + "create.gui.goggles.kinetic_stats": "Kinetic Stats:", + "create.gui.goggles.at_current_speed": "at current speed", + "create.gui.goggles.pole_length": "Pole Length:", + "create.gui.goggles.basin_contents": "Basin Contents:", + "create.gui.goggles.fluid_container": "Fluid Container Info:", + "create.gui.goggles.fluid_container.capacity": "Capacity: ", + "create.gui.assembly.exception": "This Contraption was unable to assemble:", + "create.gui.assembly.exception.unmovableBlock": "Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]", + "create.gui.assembly.exception.chunkNotLoaded": "The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk", + "create.gui.assembly.exception.structureTooLarge": "There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s", + "create.gui.assembly.exception.tooManyPistonPoles": "There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s", + "create.gui.assembly.exception.noPistonPoles": "The Piston is missing some extension Poles", + "create.gui.assembly.exception.not_enough_sails": "Attached structure does not include enough sail-like blocks: %1$s\nA minimum of %2$s are required", + "create.gui.assembly.exception.no_contacts": "Elevators require a horizontal _Redstone_ _Contact_ attached to the structure", + "create.gui.assembly.exception.too_many_contacts": "Cannot attach more than one _Redstone_ _Contact_ to Elevators", + "create.gui.assembly.exception.column_conflict": "Another Elevator is already targeting this column of contacts", + "create.gui.gauge.info_header": "Gauge Information:", + "create.gui.speedometer.title": "Rotation Speed", + "create.gui.stressometer.title": "Network Stress", + "create.gui.stressometer.capacity": "Remaining Capacity", + "create.gui.stressometer.overstressed": "Overstressed", + "create.gui.stressometer.no_rotation": "No Rotation", + "create.gui.contraptions.not_fast_enough": "It appears that this %1$s is _not_ rotating with _enough_ _speed_.", + "create.gui.contraptions.network_overstressed": "It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.", + "create.gui.adjustable_crate.title": "Adjustable Crate", + "create.gui.adjustable_crate.storageSpace": "Storage Space", + "create.gui.threshold_switch.title": "Threshold Switch", + "create.gui.threshold_switch.invert_signal": "Invert Signal", + "create.gui.threshold_switch.move_to_lower_at": "Move to lower lane at %1$s%%", + "create.gui.threshold_switch.move_to_upper_at": "Move to upper lane at %1$s%%", + "create.gui.sequenced_gearshift.title": "Sequenced Gearshift", + "create.gui.sequenced_gearshift.instruction": "Instruction", + "create.gui.sequenced_gearshift.instruction.turn_angle.descriptive": "Turn by angle", + "create.gui.sequenced_gearshift.instruction.turn_angle": "Turn", + "create.gui.sequenced_gearshift.instruction.turn_angle.angle": "Angle", + "create.gui.sequenced_gearshift.instruction.turn_distance.descriptive": "Turn to move Piston/Pulley/Gantry", + "create.gui.sequenced_gearshift.instruction.turn_distance": "Piston", + "create.gui.sequenced_gearshift.instruction.turn_distance.distance": "Distance", + "create.gui.sequenced_gearshift.instruction.delay.descriptive": "Timed Delay", + "create.gui.sequenced_gearshift.instruction.delay": "Delay", + "create.gui.sequenced_gearshift.instruction.delay.duration": "Duration", + "create.gui.sequenced_gearshift.instruction.end.descriptive": "End", + "create.gui.sequenced_gearshift.instruction.end": "End", + "create.gui.sequenced_gearshift.instruction.await.descriptive": "Await new Redstone Pulse", + "create.gui.sequenced_gearshift.instruction.await": "Await", + "create.gui.sequenced_gearshift.speed": "Speed, Direction", + "create.gui.sequenced_gearshift.speed.forward": "Input speed, Forwards", + "create.gui.sequenced_gearshift.speed.forward_fast": "Double speed, Forwards", + "create.gui.sequenced_gearshift.speed.back": "Input speed, Reversed", + "create.gui.sequenced_gearshift.speed.back_fast": "Double speed, Reversed", + "create.gui.clipboard.erase_checked": "Erase checked items", + "create.clipboard.actions": "Clipboard Actions", + "create.clipboard.to_copy": "%1$s to Copy settings", + "create.clipboard.to_paste": "%1$s to Paste settings", + "create.clipboard.copied_from": "Copying settings from %1$s", + "create.clipboard.pasted_to": "Applied settings to %1$s", + "create.schematicAndQuill.dimensions": "Schematic Size: %1$sx%2$sx%3$s", + "create.schematicAndQuill.firstPos": "First position set.", + "create.schematicAndQuill.secondPos": "Second position set.", + "create.schematicAndQuill.noTarget": "Hold [Ctrl] to select Air blocks.", + "create.schematicAndQuill.abort": "Removed selection.", + "create.schematicAndQuill.title": "Schematic Name:", + "create.schematicAndQuill.convert": "Save and Upload Immediately", + "create.schematicAndQuill.fallbackName": "My Schematic", + "create.schematicAndQuill.saved": "Saved as %1$s", + "create.schematicAndQuill.failed": "Failed to save schematic, check logs for details", + "create.schematicAndQuill.instant_failed": "Schematic instant-upload failed, check logs for details", + "create.schematic.invalid": "[!] Invalid Item - Use the Schematic Table instead", + "create.schematic.error": "Schematic failed to Load - Check Game Logs", + "create.schematic.position": "Position", + "create.schematic.rotation": "Rotation", + "create.schematic.rotation.none": "None", + "create.schematic.rotation.cw90": "Clockwise 90", + "create.schematic.rotation.cw180": "Clockwise 180", + "create.schematic.rotation.cw270": "Clockwise 270", + "create.schematic.mirror": "Mirror", + "create.schematic.mirror.none": "None", + "create.schematic.mirror.frontBack": "Front-Back", + "create.schematic.mirror.leftRight": "Left-Right", + "create.schematic.tool.deploy": "Position", + "create.schematic.tool.move": "Move XZ", + "create.schematic.tool.move_y": "Move Y", + "create.schematic.tool.rotate": "Rotate", + "create.schematic.tool.print": "Print", + "create.schematic.tool.flip": "Mirror", + "create.schematic.tool.deploy.description.0": "Moves the structure to a location.", + "create.schematic.tool.deploy.description.1": "Right-Click on the ground to place.", + "create.schematic.tool.deploy.description.2": "Hold [Ctrl] to select at a fixed distance.", + "create.schematic.tool.deploy.description.3": "[Ctrl]-Scroll to change the distance.", + "create.schematic.tool.move.description.0": "Shifts the Schematic Horizontally.", + "create.schematic.tool.move.description.1": "Point at the Schematic and [CTRL]-Scroll to push it.", + "create.schematic.tool.move.description.2": "", + "create.schematic.tool.move.description.3": "", + "create.schematic.tool.move_y.description.0": "Shifts the Schematic Vertically.", + "create.schematic.tool.move_y.description.1": "[CTRL]-Scroll to move it up/down.", + "create.schematic.tool.move_y.description.2": "", + "create.schematic.tool.move_y.description.3": "", + "create.schematic.tool.rotate.description.0": "Rotates the Schematic around its center.", + "create.schematic.tool.rotate.description.1": "[CTRL]-Scroll to rotate by 90 Degrees.", + "create.schematic.tool.rotate.description.2": "", + "create.schematic.tool.rotate.description.3": "", + "create.schematic.tool.print.description.0": "Instantly places the structure in the world.", + "create.schematic.tool.print.description.1": "[Right-Click] to confirm placement at the current location.", + "create.schematic.tool.print.description.2": "This tool is for Creative Mode only.", + "create.schematic.tool.print.description.3": "", + "create.schematic.tool.flip.description.0": "Flips the Schematic along the face you select.", + "create.schematic.tool.flip.description.1": "Point at the Schematic and [CTRL]-Scroll to flip it.", + "create.schematic.tool.flip.description.2": "", + "create.schematic.tool.flip.description.3": "", + "create.schematics.synchronizing": "Syncing...", + "create.schematics.uploadTooLarge": "Your schematic exceeds limitations specified by the server.", + "create.schematics.maxAllowedSize": "The maximum allowed schematic file size is:", + "create.gui.schematicTable.refresh": "Refresh Files", + "create.gui.schematicTable.open_folder": "Open Folder", + "create.gui.schematicTable.title": "Schematic Table", + "create.gui.schematicTable.availableSchematics": "Available Schematics", + "create.gui.schematicTable.noSchematics": "No Schematics Saved", + "create.gui.schematicTable.uploading": "Uploading...", + "create.gui.schematicTable.finished": "Upload Finished!", + "create.gui.schematicannon.title": "Schematicannon", + "create.gui.schematicannon.listPrinter": "Checklist Printer", + "create.gui.schematicannon.gunpowderLevel": "Gunpowder at %1$s%%", + "create.gui.schematicannon.shotsRemaining": "Shots left: %1$s", + "create.gui.schematicannon.shotsRemainingWithBackup": "With backup: %1$s", + "create.gui.schematicannon.optionEnabled": "Currently Enabled", + "create.gui.schematicannon.optionDisabled": "Currently Disabled", + "create.gui.schematicannon.showOptions": "Show Printer Settings", + "create.gui.schematicannon.option.dontReplaceSolid": "Don't Replace Solid Blocks", + "create.gui.schematicannon.option.replaceWithSolid": "Replace Solid with Solid", + "create.gui.schematicannon.option.replaceWithAny": "Replace Solid with Any", + "create.gui.schematicannon.option.replaceWithEmpty": "Replace Solid with Empty", + "create.gui.schematicannon.option.skipMissing": "Skip missing Blocks", + "create.gui.schematicannon.option.skipBlockEntities": "Protect Block Entities", + "create.gui.schematicannon.slot.gunpowder": "Add gunpowder to fuel the cannon", + "create.gui.schematicannon.slot.listPrinter": "Place a Clipboard or Book here to print a Checklist for your Schematic", + "create.gui.schematicannon.slot.schematic": "Add your Schematic here. Make sure it is deployed at a specific location.", + "create.gui.schematicannon.option.skipMissing.description": "If the cannon cannot find a required Block for placement, it will continue at the next Location.", + "create.gui.schematicannon.option.skipBlockEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.", + "create.gui.schematicannon.option.dontReplaceSolid.description": "The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.", + "create.gui.schematicannon.option.replaceWithSolid.description": "The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.", + "create.gui.schematicannon.option.replaceWithAny.description": "The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.", + "create.gui.schematicannon.option.replaceWithEmpty.description": "The cannon will clear out all blocks in its working area, including those replaced by Air.", + "create.schematicannon.status.idle": "Idle", + "create.schematicannon.status.ready": "Ready", + "create.schematicannon.status.running": "Running", + "create.schematicannon.status.finished": "Finished", + "create.schematicannon.status.paused": "Paused", + "create.schematicannon.status.stopped": "Stopped", + "create.schematicannon.status.noGunpowder": "Out of Gunpowder", + "create.schematicannon.status.targetNotLoaded": "Target is not loaded", + "create.schematicannon.status.targetOutsideRange": "Target too far away", + "create.schematicannon.status.searching": "Searching", + "create.schematicannon.status.skipping": "Skipping", + "create.schematicannon.status.missingBlock": "Missing Item:", + "create.schematicannon.status.placing": "Placing", + "create.schematicannon.status.clearing": "Clearing Blocks", + "create.schematicannon.status.schematicInvalid": "Schematic Invalid", + "create.schematicannon.status.schematicNotPlaced": "Schematic not Positioned", + "create.schematicannon.status.schematicExpired": "Schematic File Expired", + "create.schematicannon.status.schematicErrored": "Incompatible Blocks", + "create.schematicannon.status.schematicErroredCheckLogs": "Check Server Logs", + "create.materialChecklist": "Material Checklist", + "create.materialChecklist.blocksNotLoaded": "* Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.", + "create.gui.filter.deny_list": "Deny-List", + "create.gui.filter.deny_list.description": "Items pass if they do NOT match any of the above. An empty Deny-List accepts everything.", + "create.gui.filter.allow_list": "Allow-List", + "create.gui.filter.allow_list.description": "Items pass if they match any of the above. An empty Allow-List rejects everything.", + "create.gui.filter.respect_data": "Respect Data", + "create.gui.filter.respect_data.description": "Items only match if their durability, enchantments, and other attributes match as well.", + "create.gui.filter.ignore_data": "Ignore Data", + "create.gui.filter.ignore_data.description": "Items match regardless of their attributes.", + "create.item_attributes.placeable": "is placeable", + "create.item_attributes.placeable.inverted": "is not placeable", + "create.item_attributes.consumable": "can be eaten", + "create.item_attributes.consumable.inverted": "cannot be eaten", + "create.item_attributes.fluid_container": "can store fluids", + "create.item_attributes.fluid_container.inverted": "cannot store fluids", + "create.item_attributes.enchanted": "is enchanted", + "create.item_attributes.enchanted.inverted": "is unenchanted", + "create.item_attributes.max_enchanted": "is enchanted at max level", + "create.item_attributes.max_enchanted.inverted": "is not enchanted at max level", + "create.item_attributes.renamed": "has a custom name", + "create.item_attributes.renamed.inverted": "does not have a custom name", + "create.item_attributes.damaged": "is damaged", + "create.item_attributes.damaged.inverted": "is not damaged", + "create.item_attributes.badly_damaged": "is heavily damaged", + "create.item_attributes.badly_damaged.inverted": "is not heavily damaged", + "create.item_attributes.not_stackable": "cannot stack", + "create.item_attributes.not_stackable.inverted": "can be stacked", + "create.item_attributes.equipable": "can be equipped", + "create.item_attributes.equipable.inverted": "cannot be equipped", + "create.item_attributes.furnace_fuel": "is furnace fuel", + "create.item_attributes.furnace_fuel.inverted": "is not furnace fuel", + "create.item_attributes.washable": "can be Washed", + "create.item_attributes.washable.inverted": "cannot be Washed", + "create.item_attributes.hauntable": "can be Haunted", + "create.item_attributes.hauntable.inverted": "cannot be Haunted", + "create.item_attributes.crushable": "can be Crushed", + "create.item_attributes.crushable.inverted": "cannot be Crushed", + "create.item_attributes.smeltable": "can be Smelted", + "create.item_attributes.smeltable.inverted": "cannot be Smelted", + "create.item_attributes.smokable": "can be Smoked", + "create.item_attributes.smokable.inverted": "cannot be Smoked", + "create.item_attributes.blastable": "can be Smelted in a Blast Furnace", + "create.item_attributes.blastable.inverted": "cannot be Smelted in a Blast Furnace", + "create.item_attributes.compostable": "can be composted", + "create.item_attributes.compostable.inverted": "cannot be composted", + "create.item_attributes.shulker_level": "is shulker %1$s", + "create.item_attributes.shulker_level.inverted": "is shulker not %1$s", + "create.item_attributes.shulker_level.full": "full", + "create.item_attributes.shulker_level.empty": "empty", + "create.item_attributes.shulker_level.partial": "partially filled", + "create.item_attributes.in_tag": "is tagged %1$s", + "create.item_attributes.in_tag.inverted": "is not tagged %1$s", + "create.item_attributes.in_item_group": "is in group '%1$s'", + "create.item_attributes.in_item_group.inverted": "is not in group '%1$s'", + "create.item_attributes.added_by": "was added by %1$s", + "create.item_attributes.added_by.inverted": "was not added by %1$s", + "create.item_attributes.has_enchant": "is enchanted with %1$s", + "create.item_attributes.has_enchant.inverted": "is not enchanted with %1$s", + "create.item_attributes.color": "is dyed %1$s", + "create.item_attributes.color.inverted": "is not dyed %1$s", + "create.item_attributes.has_fluid": "contains %1$s", + "create.item_attributes.has_fluid.inverted": "does not contain %1$s", + "create.item_attributes.has_name": "has the custom name %1$s", + "create.item_attributes.has_name.inverted": "does not have the custom name %1$s", + "create.item_attributes.book_author": "was authored by %1$s", + "create.item_attributes.book_author.inverted": "was not authored by %1$s", + "create.item_attributes.book_copy_original": "is an original", + "create.item_attributes.book_copy_original.inverted": "is not an original", + "create.item_attributes.book_copy_first": "is a first-generation copy", + "create.item_attributes.book_copy_first.inverted": "is not a first-generation copy", + "create.item_attributes.book_copy_second": "is a second-generation copy", + "create.item_attributes.book_copy_second.inverted": "is not a second-generation copy", + "create.item_attributes.book_copy_tattered": "is a tattered mess", + "create.item_attributes.book_copy_tattered.inverted": "is not a tattered mess", + "create.item_attributes.astralsorcery_amulet": "improves %1$s", + "create.item_attributes.astralsorcery_amulet.inverted": "does not improve %1$s", + "create.item_attributes.astralsorcery_constellation": "is attuned to %1$s", + "create.item_attributes.astralsorcery_constellation.inverted": "is not attuned to %1$s", + "create.item_attributes.astralsorcery_crystal": "has crystal attribute %1$s", + "create.item_attributes.astralsorcery_crystal.inverted": "does not have crystal attribute %1$s", + "create.item_attributes.astralsorcery_perk_gem": "has perk attribute %1$s", + "create.item_attributes.astralsorcery_perk_gem.inverted": "does not have perk attribute %1$s", + "create.gui.attribute_filter.no_selected_attributes": "No attributes selected", + "create.gui.attribute_filter.selected_attributes": "Selected attributes:", + "create.gui.attribute_filter.add_attribute": "Add attribute to List", + "create.gui.attribute_filter.add_inverted_attribute": "Add opposite attribute to List", + "create.gui.attribute_filter.allow_list_disjunctive": "Allow-List (Any)", + "create.gui.attribute_filter.allow_list_disjunctive.description": "Items pass if they have any of the selected attributes.", + "create.gui.attribute_filter.allow_list_conjunctive": "Allow-List (All)", + "create.gui.attribute_filter.allow_list_conjunctive.description": "Items pass only if they have ALL of the selected attributes.", + "create.gui.attribute_filter.deny_list": "Deny-List", + "create.gui.attribute_filter.deny_list.description": "Items pass if they do NOT have any of the selected attributes.", + "create.gui.attribute_filter.add_reference_item": "Add Reference Item", + "create.tooltip.holdForDescription": "Hold [%1$s] for Summary", + "create.tooltip.holdForControls": "Hold [%1$s] for Controls", + "create.tooltip.keyShift": "Shift", + "create.tooltip.keyCtrl": "Ctrl", + "create.tooltip.speedRequirement": "Speed Requirement: %1$s", + "create.tooltip.speedRequirement.none": "None", + "create.tooltip.speedRequirement.slow": "Slow", + "create.tooltip.speedRequirement.medium": "Moderate", + "create.tooltip.speedRequirement.fast": "Fast", + "create.tooltip.stressImpact": "Kinetic Stress Impact: %1$s", + "create.tooltip.stressImpact.low": "Low", + "create.tooltip.stressImpact.medium": "Moderate", + "create.tooltip.stressImpact.high": "High", + "create.tooltip.stressImpact.overstressed": "Overstressed", + "create.tooltip.up_to": "Up to %1$s", + "create.tooltip.capacityProvided": "Kinetic Stress Capacity: %1$s", + "create.tooltip.capacityProvided.low": "Small", + "create.tooltip.capacityProvided.medium": "Medium", + "create.tooltip.capacityProvided.high": "Large", + "create.tooltip.generationSpeed": "Generates at %1$s %2$s", + "create.tooltip.analogStrength": "Analog Strength: %1$s/15", + "create.mechanical_arm.extract_from": "Take items from %1$s", + "create.mechanical_arm.deposit_to": "Deposit items to %1$s", + "create.mechanical_arm.summary": "Mechanical Arm has %1$s input(s) and %2$s output(s).", + "create.mechanical_arm.points_outside_range": "%1$s selected interaction point(s) removed due to range limitations.", + "create.weighted_ejector.target_set": "Target Selected", + "create.weighted_ejector.target_not_valid": "Ejecting to Adjacent block (Target was not Valid)", + "create.weighted_ejector.no_target": "Ejecting to Adjacent block (No Target was Selected)", + "create.weighted_ejector.targeting": "Ejecting to [%1$s,%2$s,%3$s]", + "create.weighted_ejector.stack_size": "Ejected Stack Size", + "create.logistics.when_multiple_outputs_available": "Distribution Method", + "create.mechanical_arm.selection_mode.round_robin": "Round Robin", + "create.mechanical_arm.selection_mode.forced_round_robin": "Forced Round Robin", + "create.mechanical_arm.selection_mode.prefer_first": "Prefer First Target", + "create.tunnel.selection_mode.split": "Split", + "create.tunnel.selection_mode.forced_split": "Forced Split", + "create.tunnel.selection_mode.round_robin": "Round Robin", + "create.tunnel.selection_mode.forced_round_robin": "Forced Round Robin", + "create.tunnel.selection_mode.prefer_nearest": "Prefer Nearest", + "create.tunnel.selection_mode.randomize": "Randomize", + "create.tunnel.selection_mode.synchronize": "Synchronize Inputs", + "create.tooltip.chute.header": "Chute Information", + "create.tooltip.chute.items_move_down": "Items move Downward", + "create.tooltip.chute.items_move_up": "Items move Upward", + "create.tooltip.chute.no_fans_attached": "No attached fans", + "create.tooltip.chute.fans_push_up": "Fans push from Below", + "create.tooltip.chute.fans_push_down": "Fans push from Above", + "create.tooltip.chute.fans_pull_up": "Fans pull from Above", + "create.tooltip.chute.fans_pull_down": "Fans pull from Below", + "create.tooltip.chute.contains": "Contains: %1$s x%2$s", + "create.tooltip.deployer.header": "Deployer Information", + "create.tooltip.deployer.using": "Mode: Use", + "create.tooltip.deployer.punching": "Mode: Attack", + "create.tooltip.deployer.contains": "Item: %1$s x%2$s", + "create.tooltip.brass_tunnel.contains": "Currently distributing:", + "create.tooltip.brass_tunnel.contains_entry": "> %1$s x%2$s", + "create.tooltip.brass_tunnel.retrieve": "Right-Click to retrieve", + "create.linked_controller.bind_mode": "Bind mode active", + "create.linked_controller.press_keybind": "Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key", + "create.linked_controller.key_bound": "Frequency bound to %1$s", + "create.linked_controller.frequency_slot_1": "Keybind: %1$s, Freq. #1", + "create.linked_controller.frequency_slot_2": "Keybind: %1$s, Freq. #2", + "create.crafting_blueprint.crafting_slot": "Ingredient Slot", + "create.crafting_blueprint.filter_items_viable": "Advanced filter items are viable", + "create.crafting_blueprint.display_slot": "Display Slot", + "create.crafting_blueprint.inferred": "Inferred from recipe", + "create.crafting_blueprint.manually_assigned": "Manually assigned", + "create.crafting_blueprint.secondary_display_slot": "Secondary Display Slot", + "create.crafting_blueprint.optional": "Optional", + "create.potato_cannon.ammo.attack_damage": "%1$s Attack Damage", + "create.potato_cannon.ammo.reload_ticks": "%1$s Reload Ticks", + "create.potato_cannon.ammo.knockback": "%1$s Knockback", + "create.hint.hose_pulley.title": "Bottomless Supply", + "create.hint.hose_pulley": "The targeted body of fluid is considered infinite.", + "create.hint.mechanical_arm_no_targets.title": "No Targets", + "create.hint.mechanical_arm_no_targets": "It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.", + "create.hint.empty_bearing.title": "Update Bearing", + "create.hint.empty_bearing": "_Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.", + "create.hint.full_deployer.title": "Deployer cannot activate", + "create.hint.full_deployer": "It appears this _Deployer_ contains _excess_ _items_ that need to be _extracted._ Use a _hopper,_ _funnel_ or other means to free it from its overflow.", + "create.backtank.low": "Backtank pressure low", + "create.backtank.depleted": "Backtank pressure depleted", + "create.hint.derailed_train.title": "Derailed Train", + "create.hint.derailed_train": "It appears this _Train_ is no longer sitting on a connected track piece. _Right-Click_ using a _wrench_ in order to relocate it to a nearby track.", + "create.boiler.status": "Boiler Status: %1$s", + "create.boiler.status_short": "Boiler: %1$s", + "create.boiler.passive": "Passive", + "create.boiler.idle": "Idle", + "create.boiler.lvl": "Lvl %1$s", + "create.boiler.max_lvl": "Max", + "create.boiler.size": "Size", + "create.boiler.size_dots": "....... ", + "create.boiler.water": "Water", + "create.boiler.water_dots": "... ", + "create.boiler.heat": "Heat", + "create.boiler.heat_dots": "...... ", + "create.boiler.via_one_engine": "via 1 engine", + "create.boiler.via_engines": "via %1$s engines", + "create.boiler.water_input_rate": "Water input rate", + "create.boiler.per_tick": "%1$s per Tick", + "create.elevator_contact.title": "Elevator Contact", + "create.elevator_contact.floor_identifier": "Floor Identifier", + "create.elevator_contact.floor_description": "Floor Description", + "create.gui.schedule.lmb_edit": "Left-Click to Edit", + "create.gui.schedule.rmb_remove": "Right-Click to Remove", + "create.gui.schedule.duplicate": "Duplicate", + "create.gui.schedule.remove_entry": "Remove Action", + "create.gui.schedule.add_entry": "Add Action", + "create.gui.schedule.move_up": "Move up", + "create.gui.schedule.move_down": "Move down", + "create.gui.schedule.add_condition": "Add Condition", + "create.gui.schedule.alternative_condition": "Alternative Condition", + "create.schedule.instruction_type": "Next Action:", + "create.schedule.instruction.editor": "Instruction Editor", + "create.schedule.instruction.destination": "Travel to Station", + "create.schedule.instruction.destination.summary": "Next Stop:", + "create.schedule.instruction.filter_edit_box": "Station Name", + "create.schedule.instruction.filter_edit_box_1": "Use * as a text wildcard", + "create.schedule.instruction.filter_edit_box_2": "Example: 'My Station, Platform *'", + "create.schedule.instruction.filter_edit_box_3": "Train picks nearest unoccupied match", + "create.schedule.instruction.rename": "Update Schedule Title", + "create.schedule.instruction.rename.summary": "New Title:", + "create.schedule.instruction.name_edit_box": "Schedule Title", + "create.schedule.instruction.name_edit_box_1": "Affects text shown on displays", + "create.schedule.instruction.name_edit_box_2": "Defaults to next destination's name", + "create.schedule.instruction.throttle": "Limit Max Speed", + "create.schedule.instruction.throttle.summary": "Change Max Speed to %1$s", + "create.schedule.instruction.throttle_edit_box": "Throttle", + "create.schedule.instruction.throttle_edit_box_1": "Affects the top speed of the Train", + "create.schedule.condition_type": "Continue if/after:", + "create.schedule.condition.editor": "Condition Editor", + "create.schedule.condition.delay": "Scheduled Delay", + "create.schedule.condition.delay_short": "Wait: %1$s", + "create.schedule.condition.delay.status": "Departs in %1$s", + "create.schedule.condition.idle": "Cargo Inactivity", + "create.schedule.condition.idle_short": "Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "Cargo Idle for %1$s", + "create.schedule.condition.for_x_time": "for %1$s", + "create.schedule.condition.unloaded": "Chunk Unloaded", + "create.schedule.condition.unloaded.status": "Waiting for chunk unload", + "create.schedule.condition.powered": "Station Powered", + "create.schedule.condition.powered.status": "Waiting for redstone", + "create.schedule.condition.time_of_day": "Time of Day", + "create.schedule.condition.time_of_day.scheduled": "Scheduled Time: %1$s", + "create.schedule.condition.time_of_day.digital_format": "%1$s:%3$s %4$s", + "create.schedule.condition.time_of_day.rotation": "Rotation", + "create.schedule.condition.time_of_day.rotation.every_24": "Every Day", + "create.schedule.condition.time_of_day.rotation.every_12": "Every 12:00", + "create.schedule.condition.time_of_day.rotation.every_6": "Every 6:00", + "create.schedule.condition.time_of_day.rotation.every_4": "Every 4:00", + "create.schedule.condition.time_of_day.rotation.every_3": "Every 3:00", + "create.schedule.condition.time_of_day.rotation.every_2": "Every 2:00", + "create.schedule.condition.time_of_day.rotation.every_1": "Every 1:00", + "create.schedule.condition.time_of_day.rotation.every_0_45": "Every 0:45", + "create.schedule.condition.time_of_day.rotation.every_0_30": "Every 0:30", + "create.schedule.condition.time_of_day.rotation.every_0_15": "Every 0:15", + "create.schedule.condition.time_of_day.status": "Departs at ", + "create.schedule.condition.threshold.train_holds": "Train holds %1$s", + "create.schedule.condition.threshold.greater": "more than", + "create.schedule.condition.threshold.less": "less than", + "create.schedule.condition.threshold.equal": "exactly", + "create.schedule.condition.threshold.x_units_of_item": "%1$s %2$s of %3$s", + "create.schedule.condition.threshold.matching_content": "Matching Content", + "create.schedule.condition.threshold.anything": "Anything", + "create.schedule.condition.threshold.item_measure": "Item Measure", + "create.schedule.condition.threshold.items": "Items", + "create.schedule.condition.threshold.stacks": "Stacks", + "create.schedule.condition.threshold.buckets": "Buckets", + "create.schedule.condition.threshold.status": "Cargo: %1$s/%2$s %3$s", + "create.schedule.condition.threshold.place_item": "Reference Item", + "create.schedule.condition.threshold.place_item_2": "Filters can be used", + "create.schedule.condition.threshold.place_item_3": "Leave empty to match any", + "create.schedule.condition.fluid_threshold": "Fluid Cargo Condition", + "create.schedule.condition.item_threshold": "Item Cargo Condition", + "create.schedule.condition.redstone_link": "Redstone Link", + "create.schedule.condition.redstone_link.status": "Waiting for redstone link", + "create.schedule.condition.redstone_link_on": "Link On", + "create.schedule.condition.redstone_link_off": "Link Off", + "create.schedule.condition.redstone_link.powered": "Powered", + "create.schedule.condition.redstone_link.unpowered": "Not powered", + "create.schedule.condition.redstone_link.frequency_state": "Frequency state:", + "create.schedule.condition.redstone_link.frequency_powered": "Frequency powered:", + "create.schedule.condition.redstone_link.frequency_unpowered": "Frequency not powered:", + "create.schedule.condition.player_count": "Players Seated", + "create.schedule.condition.player_count.summary": "%1$s Player", + "create.schedule.condition.player_count.summary_plural": "%1$s Players", + "create.schedule.condition.player_count.seated": "%1$s seated", + "create.schedule.condition.player_count.players": "Players", + "create.schedule.condition.player_count.condition": "Conditional", + "create.schedule.condition.player_count.exactly": "Exactly", + "create.schedule.condition.player_count.or_above": "Or above", + "create.schedule.condition.player_count.status": "Passengers: %1$s/%2$s", + "create.schedule.loop": "Loop Forever", + "create.schedule.loop1": "Schedule starts over", + "create.schedule.loop2": "when completed", + "create.schedule.reset": "Reset Progress", + "create.schedule.skip": "Skip current Stop", + "create.schedule.applied_to_train": "Train is now following this Schedule", + "create.schedule.non_controlling_seat": "Conductor needs to sit in front of a Controls block", + "create.schedule.remove_with_empty_hand": "Remove current Schedule with an Empty Hand", + "create.schedule.auto_removed_from_train": "Auto-Schedule discarded", + "create.schedule.removed_from_train": "Schedule retrieved from Train", + "create.schedule.no_stops": "This Schedule does not have any Stops yet", + "create.schedule.continued": "Schedule resumed", + "create.track.selection_cleared": "Selection Cleared", + "create.track.valid_connection": "Can Connect \u2714", + "create.track.second_point": "Place track or select a second point", + "create.track.too_far": "Too far away", + "create.track.original_missing": "Original block removed, Sneak-click to reset", + "create.track.perpendicular": "Cannot connect perpendicularly", + "create.track.ascending_s_curve": "Cannot create sloped S-Bends", + "create.track.too_sharp": "Turn too sharp", + "create.track.too_steep": "Slope too steep", + "create.track.slope_turn": "Cannot enter or leave slope on a turn", + "create.track.opposing_slopes": "Cannot connect opposing slopes", + "create.track.leave_slope_ascending": "Cannot leave this slope while ascending", + "create.track.leave_slope_descending": "Cannot leave this slope while descending", + "create.track.turn_90": "Can only turn up to 90 Degrees", + "create.track.junction_start": "Cannot start connection from a Junction", + "create.track.turn_start": "Cannot start connection from a Turn", + "create.track.not_enough_tracks": "Not holding enough tracks", + "create.track.not_enough_pavement": "Not holding enough pavement blocks", + "create.track.hold_for_smooth_curve": "Hold %1$s for maximized turn", + "create.portal_track.failed": "Cannot place portal track:", + "create.portal_track.missing": "Target portal not generated yet", + "create.portal_track.blocked": "Target location blocked (%1$s,%2$s,%3$s)", + "create.station.idle": "Station is Idle", + "create.station.assembly_title": "Train Assembly", + "create.station.close": "Close Window", + "create.station.cancel": "Cancel Assembly", + "create.station.failed": "Assembly Failed", + "create.station.icon_type": "Icon Type", + "create.station.create_train": "Create new Train", + "create.station.assemble_train": "Assemble Train", + "create.station.disassemble_train": "Disassemble Train", + "create.station.remove_schedule": "Retrieve Schedule", + "create.station.remove_auto_schedule": "Discard Auto-Schedule", + "create.station.no_assembly_diagonal": "Cannot build trains", + "create.station.no_assembly_diagonal_1": "on diagonal tracks", + "create.station.no_assembly_curve": "Cannot build trains", + "create.station.no_assembly_curve_1": "on curved tracks", + "create.station.train_not_aligned": "Cannot disassemble,", + "create.station.train_not_aligned_1": "not all carriages aligned", + "create.station.carriage_number": "Carriage %1$s:", + "create.station.retry": "Resolve this and retry", + "create.station.no_bogeys": "No Bogeys", + "create.station.one_bogey": "1 Bogey", + "create.station.more_bogeys": "%1$s Bogeys", + "create.station.how_to": "Use Train Casing on highlighted Tracks to create bogeys.", + "create.station.how_to_1": "Remove bogeys by breaking the block on top.", + "create.station.how_to_2": "Build carriages attached to one or two bogeys each.", + "create.train_assembly.too_many_bogeys": "Too many Bogeys attached: %1$s", + "create.train_assembly.frontmost_bogey_at_station": "Frontmost Bogey must be at Station Marker", + "create.train_assembly.no_bogeys": "No Bogeys Found", + "create.train_assembly.not_connected_in_order": "Bogeys are not connected in order", + "create.train_assembly.bogeys_too_close": "Bogeys %1$s and %2$s are too close to each other", + "create.train_assembly.single_bogey_carriage": "This Bogey type cannot support a carriage on its own", + "create.train_assembly.nothing_attached": "No structure attached to Bogey %1$s", + "create.train_assembly.no_controls": "Attach at least one forward-facing Train Controls block (Are you missing Super Glue?)", + "create.train_assembly.sideways_controls": "Train Controls cannot face sideways", + "create.train_assembly.bogey_created": "Bogey created. Click again to cycle type", + "create.train_assembly.requires_casing": "Use Railway Casing to create bogeys on tracks", + "create.track_target.set": "Targeted track selected", + "create.track_target.success": "Successfully bound to targeted track", + "create.track_target.clear": "Cleared track selection", + "create.track_target.missing": "Right-click the targeted train track first", + "create.track_target.too_far": "Targeted track is too far from here", + "create.track_target.no_junctions": "Targeted track cannot be an intersection", + "create.track_target.occupied": "Targeted track is occupied", + "create.track_target.invalid": "Cannot target this track here", + "create.train.unnamed": "Unnamed Train", + "create.train.cannot_relocate_moving": "Cannot relocate a moving Train", + "create.train.relocate": "Click a Track to Relocate %1$s to. Sneak-Click to abort", + "create.train.relocate.abort": "Relocation aborted", + "create.train.relocate.success": "Relocation successful", + "create.train.relocate.valid": "Can relocate to here, Click to Confirm", + "create.train.relocate.invalid": "Cannot relocate Train to here", + "create.train.relocate.too_far": "Cannot relocate Train this far away", + "create.train.departing_from": "Departing from %1$s", + "create.train.arrived_at": "Arrived at %1$s", + "create.train.status": " Information about Train: %1$s", + "create.train.status.back_on_track": "Train is back on Track", + "create.train.status.collision": "Collision with other Train", + "create.train.status.end_of_track": "A Carriage has reached the end of its Track", + "create.train.status.double_portal": "A Carriage cannot enter a portal whilst leaving another", + "create.train.status.coupling_stress": "Forced stop due to Stress on Couplings", + "create.train.status.track_missing": "Tracks are missing beneath the Train", + "create.train.status.paused_for_manual": "Schedule paused for manual controls", + "create.train.status.opposite_driver": "Path requires a driver facing the opposite direction", + "create.train.status.missing_driver": "Driver has gone missing", + "create.train.status.found_driver": "A new driver has been found", + "create.train.status.navigation_success": "Navigation succeeded", + "create.train.status.no_match": "No station on graph matches '%1$s'", + "create.train.status.no_path": "No suitable path to the next Scheduled destination could be found", + "create.track_signal.cannot_change_mode": "Unable to switch mode of this Signal", + "create.track_signal.mode_change.entry_signal": "-> Allow passage if section unoccupied", + "create.track_signal.mode_change.cross_signal": "-> Allow passage if section fully traversable", + "create.contraption.controls.start_controlling": "Now controlling: %1$s", + "create.contraption.controls.stop_controlling": "Stopped controlling contraption", + "create.contraption.controls.approach_station": "Hold %1$s to approach %2$s", + "create.contraption.controls.specific_actor_toggle": "%1$s Actors: %2$s", + "create.contraption.controls.all_actor_toggle": "All Actors: %1$s", + "create.contraption.controls.actor_toggle.on": "On", + "create.contraption.controls.actor_toggle.off": "Off", + "create.contraption.controls.floor_unreachable": "Unreachable", + "create.contraption.door_control": "Onboard Door Control", + "create.contraption.door_control.all": "Open All Doors", + "create.contraption.door_control.all.short": "Open All", + "create.contraption.door_control.north": "North Side Only", + "create.contraption.door_control.north.short": "North", + "create.contraption.door_control.east": "East Side Only", + "create.contraption.door_control.east.short": "East", + "create.contraption.door_control.south": "South Side Only", + "create.contraption.door_control.south.short": "South", + "create.contraption.door_control.west": "West Side Only", + "create.contraption.door_control.west.short": "West", + "create.contraption.door_control.none": "Keep Doors Closed", + "create.contraption.door_control.none.short": "None", + "create.contraption.door_control.player_facing": "You are facing: %1$s", + "create.display_link.set": "Targeted position selected", + "create.display_link.success": "Successfully bound to targeted position", + "create.display_link.clear": "Cleared position selection", + "create.display_link.too_far": "Targeted position is too far from here", + "create.display_link.invalid": "Link has no valid target, try placing it again", + "create.display_link.title": "Display Link", + "create.display_link.no_source": "Not a Display Source", + "create.display_link.no_target": "Not a Display Target", + "create.display_link.reading_from": "Read from:", + "create.display_link.writing_to": "Send to:", + "create.display_link.attached_side": "Block on attached side", + "create.display_link.targeted_location": "Block in targeted location", + "create.display_link.view_compatible": "Click to view all Compatible", + "create.display_link.information_type": "Type of Information", + "create.display_link.display_on": "Write data to:", + "create.display_link.display_on_multiline": "Start writing at:", + "create.display_source.label": "Attached Label", + "create.display_source.combine_item_names": "Combine Item Names", + "create.display_source.count_items": "Amount of matching Items", + "create.display_source.list_items": "List matching Items", + "create.display_source.fluid_amount": "Amount of matching Fluids", + "create.display_source.list_fluids": "List matching Fluids", + "create.display_source.nixie_tube": "Copy Nixie Tubes", + "create.display_source.fill_level": "Container Fill Level", + "create.display_source.fill_level.display": "Display Format", + "create.display_source.fill_level.percent": "Percent", + "create.display_source.fill_level.progress_bar": "Progress Bar", + "create.display_source.value_list.display": "Value Display", + "create.display_source.value_list.shortened": "Shortened", + "create.display_source.value_list.full_number": "Full Number", + "create.display_source.value_list.thousand": "k", + "create.display_source.value_list.million": "m", + "create.display_source.player_deaths": "Player Deaths", + "create.display_source.scoreboard": "Scoreboard", + "create.display_source.scoreboard.objective": "Objective ID", + "create.display_source.scoreboard.objective_not_found": "'%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "Player Deaths", + "create.display_source.time_of_day": "Time of Day", + "create.display_source.stop_watch": "Stopwatch", + "create.display_source.time.format": "Time Format", + "create.display_source.time.12_hour": "12-hour", + "create.display_source.time.24_hour": "24-hour", + "create.display_source.accumulate_items": "Accumulate Item Count", + "create.display_source.item_throughput": "Item Throughput", + "create.display_source.item_throughput.interval": "Interval", + "create.display_source.item_throughput.interval.second": "per Second", + "create.display_source.item_throughput.interval.minute": "per Minute", + "create.display_source.item_throughput.interval.hour": "per Hour", + "create.display_source.train_status": "Train Schedule Status", + "create.display_source.station_summary": "Train Station Summary", + "create.display_source.station_summary.filter": "Station name filter", + "create.display_source.station_summary.train_name_column": "Train column size", + "create.display_source.station_summary.platform_column": "Platform column size", + "create.display_source.station_summary.now": "now", + "create.display_source.station_summary.minutes": " min", + "create.display_source.station_summary.seconds": "%1$ss", + "create.display_source.observed_train_name": "Detected Train Name", + "create.display_source.max_enchant_level": "Max Enchanting Cost", + "create.display_source.boiler_status": "Boiler Status", + "create.display_source.entity_name": "Entity Name", + "create.display_source.current_floor": "Elevator Location", + "create.display_source.kinetic_speed": "Rotation Speed (RPM)", + "create.display_source.kinetic_speed.absolute": "Ignore Direction", + "create.display_source.kinetic_speed.directional": "Include Direction", + "create.display_source.kinetic_stress": "Network Stress", + "create.display_source.kinetic_stress.display": "Displayed Info", + "create.display_source.kinetic_stress.progress_bar": "Progress Bar", + "create.display_source.kinetic_stress.percent": "Percentage", + "create.display_source.kinetic_stress.current": "Stress in SU", + "create.display_source.kinetic_stress.max": "Total Capacity", + "create.display_source.kinetic_stress.remaining": "Remaining SU", + "create.display_source.redstone_power": "Redstone Power", + "create.display_source.redstone_power.display": "Display Format", + "create.display_source.redstone_power.number": "Number", + "create.display_source.redstone_power.progress_bar": "Progress Bar", + "create.display_source.boiler.not_enough_space": "Not enough space ", + "create.display_source.boiler.for_boiler_status": "for Boiler Status", + "create.display_source.computer_display_source": "From Computer", + "create.display_target.line": "Line %1$s", + "create.display_target.page": "Page %1$s", + "create.display_target.single_line": "Single Line", + "create.flap_display.cycles.alphabet": " ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", + "create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9", + "create.flap_display.cycles.arrival_time": " ; min;now;15s;30s;45s", + "create.flap_display.cycles.shortened_numbers": " ;K;M", + "create.flap_display.cycles.fluid_units": "mB;B ", + "create.flap_display.cycles.instant": " ; ", + "create.flap_display.cycles.pixel": "\u2588;\u2593;\u2592", + "create.super_glue.too_far": "Selected area is too big", + "create.super_glue.cannot_reach": "Selected blocks must be connected", + "create.super_glue.click_to_confirm": "Click again to confirm", + "create.super_glue.click_to_discard": "Sneak-click to discard selection", + "create.super_glue.first_pos": "First position selected", + "create.super_glue.abort": "Selection discarded", + "create.super_glue.not_enough": "Not enough glue in inventory", + "create.super_glue.success": "Applying Glue...", + "create.gui.attached_computer.controlled": "This device is being controlled by a computer", + "create.gui.attached_computer.hint": "To use device manually, disconnect all computers and modems", + "create.gui.config.overlay1": "Hi :)", + "create.gui.config.overlay2": "This is a sample overlay", + "create.gui.config.overlay3": "Click or drag with your mouse", + "create.gui.config.overlay4": "to move this preview", + "create.gui.config.overlay5": "Press ESC to exit this screen", + "create.gui.config.overlay6": "and save the new position", + "create.gui.config.overlay7": "Run /create overlay reset", + "create.gui.config.overlay8": "to reset to the default position", + "create.command.killTPSCommand": "killtps", + "create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms :o", + "create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now >:)", + "create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed :D", + "create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed", + "create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start to artificially slow down the server tick", + "create.command.killTPSCommand.argument.tickTime": "tickTime", + "create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "A mystical force is binding this Cart Contraption to the world", + "enchantment.create.capacity.desc": "Increases Backtank air capacity.", + "enchantment.create.potato_recovery.desc": "Potato Cannon projectiles have a chance to be reused.", + "create.bogey.style.updated_style": "Updated style", + "create.bogey.style.updated_style_and_size": "Updated style and size", + "create.bogey.style.no_other_sizes": "No other sizes", + "create.bogey.style.invalid": "Unnamed style", + "create.bogey.style.standard": "Standard", + "create.subtitle.contraption_disassemble": "Contraption stops", + "create.subtitle.peculiar_bell_use": "Peculiar Bell tolls", + "create.subtitle.worldshaper_place": "Worldshaper zaps", + "create.subtitle.whistle_train_manual": "Train honks", + "create.subtitle.steam": "Steam noises", + "create.subtitle.saw_activate_stone": "Mechanical Saw activates", + "create.subtitle.schematicannon_finish": "Schematicannon dings", + "create.subtitle.crafter_craft": "Crafter crafts", + "create.subtitle.wrench_remove": "Component breaks", + "create.subtitle.train3": "Bogey wheels rumble muffled", + "create.subtitle.whistle": "Whistling", + "create.subtitle.cogs": "Cogwheels rumble", + "create.subtitle.slime_added": "Slime squishes", + "create.subtitle.whistle_train_low": "Low whistling", + "create.subtitle.schematicannon_launch_block": "Schematicannon fires", + "create.subtitle.controller_take": "Lectern empties", + "create.subtitle.crafter_click": "Crafter clicks", + "create.subtitle.depot_plop": "Item lands", + "create.subtitle.confirm": "Affirmative ding", + "create.subtitle.mixing": "Mixing noises", + "create.subtitle.mechanical_press_activation_belt": "Mechanical Press bonks", + "create.subtitle.fwoomp": "Potato Launcher fwoomps", + "create.subtitle.sanding_long": "Sanding noises", + "create.subtitle.crushing_1": "Crushing noises", + "create.subtitle.depot_slide": "Item slides", + "create.subtitle.blaze_munch": "Blaze Burner munches", + "create.subtitle.funnel_flap": "Funnel flaps", + "create.subtitle.haunted_bell_use": "Haunted Bell tolls", + "create.subtitle.scroll_value": "Scroll-input clicks", + "create.subtitle.controller_put": "Controller thumps", + "create.subtitle.cranking": "Hand Crank turns", + "create.subtitle.sanding_short": "Sanding noises", + "create.subtitle.wrench_rotate": "Wrench used", + "create.subtitle.potato_hit": "Vegetable impacts", + "create.subtitle.saw_activate_wood": "Mechanical Saw activates", + "create.subtitle.whistle_high": "High whistling", + "create.subtitle.whistle_train_manual_low": "Train honks", + "create.subtitle.whistle_train": "Whistling", + "create.subtitle.haunted_bell_convert": "Haunted Bell awakens", + "create.subtitle.train": "Bogey wheels rumble", + "create.subtitle.deny": "Declining boop", + "create.subtitle.controller_click": "Controller clicks", + "create.subtitle.whistle_low": "Low whistling", + "create.subtitle.copper_armor_equip": "Diving equipment clinks", + "create.subtitle.mechanical_press_activation": "Mechanical Press clangs", + "create.subtitle.contraption_assemble": "Contraption moves", + "item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)", + "item.create.example_item.tooltip.summary": "A brief description of the item. _Underscores_ highlight a term.", + "item.create.example_item.tooltip.condition1": "When this", + "item.create.example_item.tooltip.behaviour1": "Then this item does this. (behaviours show on shift)", + "item.create.example_item.tooltip.condition2": "And When this", + "item.create.example_item.tooltip.behaviour2": "You can add as many behaviours as you like", + "item.create.example_item.tooltip.control1": "When Ctrl pressed", + "item.create.example_item.tooltip.action1": "These controls are displayed.", + "block.create.wooden_bracket.tooltip": "WOODEN BRACKET", + "block.create.wooden_bracket.tooltip.summary": "_Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with a cozy and wooden bit of reinforcement.", + "block.create.metal_bracket.tooltip": "METAL BRACKET", + "block.create.metal_bracket.tooltip.summary": "_Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with an industrial and sturdy bit of reinforcement.", + "block.create.seat.tooltip": "SEAT", + "block.create.seat.tooltip.summary": "Sit yourself down and enjoy the ride! Will anchor a player onto a moving _contraption_. Great for static furniture too! Comes in a variety of colours.", + "block.create.seat.tooltip.condition1": "Right click on Seat", + "block.create.seat.tooltip.behaviour1": "Sits the player on the _Seat_. Press L-shift to leave the _Seat_.", + "item.create.blaze_cake.tooltip": "BLAZE CAKE", + "item.create.blaze_cake.tooltip.summary": "A Delicious treat for your hard-working _Blaze Burners_. Gets them all fired up!", + "item.create.wand_of_symmetry.tooltip": "SYMMETRY WAND", + "item.create.wand_of_symmetry.tooltip.summary": "_Mirrors Block placement_ while present in any _Hotbar Slot_.", + "item.create.wand_of_symmetry.tooltip.condition1": "When used on a Surface", + "item.create.wand_of_symmetry.tooltip.behaviour1": "_Creates_ or _Moves_ its Mirror. _Sneak_ while using to open the _Configuration Interface_", + "item.create.wand_of_symmetry.tooltip.condition2": "When used with no target", + "item.create.wand_of_symmetry.tooltip.behaviour2": "_Removes_ the active Mirror", + "item.create.handheld_worldshaper.tooltip": "HANDHELD WORLDSHAPER", + "item.create.handheld_worldshaper.tooltip.summary": "_Creative mode_ tool for large-scale _landscaping_ from a distance.", + "item.create.handheld_worldshaper.tooltip.condition1": "L-Click at Block", + "item.create.handheld_worldshaper.tooltip.behaviour1": "_Targeted block_ will become the _material_ placed by the shaper.", + "item.create.handheld_worldshaper.tooltip.condition2": "R-Click at Block", + "item.create.handheld_worldshaper.tooltip.behaviour2": "Applies currently selected _Brush_ and _Tool_ at the targeted location.", + "item.create.handheld_worldshaper.tooltip.condition3": "R-Click while Sneaking", + "item.create.handheld_worldshaper.tooltip.behaviour3": "Opens the _Configuration Interface_", + "item.create.tree_fertilizer.tooltip": "TREE FERTILIZER", + "item.create.tree_fertilizer.tooltip.summary": "A powerful combination of minerals useful for _growing saplings_ in tight spaces.", + "item.create.tree_fertilizer.tooltip.condition1": "When used on a Sapling", + "item.create.tree_fertilizer.tooltip.behaviour1": "Creates a tree _regardless_ of its _spacing conditions_", + "item.create.extendo_grip.tooltip": "EXTENDO GRIP", + "item.create.extendo_grip.tooltip.summary": "Greatly _increases reach distance_ of the wielder. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.create.extendo_grip.tooltip.condition1": "When in Off-Hand", + "item.create.extendo_grip.tooltip.behaviour1": "Increases _reach distance_ of items used in the _Main-Hand_.", + "item.create.extendo_grip.tooltip.condition2": "While wearing Backtank", + "item.create.extendo_grip.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + "item.create.potato_cannon.tooltip": "POTATO CANNON", + "item.create.potato_cannon.tooltip.summary": "Launches your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.create.potato_cannon.tooltip.condition1": "When R-Clicked", + "item.create.potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", + "item.create.potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.create.potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + "item.create.filter.tooltip": "LIST FILTER", + "item.create.filter.tooltip.summary": "_Matches items_ against a collection of _items_ or _other filters_. Can be used in _Filter Slots_ of Create's Components", + "item.create.filter.tooltip.condition1": "When R-Clicked", + "item.create.filter.tooltip.behaviour1": "Opens the _configuration interface_.", + "item.create.attribute_filter.tooltip": "ATTRIBUTE FILTER", + "item.create.attribute_filter.tooltip.summary": "_Matches items_ against a set of _attributes_ or _categories_. Can be used in _Filter Slots_ of Create's Components", + "item.create.attribute_filter.tooltip.condition1": "When R-Clicked", + "item.create.attribute_filter.tooltip.behaviour1": "Opens the _configuration interface_.", + "item.create.empty_schematic.tooltip": "EMPTY SCHEMATIC", + "item.create.empty_schematic.tooltip.summary": "Used as a recipe ingredient and for writing at the _Schematic Table_.", + "item.create.schematic.tooltip": "SCHEMATIC", + "item.create.schematic.tooltip.summary": "Holds a structure to be positioned and placed into the world. Position the Hologram as desired and use a _Schematicannon_ to build it.", + "item.create.schematic.tooltip.condition1": "When Held", + "item.create.schematic.tooltip.behaviour1": "Can be positioned using the Tools on Screen.", + "item.create.schematic.tooltip.condition2": "R-Click while Sneaking", + "item.create.schematic.tooltip.behaviour2": "Opens an _Interface_ for entering exact _Coordinates_.", + "item.create.schematic_and_quill.tooltip": "SCHEMATIC AND QUILL", + "item.create.schematic_and_quill.tooltip.summary": "Used for _saving a Structure_ in your world to a _.nbt file_.", + "item.create.schematic_and_quill.tooltip.condition1": "Creating a selection", + "item.create.schematic_and_quill.tooltip.behaviour1": "Select two _corner points_ using _R-Click_. Hold _Ctrl_ and Scroll to select locations mid-air.", + "item.create.schematic_and_quill.tooltip.condition2": "Adjusting and Saving", + "item.create.schematic_and_quill.tooltip.behaviour2": "_Ctrl-Scroll_ on the faces to adjust the size, then R-Click again to Save.", + "block.create.schematicannon.tooltip": "SCHEMATICANNON", + "block.create.schematicannon.tooltip.summary": "Shoots blocks to recreate a deployed _Schematic_ in the World. Uses items from adjacent Inventories and _Gunpowder_ as fuel.", + "block.create.schematicannon.tooltip.condition1": "When R-Clicked", + "block.create.schematicannon.tooltip.behaviour1": "Opens the _Interface_", + "block.create.schematic_table.tooltip": "SCHEMATIC TABLE", + "block.create.schematic_table.tooltip.summary": "Writes saved Schematics onto an _Empty Schematic_.", + "block.create.schematic_table.tooltip.condition1": "When given an Empty Schematic", + "block.create.schematic_table.tooltip.behaviour1": "Uploads a chosen File from your Schematics Folder.", + "item.create.goggles.tooltip": "GOGGLES", + "item.create.goggles.tooltip.summary": "Augments your HUD with _miscellaneous information_ about placed components.", + "item.create.goggles.tooltip.condition1": "When looking at blocks", + "item.create.goggles.tooltip.behaviour1": "_Kinetic components_ show added _Stress Impact_ or _Capacity_. _Stressometers_ show statistics of their _attached kinetic network_. Some other blocks reveal information such as item and fluid content.", + "item.create.wrench.tooltip": "WRENCH", + "item.create.wrench.tooltip.summary": "Multi-purpose tool for working with your kinetic contraptions.", + "item.create.wrench.tooltip.condition1": "When used on Blocks", + "item.create.wrench.tooltip.behaviour1": "_Rotates components_ around the clicked face. _Sneak_ while interacting to _dismantle_ components.", + "item.create.wrench.tooltip.condition2": "When used on Contraptions", + "item.create.wrench.tooltip.behaviour2": "_Relocates_ assembled minecart- and train-based contraptions.", + "block.create.nozzle.tooltip": "NOZZLE", + "block.create.nozzle.tooltip.summary": "Attach to the front of an _Encased Fan_ to distribute its effect on Entities in _all directions_.", + "block.create.cuckoo_clock.tooltip": "CUCKOO CLOCK", + "block.create.cuckoo_clock.tooltip.summary": "Fine craftsmanship for _decorating_ a space and _keeping track of time_.", + "block.create.cuckoo_clock.tooltip.condition1": "When Powered by Kinetics", + "block.create.cuckoo_clock.tooltip.behaviour1": "Shows the _current time_ and plays a tune twice a day. _Activates_ once at _noon_ and at dusk, as soon as _players can sleep_.", + "block.create.turntable.tooltip": "TURNTABLE", + "block.create.turntable.tooltip.summary": "Uses _Rotational Force_ to create Motion Sickness.", + "block.create.toolbox.tooltip": "TOOLBOX", + "block.create.toolbox.tooltip.summary": "Every Inventors' dearest Companion. Conveniently _holds_ a large amount of _8 Different_ item types.", + "block.create.toolbox.tooltip.condition1": "When Picked Up", + "block.create.toolbox.tooltip.behaviour1": "_Retains_ Inventory _Contents_.", + "block.create.toolbox.tooltip.condition2": "When placed in Range", + "block.create.toolbox.tooltip.behaviour2": "_Nearby_ _Players_ can hold the _Toolbox_ _Keybind_ to access its contents _Remotely_.", + "block.create.toolbox.tooltip.condition3": "When R-Clicked", + "block.create.toolbox.tooltip.behaviour3": "Opens the _Container Interface_.", + "block.create.creative_crate.tooltip": "CREATIVE CRATE", + "block.create.creative_crate.tooltip.summary": "This _Storage Container_ allows infinite replication of items.", + "block.create.creative_crate.tooltip.condition1": "When Item in Filter Slot", + "block.create.creative_crate.tooltip.behaviour1": "Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._", + "block.create.creative_crate.tooltip.condition2": "When next to Schematicannon", + "block.create.creative_crate.tooltip.behaviour2": "Provides any material required by the Schematic.", + "item.create.creative_blaze_cake.tooltip": "CREATIVE BLAZE CAKE", + "item.create.creative_blaze_cake.tooltip.summary": "A very special treat for your _Blaze Burners_. After eating this cake, Blaze Burners will _never run out of fuel_.", + "item.create.creative_blaze_cake.tooltip.condition1": "When Used", + "item.create.creative_blaze_cake.tooltip.behaviour1": "_Cycles_ a Blaze Burner's heat level.", + "block.create.controller_rail.tooltip": "CONTROLLER RAIL", + "block.create.controller_rail.tooltip.summary": "A _uni-directional_ powered rail with _variable speed_, controlled by the _signal strength_ supplied to it.", + "item.create.sand_paper.tooltip": "SAND PAPER", + "item.create.sand_paper.tooltip.summary": "Can be used to _refine materials_. The process can be automated with a Deployer.", + "item.create.sand_paper.tooltip.condition1": "When Used", + "item.create.sand_paper.tooltip.behaviour1": "Applies polish to items held in the _offhand_ or lying on the _floor_ when _looking at them_", + "item.create.builders_tea.tooltip": "BUILDERS TEA", + "item.create.builders_tea.tooltip.summary": "The perfect drink to get the day started- _Motivating_ and _Saturating._", + "item.create.linked_controller.tooltip": "LINKED CONTROLLER", + "item.create.linked_controller.tooltip.summary": "Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.", + "item.create.linked_controller.tooltip.condition1": "R-Click", + "item.create.linked_controller.tooltip.behaviour1": "_Toggles_ the controller. _Movement_ _controls_ are taken over while its active.", + "item.create.linked_controller.tooltip.condition2": "R-Click while Sneaking", + "item.create.linked_controller.tooltip.behaviour2": "Opens the manual _Configuration Interface_.", + "item.create.linked_controller.tooltip.condition3": "R-Click on Redstone Link Receiver", + "item.create.linked_controller.tooltip.behaviour3": "Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.", + "item.create.linked_controller.tooltip.condition4": "R-Click on Lectern", + "item.create.linked_controller.tooltip.behaviour4": "Places the Controller into the Lectern for easy activation. (R-Click while Sneaking to retrieve it)", + "item.create.copper_diving_helmet.tooltip": "COPPER DIVING HELMET", + "item.create.copper_diving_helmet.tooltip.summary": "Together with a _Backtank_, allows the wielder to _breathe_ _underwater_ for an extended amount of time.", + "item.create.copper_diving_helmet.tooltip.condition1": "When Worn", + "item.create.copper_diving_helmet.tooltip.behaviour1": "Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.", + "item.create.netherite_diving_helmet.tooltip": "NETHERITE DIVING HELMET", + "item.create.netherite_diving_helmet.tooltip.summary": "Together with a _Netherite Backtank_, this can protect you from _extreme heat_. To be effective, _Legs and Feet_ have to be covered in _Netherite_, too.", + "item.create.netherite_diving_helmet.tooltip.condition1": "When Worn (Full set)", + "item.create.netherite_diving_helmet.tooltip.behaviour1": "Provides immunity to _Fire_ and _Lava_, slowly draining _Air Pressure_ from the Backtank. Also grants _improved vision_ in Lava", + "item.create.copper_backtank.tooltip": "COPPER BACKTANK", + "item.create.copper_backtank.tooltip.summary": "A _Wearable_ _Tank_ for carrying Pressurized Air.", + "item.create.copper_backtank.tooltip.condition1": "When Worn", + "item.create.copper_backtank.tooltip.behaviour1": "Provides _Pressurized_ _Air_ to Equipment that requires it.", + "item.create.copper_backtank.tooltip.condition2": "When placed, Powered by Kinetics", + "item.create.copper_backtank.tooltip.behaviour2": "_Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.", + "item.create.netherite_backtank.tooltip": "NETHERITE BACKTANK", + "item.create.netherite_backtank.tooltip.summary": "A _Wearable_ _Tank_ for carrying Pressurized Air.", + "item.create.netherite_backtank.tooltip.condition1": "When Worn", + "item.create.netherite_backtank.tooltip.behaviour1": "Provides _Pressurized_ _Air_ to Equipment that requires it.", + "item.create.netherite_backtank.tooltip.condition2": "When placed, Powered by Kinetics", + "item.create.netherite_backtank.tooltip.behaviour2": "_Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.", + "block.create.placard.tooltip": "PLACARD", + "block.create.placard.tooltip.summary": "_Frame_ your _items_ in brass using this fancy wall panel. Safe for contraptions!", + "block.create.placard.tooltip.condition1": "When R-Clicked with Item", + "block.create.placard.tooltip.behaviour1": "_Adds_ the held _item_ to the Placard. _Emits_ a brief _Redstone_ signal if a matching item was present already.", + "block.create.placard.tooltip.condition2": "When Punched", + "block.create.placard.tooltip.behaviour2": "_Removes_ the current _item_ in the frame.", + "block.create.flywheel.tooltip": "FLYWHEEL", + "block.create.flywheel.tooltip.summary": "_Embellish_ your _Machines_ with this imposing Wheel of Brass.", + "block.create.flywheel.tooltip.condition1": "When Powered by Kinetics", + "block.create.flywheel.tooltip.behaviour1": "Starts spinning.", + "item.create.copper_diving_boots.tooltip": "COPPER DIVING BOOTS", + "item.create.copper_diving_boots.tooltip.summary": "A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.", + "item.create.copper_diving_boots.tooltip.condition1": "When Worn", + "item.create.copper_diving_boots.tooltip.behaviour1": "Wielder _descends_ more _quickly_ in liquids. Grants the ability to _walk_ and _jump_ underwater. Wielder also is no longer affected by _Mechanical_ _Belts_.", + "item.create.netherite_diving_boots.tooltip": "NETHERITE DIVING BOOTS", + "item.create.netherite_diving_boots.tooltip.summary": "A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor, including Oceans made of Lava.", + "item.create.netherite_diving_boots.tooltip.condition1": "When Worn", + "item.create.netherite_diving_boots.tooltip.behaviour1": "Wielder _descends_ more _quickly_ in liquids. Grants the ability to _walk_ and _jump_ underwater. Wielder also is no longer affected by _Mechanical_ _Belts_.", + "item.create.crafting_blueprint.tooltip": "CRAFTING BLUEPRINT", + "item.create.crafting_blueprint.tooltip.summary": "_Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.", + "item.create.crafting_blueprint.condition1": "R-Click empty Slot", + "item.create.crafting_blueprint.behaviour1": "Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.", + "item.create.crafting_blueprint.condition2": "R-Click configured Slot", + "item.create.crafting_blueprint.behaviour2": "_Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.", + "item.create.minecart_coupling.tooltip": "MINECART COUPLING", + "item.create.minecart_coupling.tooltip.summary": "_Chains_ together individual _Minecarts_, causing them to move as a group.", + "item.create.experience_nugget.tooltip": "NUGGET OF EXPERIENCE", + "item.create.experience_nugget.tooltip.summary": "A speck of _inspiration_ from your fantastic inventions.", + "item.create.experience_nugget.tooltip.condition1": "When Used", + "item.create.experience_nugget.tooltip.behaviour1": "_Redeems_ _Experience_ points contained within.", + "block.create.peculiar_bell.tooltip": "PECULIAR BELL", + "block.create.peculiar_bell.tooltip.summary": "A decorative _Brass Bell_. Placing it right above open _Soul Fire_ may have side-effects...", + "block.create.haunted_bell.tooltip": "HAUNTED BELL", + "block.create.haunted_bell.tooltip.summary": "A _Cursed Bell_ haunted by lost souls of the Nether.", + "block.create.haunted_bell.tooltip.condition1": "When Held or Rang", + "block.create.haunted_bell.tooltip.behaviour1": "Highlights nearby _Lightless Spots_ on which _Hostile Mobs_ can spawn.", + "block.create.copycat_panel.tooltip": "COPYCAT PANEL", + "block.create.copycat_panel.tooltip.summary": "_Converts_ any _full block_ into a decorative panel. Also accepts _Bars_ and _Trapdoors_.", + "block.create.copycat_panel.tooltip.condition1": "When R-Clicked", + "block.create.copycat_panel.tooltip.behaviour1": "Applies _held item_ as its _material_ if possible. _Click again_ to cycle _orientation_ or _powered_ state. Use a _Wrench_ to _reset_ the material.", + "block.create.copycat_step.tooltip": "COPYCAT STEP", + "block.create.copycat_step.tooltip.summary": "_Converts_ any _full block_ into a decorative step.", + "block.create.copycat_step.tooltip.condition1": "When R-Clicked", + "block.create.copycat_step.tooltip.behaviour1": "Applies _held item_ as its _material_ if possible. _Click again_ to cycle _orientation_ or _powered_ state. Use a _Wrench_ to _reset_ the material.", + "block.create.clipboard.tooltip": "CLIPBOARD", + "block.create.clipboard.tooltip.summary": "_Keeps your notes_ and makes you look more professional.", + "block.create.clipboard.tooltip.condition1": "When R-Clicked", + "block.create.clipboard.tooltip.behaviour1": "Opens the _Interface_. _Sneak-Click_ to _place_ it on a surface.", + "block.create.clipboard.tooltip.condition2": "When Used on Blocks", + "block.create.clipboard.tooltip.behaviour2": "Some blocks' _settings_, such as filters, can be _copied (R-Click)_ and _applied (L-Click)_ elsewhere.", + "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.associated": "Associated Entries", + "create.ponder.close": "Close", + "create.ponder.identify": "Identify", + "create.ponder.next": "Next Scene", + "create.ponder.next_up": "Up Next:", + "create.ponder.previous": "Previous Scene", + "create.ponder.replay": "Replay", + "create.ponder.think_back": "Think Back", + "create.ponder.slow_text": "Comfy Reading", + "create.ponder.exit": "Exit", + "create.ponder.welcome": "Welcome to Ponder", + "create.ponder.categories": "Available Categories in Create", + "create.ponder.index_description": "Click one of the icons to learn about its associated Items and Blocks", + "create.ponder.index_title": "Ponder Index", + "create.ponder.shared.rpm16": "16 RPM", + "create.ponder.shared.storage_on_contraption": "Inventories attached to the Contraption will pick up their drops automatically", + "create.ponder.shared.sneak_and": "Sneak +", + "create.ponder.shared.rpm8": "8 RPM", + "create.ponder.shared.ctrl_and": "Ctrl +", + "create.ponder.shared.rpm32": "32 RPM", + "create.ponder.shared.behaviour_modify_value_panel": "This behaviour can be modified using the value panel", + "create.ponder.shared.rpm16_source": "Source: 16 RPM", + "create.ponder.shared.movement_anchors": "With the help of Super Glue, larger structures can be moved", + "create.ponder.tag.redstone": "Logic Components", + "create.ponder.tag.redstone.description": "Components which help with redstone engineering", + "create.ponder.tag.contraption_assembly": "Block Attachment Utility", + "create.ponder.tag.contraption_assembly.description": "Tools and Components used to assemble structures moved as an animated Contraption", + "create.ponder.tag.recently_updated": "Recent Changes", + "create.ponder.tag.recently_updated.description": "Components that have been added or changed significantly in the latest versions of Create", + "create.ponder.tag.fluids": "Fluid Manipulators", + "create.ponder.tag.fluids.description": "Components which help relaying and making use of Fluids", + "create.ponder.tag.decoration": "Aesthetics", + "create.ponder.tag.decoration.description": "Components used mostly for decorative purposes", + "create.ponder.tag.windmill_sails": "Sails for Windmill Bearings", + "create.ponder.tag.windmill_sails.description": "Blocks that count towards the strength of a Windmill Contraption when assembled. Each of these have equal efficiency in doing so.", + "create.ponder.tag.arm_targets": "Targets for Mechanical Arms", + "create.ponder.tag.arm_targets.description": "Components which can be selected as inputs or outputs to the Mechanical Arm", + "create.ponder.tag.kinetic_appliances": "Kinetic Appliances", + "create.ponder.tag.kinetic_appliances.description": "Components which make use of Rotational Force", + "create.ponder.tag.kinetic_sources": "Kinetic Sources", + "create.ponder.tag.kinetic_sources.description": "Components which generate Rotational Force", + "create.ponder.tag.movement_anchor": "Movement Anchors", + "create.ponder.tag.movement_anchor.description": "Components which allow the creation of moving contraptions, animating an attached structure in a variety of ways", + "create.ponder.tag.kinetic_relays": "Kinetic Blocks", + "create.ponder.tag.kinetic_relays.description": "Components which help relaying Rotational Force elsewhere", + "create.ponder.tag.contraption_actor": "Contraption Actors", + "create.ponder.tag.contraption_actor.description": "Components which expose special behaviour when attached to a moving contraption", + "create.ponder.tag.creative": "Creative Mode", + "create.ponder.tag.creative.description": "Components not usually available for Survival Mode", + "create.ponder.tag.display_sources": "Sources for Display Links", + "create.ponder.tag.display_sources.description": "Components or Blocks which offer some data that can be read with a Display Link", + "create.ponder.tag.logistics": "Item Transportation", + "create.ponder.tag.logistics.description": "Components which help moving items around", + "create.ponder.tag.display_targets": "Targets for Display Links", + "create.ponder.tag.display_targets.description": "Components or Blocks which can process and display the data received from a Display Link", + "create.ponder.tag.train_related": "Railway Equipment", + "create.ponder.tag.train_related.description": "Components used in the construction or management of Train Contraptions", + "create.ponder.analog_lever.header": "Controlling signals using the Analog Lever", + "create.ponder.analog_lever.text_1": "Analog Levers make for a compact and precise source of redstone power", + "create.ponder.analog_lever.text_2": "Right-click to increase its analog power output", + "create.ponder.analog_lever.text_3": "Right-click while Sneaking to decrease the power output again", + "create.ponder.andesite_tunnel.header": "Using Andesite Tunnels", + "create.ponder.andesite_tunnel.text_1": "Andesite Tunnels can be used to cover up your belts", + "create.ponder.andesite_tunnel.text_2": "Whenever an Andesite Tunnel has connections to the sides...", + "create.ponder.andesite_tunnel.text_3": "...they will split exactly one item off of any passing stacks", + "create.ponder.andesite_tunnel.text_4": "The remainder will continue on its path", + "create.ponder.auto_schedule.header": "Stations & Scheduling", + "create.ponder.auto_schedule.text_1": "Schedules can be used to provide drivers with a destination", + "create.ponder.auto_schedule.text_2": "Comparators will receive a signal whenever a Train is present", + "create.ponder.auto_schedule.text_3": "Mind that a Station can only be approached from the indicated direction", + "create.ponder.auto_schedule.text_4": "Stations can also be used to assign new Schedules automatically", + "create.ponder.auto_schedule.text_5": "The Schedule placed on a station will automatically copy itself to present trains", + "create.ponder.auto_schedule.text_6": "As opposed to manual scheduling, drivers will not take the item with them", + "create.ponder.basin.header": "Processing Items in the Basin", + "create.ponder.basin.text_1": "A Basin can hold Items and Fluids for Processing", + "create.ponder.basin.text_2": "After a processing step, basins try to output below to the side of them", + "create.ponder.basin.text_3": "When a valid component is present, the Basin will show an output faucet", + "create.ponder.basin.text_4": "A number of options are applicable here", + "create.ponder.basin.text_5": "Outputs will be caught by the inventory below", + "create.ponder.basin.text_6": "Without output faucet, the Basin will retain items created in its processing", + "create.ponder.basin.text_7": "This can be useful if outputs should be re-used as ingredients", + "create.ponder.basin.text_8": "Desired outputs will then have to be extracted from the basin", + "create.ponder.basin.text_9": "A Filter might be necessary to avoid pulling out un-processed items", + "create.ponder.bearing_modes.header": "Movement Modes of the Mechanical Bearing", + "create.ponder.bearing_modes.text_1": "When Stopped, the Bearing will place the structure at the nearest grid-aligned Angle", + "create.ponder.bearing_modes.text_2": "It can be configured never to revert to solid blocks, or only near the angle it started at", + "create.ponder.belt_casing.header": "Encasing Belts", + "create.ponder.belt_casing.text_1": "Brass or Andesite Casing can be used to decorate Mechanical Belts", + "create.ponder.belt_casing.text_2": "A wrench can be used to remove the casing", + "create.ponder.belt_connector.header": "Using Mechanical Belts", + "create.ponder.belt_connector.text_1": "Right-Clicking two shafts with a belt item will connect them together", + "create.ponder.belt_connector.text_2": "Accidental selections can be canceled with Right-Click while Sneaking", + "create.ponder.belt_connector.text_3": "Additional Shafts can be added throughout the Belt", + "create.ponder.belt_connector.text_4": "Shafts connected via Belts will rotate with Identical Speed and Direction", + "create.ponder.belt_connector.text_5": "Added shafts can be removed using the wrench", + "create.ponder.belt_connector.text_6": "Mechanical Belts can be dyed for aesthetic purposes", + "create.ponder.belt_directions.header": "Valid Orientations for Mechanical Belts", + "create.ponder.belt_directions.text_1": "Belts cannot connect in arbitrary directions", + "create.ponder.belt_directions.text_2": "1. They can connect horizontally", + "create.ponder.belt_directions.text_3": "2. They can connect diagonally", + "create.ponder.belt_directions.text_4": "3. They can connect vertically", + "create.ponder.belt_directions.text_5": "4. And they can connect vertical shafts horizontally", + "create.ponder.belt_directions.text_6": "These are all possible directions. Belts can span any Length between 2 and 20 blocks", + "create.ponder.belt_transport.header": "Using Mechanical Belts for Logistics", + "create.ponder.belt_transport.text_1": "Moving belts will transport Items and other Entities", + "create.ponder.belt_transport.text_2": "Right-Click with an empty hand to take items off a belt", + "create.ponder.blaze_burner.header": "Feeding Blaze Burners", + "create.ponder.blaze_burner.text_1": "Blaze Burners can provide Heat to Items processed in a Basin", + "create.ponder.blaze_burner.text_2": "For this, the Blaze has to be fed with flammable items", + "create.ponder.blaze_burner.text_3": "With a Blaze Cake, the Burner can reach an even stronger level of heat", + "create.ponder.blaze_burner.text_4": "The feeding process can be automated using Deployers or Mechanical Arms", + "create.ponder.brass_funnel.header": "The Brass Funnel", + "create.ponder.brass_funnel.text_1": "Andesite Funnels can only ever extract single items.", + "create.ponder.brass_funnel.text_2": "Brass Funnels can extract up to a full stack.", + "create.ponder.brass_funnel.text_3": "The value panel allows for precise control over the extracted stack size.", + "create.ponder.brass_funnel.text_4": "Using items on the filter slot will restrict the funnel to only transfer matching stacks.", + "create.ponder.brass_tunnel.header": "Using Brass Tunnels", + "create.ponder.brass_tunnel.text_1": "Brass Tunnels can be used to cover up your belts", + "create.ponder.brass_tunnel.text_2": "Brass Tunnels have filter slots on each open side", + "create.ponder.brass_tunnel.text_3": "Filters on inbound connections simply block non-matching items", + "create.ponder.brass_tunnel.text_4": "Filters on outbound connections can be used to sort items by type", + "create.ponder.brass_tunnel.text_5": "Whenever a passing item has multiple valid exits, the distribution mode will decide how to handle it", + "create.ponder.brass_tunnel.text_6": "Brass Tunnels on parallel belts will form a group", + "create.ponder.brass_tunnel.text_7": "Incoming Items will now be distributed across all connected exits", + "create.ponder.brass_tunnel.text_8": "For this, items can also be inserted into the Tunnel block directly", + "create.ponder.brass_tunnel_modes.header": "Distribution Modes of the Brass Tunnel", + "create.ponder.brass_tunnel_modes.text_1": "The distribution behaviour of Brass Tunnels can be configured", + "create.ponder.brass_tunnel_modes.text_10": "'Synchronize Inputs' is a unique setting for Brass Tunnels", + "create.ponder.brass_tunnel_modes.text_11": "Items are only allowed past if every tunnel in the group has one waiting", + "create.ponder.brass_tunnel_modes.text_12": "This ensures that all affected belts supply items at the same rate", + "create.ponder.brass_tunnel_modes.text_2": "'Split' will attempt to distribute the stack evenly between available outputs", + "create.ponder.brass_tunnel_modes.text_3": "If an output is unable to take more items, it will be skipped", + "create.ponder.brass_tunnel_modes.text_4": "'Forced Split' will never skip outputs, and instead wait until they are free", + "create.ponder.brass_tunnel_modes.text_5": "'Round Robin' keeps stacks whole, and cycles through outputs iteratively", + "create.ponder.brass_tunnel_modes.text_6": "Once Again, if an output is unable to take more items, it will be skipped", + "create.ponder.brass_tunnel_modes.text_7": "'Forced Round Robin' never skips outputs", + "create.ponder.brass_tunnel_modes.text_8": "'Prefer Nearest' prioritizes the outputs closest to the items' input location", + "create.ponder.brass_tunnel_modes.text_9": "'Randomize' will distribute whole stacks to randomly picked outputs", + "create.ponder.cart_assembler.header": "Moving Structures using Cart Assemblers", + "create.ponder.cart_assembler.text_1": "Powered Cart Assemblers mount attached structures to passing Minecarts", + "create.ponder.cart_assembler.text_2": "Without a redstone signal, it disassembles passing cart contraptions back into blocks", + "create.ponder.cart_assembler.text_3": "Using a Wrench on the Minecart will let you carry the Contraption elsewhere", + "create.ponder.cart_assembler_dual.header": "Assembling Carriage Contraptions", + "create.ponder.cart_assembler_dual.text_1": "Whenever two Cart Assembers share an attached structure...", + "create.ponder.cart_assembler_dual.text_2": "Powering either of them will create a Carriage Contraption", + "create.ponder.cart_assembler_dual.text_3": "The carts will behave like those connected via Minecart Coupling", + "create.ponder.cart_assembler_modes.header": "Orientation Settings for Minecart Contraptions", + "create.ponder.cart_assembler_modes.text_1": "Cart Contraptions will rotate to face towards their carts' motion", + "create.ponder.cart_assembler_modes.text_2": "This Arrow indicates which side of the Structure will be considered the front", + "create.ponder.cart_assembler_modes.text_3": "If the Assembler is set to Lock Rotation, the contraptions' orientation will never change", + "create.ponder.cart_assembler_rails.header": "Other types of Minecarts and Rails", + "create.ponder.cart_assembler_rails.text_1": "Cart Assemblers on Regular Tracks will not affect the passing carts' motion", + "create.ponder.cart_assembler_rails.text_2": "When on Powered or Controller Rail, the carts will be held in place until it's Powered", + "create.ponder.cart_assembler_rails.text_3": "Other types of Minecarts can be used as the anchor", + "create.ponder.cart_assembler_rails.text_4": "Furnace Carts will keep themselves powered, pulling fuel from any attached inventories", + "create.ponder.chain_drive.header": "Relaying rotational force with Chain Drives", + "create.ponder.chain_drive.text_1": "Chain Drives relay rotation to each other in a row", + "create.ponder.chain_drive.text_2": "All shafts connected like this will rotate in the same direction", + "create.ponder.chain_drive.text_3": "Any part of the row can be rotated by 90 degrees", + "create.ponder.chain_gearshift.header": "Controlling rotational speed with Chain Gearshifts", + "create.ponder.chain_gearshift.text_1": "Unpowered Chain Gearshifts behave exactly like Chain Drives", + "create.ponder.chain_gearshift.text_2": "When Powered, the speed transmitted to other Chain Drives in the row is doubled", + "create.ponder.chain_gearshift.text_3": "Whenever the Powered Gearshift is not at the source, its speed will be halved instead", + "create.ponder.chain_gearshift.text_4": "In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift", + "create.ponder.chain_gearshift.text_5": "Using analog signals, the ratio can be adjusted more precisely between 1 and 2", + "create.ponder.chain_gearshift.text_6": "12 RPM", + "create.ponder.chute.header": "Transporting Items downward via Chutes", + "create.ponder.chute.text_1": "Chutes can transport items vertically from and to inventories", + "create.ponder.chute.text_2": "Using the Wrench, a window can be created", + "create.ponder.chute.text_3": "Using Industrial Iron Blocks, chutes can be encased", + "create.ponder.chute.text_4": "Placing chutes targeting the side faces of another will make it diagonal", + "create.ponder.chute_upward.header": "Transporting Items upward via Chutes", + "create.ponder.chute_upward.text_1": "Using Encased Fans at the top or bottom, a Chute can move items upward", + "create.ponder.chute_upward.text_2": "Inspecting chutes with Engineers' Goggles reveals information about the movement direction", + "create.ponder.chute_upward.text_3": "On the 'blocked' end, items will have to be inserted/taken from the sides", + "create.ponder.clockwork_bearing.header": "Animating Structures using Clockwork Bearings", + "create.ponder.clockwork_bearing.text_1": "Clockwork Bearings attach to blocks in front of them", + "create.ponder.clockwork_bearing.text_2": "Upon receiving Rotational Force, the structure will be rotated according to the hour of the day", + "create.ponder.clockwork_bearing.text_3": "3:00", + "create.ponder.clockwork_bearing.text_4": "4:00", + "create.ponder.clockwork_bearing.text_5": "Right-Click the bearing to start or stop animating the structure", + "create.ponder.clockwork_bearing.text_6": "In front of the Hour Hand, a second structure can be added", + "create.ponder.clockwork_bearing.text_7": "Ensure that the two Structures are not glued to each other", + "create.ponder.clockwork_bearing.text_8": "The Second Structure will now rotate as the Minute Hand", + "create.ponder.clutch.header": "Controlling rotational force using a Clutch", + "create.ponder.clutch.text_1": "Clutches will relay rotation in a straight line", + "create.ponder.clutch.text_2": "When powered by Redstone, it breaks the connection", + "create.ponder.cog_speedup.header": "Gearshifting with Cogs", + "create.ponder.cog_speedup.text_1": "Large and Small cogs can be connected diagonally", + "create.ponder.cog_speedup.text_2": "Shifting from large to small cogs, the conveyed speed will be doubled", + "create.ponder.cog_speedup.text_3": "Shifting the opposite way, the conveyed speed will be halved", + "create.ponder.cogwheel.header": "Relaying rotational force using Cogwheels", + "create.ponder.cogwheel.text_1": "Cogwheels will relay rotation to other adjacent cogwheels", + "create.ponder.cogwheel.text_2": "Neighbouring shafts connected like this will rotate in opposite directions", + "create.ponder.cogwheel_casing.header": "Encasing Cogwheels", + "create.ponder.cogwheel_casing.text_1": "Brass or Andesite Casing can be used to decorate Cogwheels", + "create.ponder.cogwheel_casing.text_2": "Components added after encasing will not connect to the shaft outputs", + "create.ponder.cogwheel_casing.text_3": "The Wrench can be used to toggle connections", + "create.ponder.contraption_controls.header": "Using Contraption Controls", + "create.ponder.contraption_controls.text_1": "Actors on moving contraptions are always active by default", + "create.ponder.contraption_controls.text_2": "Contraption Controls can be used to toggle them on the fly", + "create.ponder.contraption_controls.text_3": "They can be attached anywhere on the contraption", + "create.ponder.contraption_controls.text_4": "While disassembled, the filter can be changed to target specific types of actors", + "create.ponder.contraption_controls.text_5": "If it is redstone-activated during assembly...", + "create.ponder.contraption_controls.text_6": "...targeted actors will be turned off from the start", + "create.ponder.creative_fluid_tank.header": "Creative Fluid Tanks", + "create.ponder.creative_fluid_tank.text_1": "Creative Fluid Tanks can be used to provide a bottomless supply of fluid", + "create.ponder.creative_fluid_tank.text_2": "Right-Click with a fluid containing item to configure it", + "create.ponder.creative_fluid_tank.text_3": "Pipe Networks can now endlessly draw the assigned fluid from the tank", + "create.ponder.creative_fluid_tank.text_4": "Any Fluids pushed back into a Creative Fluid Tank will be voided", + "create.ponder.creative_motor.header": "Generating Rotational Force using Creative Motors", + "create.ponder.creative_motor.text_1": "Creative motors are a compact and configurable source of Rotational Force", + "create.ponder.creative_motor.text_2": "The generated speed can be configured on its input panels", + "create.ponder.creative_motor_mojang.header": "Mojang's Enigma", + "create.ponder.crushing_wheels.header": "Processing Items with Crushing Wheels", + "create.ponder.crushing_wheels.text_1": "A pair of Crushing Wheels can grind items very effectively", + "create.ponder.crushing_wheels.text_2": "Their Rotational Input has to make them spin into each other", + "create.ponder.crushing_wheels.text_3": "Items thrown or inserted into the top will get processed", + "create.ponder.crushing_wheels.text_4": "Items can be inserted and picked up through automated means as well", + "create.ponder.deployer.header": "Using the Deployer", + "create.ponder.deployer.text_1": "Given Rotational Force, a Deployer can imitate player interactions", + "create.ponder.deployer.text_10": "Right-click the front to give it an Item to use", + "create.ponder.deployer.text_11": "Items can also be inserted automatically", + "create.ponder.deployer.text_12": "Deployers carry a filter slot", + "create.ponder.deployer.text_13": "When a filter is set, it activates only while holding a matching item", + "create.ponder.deployer.text_14": "Only items matching the filter can now be inserted...", + "create.ponder.deployer.text_15": "...and only non-matching items will be extracted", + "create.ponder.deployer.text_2": "It will always interact with the position 2 blocks in front of itself", + "create.ponder.deployer.text_3": "Blocks directly in front will not obstruct it", + "create.ponder.deployer.text_4": "Deployers can:", + "create.ponder.deployer.text_5": "Place Blocks,", + "create.ponder.deployer.text_6": "Use Items,", + "create.ponder.deployer.text_7": "Activate Blocks,", + "create.ponder.deployer.text_8": "Harvest blocks", + "create.ponder.deployer.text_9": "and Attack Mobs", + "create.ponder.deployer_contraption.header": "Using Deployers on Contraptions", + "create.ponder.deployer_contraption.text_1": "Whenever Deployers are moved as part of an animated Contraption...", + "create.ponder.deployer_contraption.text_2": "They activate at each visited location, using items from inventories anywhere on the contraption", + "create.ponder.deployer_contraption.text_3": "The Filter slot can be used to specify which items to pull", + "create.ponder.deployer_modes.header": "Modes of the Deployer", + "create.ponder.deployer_modes.text_1": "By default, a Deployer imitates a Right-click interaction", + "create.ponder.deployer_modes.text_2": "Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "Controlling Deployers with Redstone", + "create.ponder.deployer_redstone.text_1": "When powered by Redstone, Deployers will not activate", + "create.ponder.deployer_redstone.text_2": "Before stopping, the Deployer will finish any started cycles", + "create.ponder.deployer_redstone.text_3": "Thus, a negative pulse can be used to trigger exactly one activation cycle", + "create.ponder.depot.header": "Using Depots", + "create.ponder.depot.text_1": "Depots can serve as 'stationary' belt elements", + "create.ponder.depot.text_2": "Right-Click to manually place or remove Items from it", + "create.ponder.depot.text_3": "Just like Mechanical Belts, it can provide items to processing", + "create.ponder.depot.text_4": "...as well as provide Items to Mechanical Arms", + "create.ponder.display_board.header": "Using Display Boards", + "create.ponder.display_board.text_1": "Display Boards are a scalable alternative to the sign", + "create.ponder.display_board.text_2": "They require Rotational Force to operate", + "create.ponder.display_board.text_3": "Static text can be applied using written Clipboards", + "create.ponder.display_board.text_4": "And dynamic text through the use of Display Links", + "create.ponder.display_board.text_5": "Dyes can be applied to individual lines of the board", + "create.ponder.display_board.text_6": "Lines can be reset by clicking them with an empty hand", + "create.ponder.display_link.header": "Setting up Display Links", + "create.ponder.display_link.text_1": "Display Links can be used to visualise dynamic information", + "create.ponder.display_link.text_2": "First, right-click the target display...", + "create.ponder.display_link.text_3": "...then attach it to the block to read from", + "create.ponder.display_link.text_4": "Open the Interface to select and configure what is sent", + "create.ponder.display_link.text_5": "The display will now receive information from the link", + "create.ponder.display_link.text_6": "Not every block can act as a source", + "create.ponder.display_link.text_7": "Each compatible block provides unique information", + "create.ponder.display_link.text_8": "The Display Link can work with several different displays", + "create.ponder.display_link_redstone.header": "Redstone Control", + "create.ponder.display_link_redstone.text_1": "When powered by Redstone, Display Links stop sending updates", + "create.ponder.display_link_redstone.text_2": "Once unpowered, the Timer is reset and new info is sent immediately", + "create.ponder.display_link_redstone.text_3": "Signals emitted from the source do not affect the Link", + "create.ponder.elevator_pulley.header": "Using the Elevator Pulley", + "create.ponder.elevator_pulley.text_1": "Elevator Pulleys can move structures vertically between marked locations", + "create.ponder.elevator_pulley.text_10": "Any redstone contact sharing this column will be converted", + "create.ponder.elevator_pulley.text_11": "Supply a redstone pulse to call the elevator to the contact", + "create.ponder.elevator_pulley.text_12": "The movement speed depends on the rotation input on the pulley", + "create.ponder.elevator_pulley.text_13": "Scroll and click on the controls block to choose a floor while on-board", + "create.ponder.elevator_pulley.text_14": "Right-Clicking the assembled pulley will turn the cabin back into blocks", + "create.ponder.elevator_pulley.text_15": "Sliding doors attached to the cabin will open and close automatically", + "create.ponder.elevator_pulley.text_16": "Elevator Contacts emit a signal while the cabin is on their floor", + "create.ponder.elevator_pulley.text_17": "This can be useful to trigger doors or special effects upon arrival", + "create.ponder.elevator_pulley.text_18": "Display Links on any of the contacts can show the current floor of the elevator", + "create.ponder.elevator_pulley.text_2": "Start by constructing a cabin", + "create.ponder.elevator_pulley.text_3": "Place a pair of Redstone Contacts facing each other...", + "create.ponder.elevator_pulley.text_4": "...and glue one of them to your moving structure", + "create.ponder.elevator_pulley.text_5": "Contraption Controls can be attached to make floor selection easier", + "create.ponder.elevator_pulley.text_6": "Ensure that the pulley is supplied with Rotational Power", + "create.ponder.elevator_pulley.text_7": "Right-Clicking the pulley assembles the elevator", + "create.ponder.elevator_pulley.text_8": "The stationary contact now turns into an Elevator Contact", + "create.ponder.elevator_pulley.text_9": "Elevator Contacts represent a 'floor' and can be configured", + "create.ponder.elevator_pulley_multi_rope.header": "Synchronised Pulley Movement", + "create.ponder.elevator_pulley_multi_rope.text_1": "Whenever a pulley assembles a contraption...", + "create.ponder.elevator_pulley_multi_rope.text_2": "...other pulleys on the same layer will connect to the structure", + "create.ponder.elevator_pulley_multi_rope.text_3": "They do not require to be powered, the effect is purely cosmetic", + "create.ponder.empty_blaze_burner.header": "Using Empty Blaze Burners", + "create.ponder.empty_blaze_burner.text_1": "Right-click a Blaze with the empty burner to capture it", + "create.ponder.empty_blaze_burner.text_2": "Alternatively, Blazes can be collected from their Spawners directly", + "create.ponder.empty_blaze_burner.text_3": "You now have an ideal heat source for various machines", + "create.ponder.empty_blaze_burner.text_4": "For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel", + "create.ponder.empty_blaze_burner.text_5": "The flame can be transformed using a soul-infused item", + "create.ponder.empty_blaze_burner.text_6": "However, without a blaze they are not suitable for industrial heating", + "create.ponder.encased_fluid_pipe.header": "Encasing Fluid Pipes", + "create.ponder.encased_fluid_pipe.text_1": "Copper Casing can be used to decorate Fluid Pipes", + "create.ponder.encased_fluid_pipe.text_2": "Aside from being concealed, Encased Pipes are locked into their connectivity state", + "create.ponder.encased_fluid_pipe.text_3": "It will no longer react to any neighbouring blocks being added or removed", + "create.ponder.fan_direction.header": "Air flow of Encased Fans", + "create.ponder.fan_direction.text_1": "Encased Fans use Rotational Force to create an Air Current", + "create.ponder.fan_direction.text_2": "Strength and Direction of Flow depends on the Rotational Input", + "create.ponder.fan_processing.header": "Processing Items using Encased Fans", + "create.ponder.fan_processing.text_1": "When passing through lava, the Air Flow becomes Heated", + "create.ponder.fan_processing.text_2": "Items caught in the area will be smelted", + "create.ponder.fan_processing.text_3": "Food items thrown here would be incinerated", + "create.ponder.fan_processing.text_4": "Instead, a setup for Smoking using Fire should be used for them", + "create.ponder.fan_processing.text_5": "Air Flows passing through water create a Washing Setup", + "create.ponder.fan_processing.text_6": "Some interesting new processing can be done with it", + "create.ponder.fan_processing.text_7": "The Speed of the Fan does NOT affect the processing speed, only its range", + "create.ponder.fan_processing.text_8": "Fan Processing can also be applied to Items on Depots and Belts", + "create.ponder.fluid_pipe_flow.header": "Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "Fluid Pipes can connect two or more fluid sources and targets", + "create.ponder.fluid_pipe_flow.text_2": "Using a wrench, a straight pipe segment can be given a window", + "create.ponder.fluid_pipe_flow.text_3": "Windowed pipes will not connect to any other adjacent pipe segments", + "create.ponder.fluid_pipe_flow.text_4": "Powered by Mechanical Pumps, the Pipes can transport Fluids", + "create.ponder.fluid_pipe_flow.text_5": "No fluid is being extracted at first", + "create.ponder.fluid_pipe_flow.text_6": "Once the flow connects them, the endpoints gradually transfer their contents", + "create.ponder.fluid_pipe_flow.text_7": "Thus, the Pipe blocks themselves never 'physically' contain any fluid", + "create.ponder.fluid_pipe_interaction.header": "Draining and Filling fluid containers", + "create.ponder.fluid_pipe_interaction.text_1": "Endpoints of a pipe network can interact with a variety of blocks", + "create.ponder.fluid_pipe_interaction.text_2": "Any block with fluid storage capabilities can be filled or drained", + "create.ponder.fluid_pipe_interaction.text_3": "Source blocks right in front of an open end can be picked up...", + "create.ponder.fluid_pipe_interaction.text_4": "...while spilling into empty spaces can create fluid sources", + "create.ponder.fluid_pipe_interaction.text_5": "Pipes can also extract fluids from a handful of other blocks directly", + "create.ponder.fluid_tank_sizes.header": "Dimensions of a Fluid tank", + "create.ponder.fluid_tank_sizes.text_1": "Fluid Tanks can be combined to increase the total capacity", + "create.ponder.fluid_tank_sizes.text_2": "Their base square can be up to 3 blocks wide...", + "create.ponder.fluid_tank_sizes.text_3": "...and grow in height by more than 30 additional layers", + "create.ponder.fluid_tank_sizes.text_4": "Using a Wrench, a tanks' window can be toggled", + "create.ponder.fluid_tank_storage.header": "Storing Fluids in Fluid Tanks", + "create.ponder.fluid_tank_storage.text_1": "Fluid Tanks can be used to store large amounts of fluid", + "create.ponder.fluid_tank_storage.text_2": "Pipe networks can push and pull fluids from any side", + "create.ponder.fluid_tank_storage.text_3": "The contained fluid can be measured by a Comparator", + "create.ponder.fluid_tank_storage.text_4": "However, in Survival Mode Fluids cannot be added or taken manually", + "create.ponder.fluid_tank_storage.text_5": "You can use Basins, Item Drains and Spouts to drain or fill fluid containing items", + "create.ponder.funnel_compat.header": "Funnel compatibility", + "create.ponder.funnel_compat.text_1": "Funnels should also interact nicely with a handful of other components.", + "create.ponder.funnel_compat.text_2": "Vertical Saws", + "create.ponder.funnel_compat.text_3": "Depots", + "create.ponder.funnel_compat.text_4": "Item Drains", + "create.ponder.funnel_direction.header": "Direction of Transfer", + "create.ponder.funnel_direction.text_1": "Placed normally, it pulls items from the inventory.", + "create.ponder.funnel_direction.text_2": "Placed while sneaking, it puts items into the inventory.", + "create.ponder.funnel_direction.text_3": "Using a wrench, the funnel can be flipped after placement.", + "create.ponder.funnel_direction.text_4": "Same rules will apply for most orientations.", + "create.ponder.funnel_direction.text_5": "Funnels on belts will extract/insert depending on its movement direction.", + "create.ponder.funnel_intro.header": "Using funnels", + "create.ponder.funnel_intro.text_1": "Funnels are ideal for transferring items from and to inventories.", + "create.ponder.funnel_redstone.header": "Redstone control", + "create.ponder.funnel_redstone.text_1": "Redstone power will prevent any funnel from acting", + "create.ponder.funnel_transfer.header": "Direct transfer", + "create.ponder.funnel_transfer.text_1": "Funnels cannot ever transfer between closed inventories directly.", + "create.ponder.funnel_transfer.text_2": "Chutes or Smart chutes might be more suitable for such purposes.", + "create.ponder.funnel_transfer.text_3": "Same applies for horizontal movement. A mechanical belt should help here.", + "create.ponder.gantry_carriage.header": "Using Gantry Carriages", + "create.ponder.gantry_carriage.text_1": "Gantry Carriages can mount to and slide along a Gantry Shaft.", + "create.ponder.gantry_carriage.text_2": "Gantry setups can move attached Blocks.", + "create.ponder.gantry_cascaded.header": "Cascaded Gantries", + "create.ponder.gantry_cascaded.text_1": "Gantry shafts attach to a carriage without the need of super glue", + "create.ponder.gantry_cascaded.text_2": "Same applies for carriages on moved Gantry Shafts", + "create.ponder.gantry_cascaded.text_3": "Thus, a gantry system can be cascaded to cover multiple axes of movement", + "create.ponder.gantry_direction.header": "Gantry Movement Direction", + "create.ponder.gantry_direction.text_1": "Gantry Shafts can have opposite orientations", + "create.ponder.gantry_direction.text_2": "The movement direction of carriages depend on their shafts' orientation", + "create.ponder.gantry_direction.text_3": "...as well as the rotation direction of the shaft", + "create.ponder.gantry_direction.text_4": "Same rules apply for the propagated rotation", + "create.ponder.gantry_redstone.header": "Gantry Power Propagation", + "create.ponder.gantry_redstone.text_1": "Redstone-powered gantry shafts stop moving their carriages", + "create.ponder.gantry_redstone.text_2": "Instead, its rotational force is relayed to the carriages' output shaft", + "create.ponder.gantry_shaft.header": "Using Gantry Shafts", + "create.ponder.gantry_shaft.text_1": "Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.", + "create.ponder.gantry_shaft.text_2": "Gantry setups can move attached Blocks.", + "create.ponder.gearbox.header": "Relaying rotational force using Gearboxes", + "create.ponder.gearbox.text_1": "Jumping between axes of rotation can get bulky quickly", + "create.ponder.gearbox.text_2": "A gearbox is the more compact equivalent of this setup", + "create.ponder.gearbox.text_3": "Shafts around corners rotate in mirrored directions", + "create.ponder.gearbox.text_4": "Straight connections will be reversed", + "create.ponder.gearshift.header": "Controlling rotational force using a Gearshift", + "create.ponder.gearshift.text_1": "Gearshifts will relay rotation in a straight line", + "create.ponder.gearshift.text_2": "When powered by Redstone, it reverses the transmission", + "create.ponder.hand_crank.header": "Generating Rotational Force using Hand Cranks", + "create.ponder.hand_crank.text_1": "Hand Cranks can be used by players to apply rotational force manually", + "create.ponder.hand_crank.text_2": "Hold Right-Click to rotate it Counter-Clockwise", + "create.ponder.hand_crank.text_3": "Sneak and Hold Right-Click to rotate it Clockwise", + "create.ponder.hose_pulley.header": "Source Filling and Draining using Hose Pulleys", + "create.ponder.hose_pulley.text_1": "Hose Pulleys can be used to fill or drain large bodies of Fluid", + "create.ponder.hose_pulley.text_2": "With the Kinetic Input, the height of the pulleys' hose can be controlled", + "create.ponder.hose_pulley.text_3": "The Pulley retracts while the input rotation is inverted", + "create.ponder.hose_pulley.text_4": "On the opposite side, pipes can be connected", + "create.ponder.hose_pulley.text_5": "Attached pipe networks can either provide fluid to the hose...", + "create.ponder.hose_pulley.text_6": "...or pull from it, draining the pool instead", + "create.ponder.hose_pulley.text_7": "Fill and Drain speed of the pulley depends entirely on the fluid networks' throughput", + "create.ponder.hose_pulley_infinite.header": "Passively Filling and Draining large bodies of Fluid", + "create.ponder.hose_pulley_infinite.text_1": "When deploying the Hose Pulley into a large enough ocean...", + "create.ponder.hose_pulley_infinite.text_2": "It will provide/dispose fluids without affecting the source", + "create.ponder.hose_pulley_infinite.text_3": "Pipe networks can limitlessly take fluids from/to such pulleys", + "create.ponder.hose_pulley_level.header": "Fill and Drain level of Hose Pulleys", + "create.ponder.hose_pulley_level.text_1": "While fully retracted, the Hose Pulley cannot operate", + "create.ponder.hose_pulley_level.text_2": "Draining runs from top to bottom", + "create.ponder.hose_pulley_level.text_3": "The surface level will end up just below where the hose ends", + "create.ponder.hose_pulley_level.text_4": "Filling runs from bottom to top", + "create.ponder.hose_pulley_level.text_5": "The filled pool will not grow beyond the layer above the hose end", + "create.ponder.item_drain.header": "Emptying Fluid Containers using Item Drains", + "create.ponder.item_drain.text_1": "Item Drains can extract fluids from items", + "create.ponder.item_drain.text_2": "Right-click it to pour fluids from your held item into it", + "create.ponder.item_drain.text_3": "When items are inserted from the side...", + "create.ponder.item_drain.text_4": "...they roll across, emptying out their contained fluid", + "create.ponder.item_drain.text_5": "Pipe Networks can now pull the fluid from the drains' internal buffer", + "create.ponder.item_vault_sizes.header": "Dimensions of an Item Vault", + "create.ponder.item_vault_sizes.text_1": "Item Vaults can be combined to increase the total capacity", + "create.ponder.item_vault_sizes.text_2": "Their base square can be up to 3 blocks wide...", + "create.ponder.item_vault_sizes.text_3": "...and grow in length up to 3x their diameter", + "create.ponder.item_vault_storage.header": "Storing Items in Vaults", + "create.ponder.item_vault_storage.text_1": "Item Vaults can be used to store large amounts of items", + "create.ponder.item_vault_storage.text_2": "However, contents cannot be added or taken manually", + "create.ponder.item_vault_storage.text_3": "Any components for item transfer can both insert...", + "create.ponder.item_vault_storage.text_4": "...and take contents from this container", + "create.ponder.large_cogwheel.header": "Relaying rotational force using Large Cogwheels", + "create.ponder.large_cogwheel.text_1": "Large cogwheels can connect to each other at right angles", + "create.ponder.large_cogwheel.text_2": "It will help relaying conveyed speed to other axes of rotation", + "create.ponder.large_water_wheel.header": "Generating Rotational Force using Large Water Wheels", + "create.ponder.large_water_wheel.text_1": "Large Water Wheels draw force from adjacent Water Currents", + "create.ponder.large_water_wheel.text_2": "Covering additional sides will not improve its kinetic output further", + "create.ponder.large_water_wheel.text_3": "These rotate only at half the speed of regular water wheels...", + "create.ponder.large_water_wheel.text_4": "...but provide a substantially higher stress capacity", + "create.ponder.large_water_wheel.text_5": "Use wood planks on the wheel to change its appearance", + "create.ponder.linear_chassis_attachment.header": "Attaching blocks using Linear Chassis", + "create.ponder.linear_chassis_attachment.text_1": "The open faces of a Linear Chassis can be made Sticky", + "create.ponder.linear_chassis_attachment.text_2": "Click again to make the opposite side sticky", + "create.ponder.linear_chassis_attachment.text_3": "Sneak and Right-Click with an empty hand to remove the slime", + "create.ponder.linear_chassis_attachment.text_4": "Stickied faces of the Linear Chassis will attach a line of blocks in front of it", + "create.ponder.linear_chassis_attachment.text_5": "Using a Wrench, a precise Range can be specified for this chassis", + "create.ponder.linear_chassis_attachment.text_6": "Holding CTRL adjusts the range of all connected Chassis Blocks", + "create.ponder.linear_chassis_attachment.text_7": "Attaching blocks to any other side requires the use of Super Glue", + "create.ponder.linear_chassis_attachment.text_8": "Using these mechanics, structures of any shape can move as a Contraption", + "create.ponder.linear_chassis_group.header": "Moving Linear Chassis in groups", + "create.ponder.linear_chassis_group.text_1": "Linear Chassis connect to identical Chassis blocks next to them", + "create.ponder.linear_chassis_group.text_2": "When one is moved by a Contraption, the others are dragged with it", + "create.ponder.linear_chassis_group.text_3": "Chassis of a different type or facing another direction will not attach", + "create.ponder.mechanical_arm.header": "Setting up Mechanical Arms", + "create.ponder.mechanical_arm.text_1": "Mechanical Arms have to be assigned their in- and outputs before they are placed", + "create.ponder.mechanical_arm.text_2": "Right-Click inventories while holding the Arm to assign them as Targets", + "create.ponder.mechanical_arm.text_3": "Right-Click again to toggle between Input (Blue) and Output (Yellow)", + "create.ponder.mechanical_arm.text_4": "Left-Click components to remove their Selection", + "create.ponder.mechanical_arm.text_5": "Once placed, the Mechanical Arm will target the blocks selected previously", + "create.ponder.mechanical_arm.text_6": "They can have any amount of in- and outputs within their range", + "create.ponder.mechanical_arm.text_7": "However, not every type of Inventory can be interacted with directly", + "create.ponder.mechanical_arm.text_8": "Funnels and Depots can help to Bridge that gap", + "create.ponder.mechanical_arm_filtering.header": "Filtering Outputs of the Mechanical Arm", + "create.ponder.mechanical_arm_filtering.text_1": "Inputs", + "create.ponder.mechanical_arm_filtering.text_2": "Outputs", + "create.ponder.mechanical_arm_filtering.text_3": "Sometimes it is desirable to restrict targets of the Arm by matching a filter", + "create.ponder.mechanical_arm_filtering.text_4": "Mechanical Arms by themselves do not provide any options for filtering", + "create.ponder.mechanical_arm_filtering.text_5": "Brass Funnels as Targets do however communicate their own filter to the Arm", + "create.ponder.mechanical_arm_filtering.text_6": "The Arm is smart enough not to pick up items it couldn't distribute", + "create.ponder.mechanical_arm_modes.header": "Distribution modes of the Mechanical Arm", + "create.ponder.mechanical_arm_modes.text_1": "Input", + "create.ponder.mechanical_arm_modes.text_2": "Outputs", + "create.ponder.mechanical_arm_modes.text_3": "Whenever an Arm has to choose between multiple valid outputs...", + "create.ponder.mechanical_arm_modes.text_4": "...it will act according to its setting", + "create.ponder.mechanical_arm_modes.text_5": "The value panel will allow you to configure it", + "create.ponder.mechanical_arm_modes.text_6": "Round Robin mode simply cycles through all outputs that are available", + "create.ponder.mechanical_arm_modes.text_7": "If an output is unable to take more items, it will be skipped", + "create.ponder.mechanical_arm_modes.text_8": "Forced Round Robin mode will never skip outputs, and instead wait until they are free", + "create.ponder.mechanical_arm_modes.text_9": "Prefer First prioritizes the outputs selected earliest when configuring this Arm", + "create.ponder.mechanical_arm_redstone.header": "Controlling Mechanical Arms with Redstone", + "create.ponder.mechanical_arm_redstone.text_1": "When powered by Redstone, Mechanical Arms will not activate", + "create.ponder.mechanical_arm_redstone.text_2": "Before stopping, it will finish any started cycles", + "create.ponder.mechanical_arm_redstone.text_3": "Thus, a negative pulse can be used to trigger exactly one activation cycle", + "create.ponder.mechanical_bearing.header": "Movings Structures using the Mechanical Bearing", + "create.ponder.mechanical_bearing.text_1": "Mechanical Bearings attach to the block in front of them", + "create.ponder.mechanical_bearing.text_2": "Upon receiving Rotational Force, it will assemble it into a Rotating Contraption", + "create.ponder.mechanical_crafter.header": "Setting up Mechanical Crafters", + "create.ponder.mechanical_crafter.text_1": "An array of Mechanical Crafters can be used to automate any Crafting Recipe", + "create.ponder.mechanical_crafter.text_2": "Using a Wrench, the Crafters' paths can be arranged", + "create.ponder.mechanical_crafter.text_3": "For a valid setup, all paths have to converge into one exit at any side", + "create.ponder.mechanical_crafter.text_4": "The outputs will be placed into the inventory at the exit", + "create.ponder.mechanical_crafter.text_5": "Mechanical Crafters require Rotational Force to operate", + "create.ponder.mechanical_crafter.text_6": "Right-Click the front to insert Items manually", + "create.ponder.mechanical_crafter.text_7": "Once every slot of a path contains an Item, the crafting process will begin", + "create.ponder.mechanical_crafter.text_8": "For recipes not fully occupying the crafter setup, the start can be forced using a Redstone Pulse", + "create.ponder.mechanical_crafter_connect.header": "Connecting Inventories of Crafters", + "create.ponder.mechanical_crafter_connect.text_1": "Items can be inserted to Crafters automatically", + "create.ponder.mechanical_crafter_connect.text_2": "Using the Wrench at their backs, Mechanical Crafter inputs can be combined", + "create.ponder.mechanical_crafter_connect.text_3": "All connected Crafters can now be accessed by the same input location", + "create.ponder.mechanical_crafter_covers.header": "Covering slots of Mechanical Crafters", + "create.ponder.mechanical_crafter_covers.text_1": "Some recipes will require additional Crafters to bridge gaps in the path", + "create.ponder.mechanical_crafter_covers.text_2": "Using Slot Covers, Crafters can be set to act as an Empty Slot in the arrangement", + "create.ponder.mechanical_crafter_covers.text_3": "Shared Inputs created with the Wrench at the back can also reach across covered Crafters", + "create.ponder.mechanical_drill.header": "Breaking Blocks with the Mechanical Drill", + "create.ponder.mechanical_drill.text_1": "When given Rotational Force, a Mechanical Drill will break blocks directly in front of it", + "create.ponder.mechanical_drill.text_2": "Its mining speed depends on the Rotational Input", + "create.ponder.mechanical_drill_contraption.header": "Using Mechanical Drills on Contraptions", + "create.ponder.mechanical_drill_contraption.text_1": "Whenever Drills are moved as part of an animated Contraption...", + "create.ponder.mechanical_drill_contraption.text_2": "...they will break blocks the contraption runs them into", + "create.ponder.mechanical_harvester.header": "Using Mechanical Harvesters on Contraptions", + "create.ponder.mechanical_harvester.text_1": "Whenever Harvesters are moved as part of an animated Contraption...", + "create.ponder.mechanical_harvester.text_2": "They will harvest and reset any mature crops on their way", + "create.ponder.mechanical_mixer.header": "Processing Items with the Mechanical Mixer", + "create.ponder.mechanical_mixer.text_1": "With a Mixer and Basin, some Crafting Recipes can be automated", + "create.ponder.mechanical_mixer.text_2": "Available recipes include any Shapeless Crafting Recipe, plus a couple extra ones", + "create.ponder.mechanical_mixer.text_3": "Some of those recipes may require the heat of a Blaze Burner", + "create.ponder.mechanical_mixer.text_4": "The filter slot can be used in case two recipes are conflicting.", + "create.ponder.mechanical_piston.header": "Moving Structures using Mechanical Pistons", + "create.ponder.mechanical_piston.text_1": "Mechanical Pistons can move blocks in front of them", + "create.ponder.mechanical_piston.text_2": "Speed and direction of movement depend on the Rotational Input", + "create.ponder.mechanical_piston.text_3": "Sticky Mechanical Pistons can pull the attached blocks back", + "create.ponder.mechanical_piston_modes.header": "Movement Modes of the Mechanical Piston", + "create.ponder.mechanical_piston_modes.text_1": "Whenever Pistons stop moving, the moved structure reverts to blocks", + "create.ponder.mechanical_piston_modes.text_2": "It can be configured never to revert to solid blocks, or only at the location it started at", + "create.ponder.mechanical_plough.header": "Using Mechanical Ploughs on Contraptions", + "create.ponder.mechanical_plough.text_1": "Whenever Ploughs are moved as part of an animated Contraption...", + "create.ponder.mechanical_plough.text_2": "...they will break blocks without a solid collision hitbox", + "create.ponder.mechanical_plough.text_3": "Additionally, ploughs can create farmland", + "create.ponder.mechanical_plough.text_4": "...they can also launch entities without hurting them", + "create.ponder.mechanical_press.header": "Processing Items with the Mechanical Press", + "create.ponder.mechanical_press.text_1": "The Mechanical Press can process items provided beneath it", + "create.ponder.mechanical_press.text_2": "The Input items can be dropped or placed on a Depot under the Press", + "create.ponder.mechanical_press.text_3": "When items are provided on a belt...", + "create.ponder.mechanical_press.text_4": "The Press will hold and process them automatically", + "create.ponder.mechanical_press_compacting.header": "Compacting items with the Mechanical Press", + "create.ponder.mechanical_press_compacting.text_1": "Pressing items held in a Basin will cause them to be Compacted", + "create.ponder.mechanical_press_compacting.text_2": "Compacting includes any filled 2x2 or 3x3 Crafting Recipe, plus a couple extra ones", + "create.ponder.mechanical_press_compacting.text_3": "Some of those recipes may require the heat of a Blaze Burner", + "create.ponder.mechanical_press_compacting.text_4": "The filter slot can be used in case two recipes are conflicting.", + "create.ponder.mechanical_pump_flow.header": "Fluid Transportation using Mechanical Pumps", + "create.ponder.mechanical_pump_flow.text_1": "Mechanical Pumps govern the flow of their attached pipe networks", + "create.ponder.mechanical_pump_flow.text_2": "Their arrow indicates the direction of flow", + "create.ponder.mechanical_pump_flow.text_3": "The network behind is now pulling fluids...", + "create.ponder.mechanical_pump_flow.text_4": "...while the network in front is transferring it outward", + "create.ponder.mechanical_pump_flow.text_5": "The pumps direction is unaffected by the input rotation", + "create.ponder.mechanical_pump_flow.text_6": "Instead, a Wrench can be used to reverse the direction", + "create.ponder.mechanical_pump_speed.header": "Throughput of Mechanical Pumps", + "create.ponder.mechanical_pump_speed.text_1": "Regardless of speed, Mechanical Pumps affect pipes connected up to 16 blocks away", + "create.ponder.mechanical_pump_speed.text_2": "Speeding up the input rotation changes the speed of flow propagation...", + "create.ponder.mechanical_pump_speed.text_3": "...and the speed at which fluids are transferred", + "create.ponder.mechanical_pump_speed.text_4": "Pumps can combine their throughputs within shared pipe networks", + "create.ponder.mechanical_pump_speed.text_5": "Ensure that all of them are facing in the same direction", + "create.ponder.mechanical_roller_fill.header": "Filling terrain with the Roller", + "create.ponder.mechanical_roller_fill.text_1": "While disassembled, rollers can be set to other modes", + "create.ponder.mechanical_roller_fill.text_2": "The 'fill' modes can help to bridge gaps between pavement and terrain", + "create.ponder.mechanical_roller_fill.text_3": "On 'straight fill', they will place simple columns down to the surface", + "create.ponder.mechanical_roller_fill.text_4": "On 'sloped fill', layers placed further down will increase in size", + "create.ponder.mechanical_roller_fill.text_5": "As opposed to 'clear & pave', neither of these modes will cause the rollers to break existing blocks", + "create.ponder.mechanical_roller_pave.header": "Clearing and Paving with the Roller", + "create.ponder.mechanical_roller_pave.text_1": "Mechanical rollers help to clean up terrain around tracks or paths", + "create.ponder.mechanical_roller_pave.text_2": "In its default mode, without a material set, it will simply clear blocks like a Drill", + "create.ponder.mechanical_roller_pave.text_3": "While disassembled, a suitable paving material can be specified", + "create.ponder.mechanical_roller_pave.text_4": "Materials can be supplied via chests or barrels attached to the structure", + "create.ponder.mechanical_roller_pave.text_5": "In addition to breaking blocks, it will now replace the layer beneath them", + "create.ponder.mechanical_roller_pave.text_6": "Note that any block destroyed by a roller has a chance not to yield drops", + "create.ponder.mechanical_roller_pave.text_7": "Rollers are especially useful on Trains, but can also be used on most other types of moving contraptions", + "create.ponder.mechanical_saw_breaker.header": "Cutting Trees with the Mechanical Saw", + "create.ponder.mechanical_saw_breaker.text_1": "When given Rotational Force, a Mechanical Saw will cut trees directly in front of it", + "create.ponder.mechanical_saw_breaker.text_2": "In order to cut the tree fully, the Saw has to break the last block connecting it to the ground", + "create.ponder.mechanical_saw_contraption.header": "Using Mechanical Saws on Contraptions", + "create.ponder.mechanical_saw_contraption.text_1": "Whenever Saws are moved as part of an animated Contraption...", + "create.ponder.mechanical_saw_contraption.text_2": "...they will cut any trees the contraption runs them into", + "create.ponder.mechanical_saw_processing.header": "Processing Items on the Mechanical Saw", + "create.ponder.mechanical_saw_processing.text_1": "Upward facing Mechanical Saws can process a variety of items", + "create.ponder.mechanical_saw_processing.text_2": "The processed item always moves against the rotational input to the saw", + "create.ponder.mechanical_saw_processing.text_3": "Saws can work in-line with Mechanical Belts", + "create.ponder.mechanical_saw_processing.text_4": "When an ingredient has multiple possible outcomes, the filter slot can specify it", + "create.ponder.mechanical_saw_processing.text_5": "Without filter, the Saw would cycle through all outcomes instead", + "create.ponder.millstone.header": "Processing Items in the Millstone", + "create.ponder.millstone.text_1": "Millstones process items by grinding them", + "create.ponder.millstone.text_2": "They can be powered from the side using cogwheels", + "create.ponder.millstone.text_3": "Throw or Insert items at the top", + "create.ponder.millstone.text_4": "After some time, the result can be obtained via Right-click", + "create.ponder.millstone.text_5": "The outputs can also be extracted by automation", + "create.ponder.nixie_tube.header": "Using Nixie Tubes", + "create.ponder.nixie_tube.text_1": "When powered by Redstone, Nixie Tubes will display the signal strength", + "create.ponder.nixie_tube.text_2": "Using written Clipboards, custom text can be displayed", + "create.ponder.nixie_tube.text_3": "Right-Click with Dye to change their display colour", + "create.ponder.piston_pole.header": "Piston Extension Poles", + "create.ponder.piston_pole.text_1": "Without attached Poles, a Mechanical Piston cannot move", + "create.ponder.piston_pole.text_2": "The Length of pole added at its back determines the Extension Range", + "create.ponder.portable_fluid_interface.header": "Contraption Fluid Exchange", + "create.ponder.portable_fluid_interface.text_1": "Fluid Tanks on moving contraptions cannot be accessed by any pipes", + "create.ponder.portable_fluid_interface.text_2": "This component can interact with fluid tanks without the need to stop the contraption", + "create.ponder.portable_fluid_interface.text_3": "Place a second one with a gap of 1 or 2 blocks inbetween", + "create.ponder.portable_fluid_interface.text_4": "Whenever they pass by each other, they will engage in a connection", + "create.ponder.portable_fluid_interface.text_5": "While engaged, the stationary interface will represent ALL Tanks on the contraption", + "create.ponder.portable_fluid_interface.text_6": "Fluid can now be inserted...", + "create.ponder.portable_fluid_interface.text_7": "...or extracted from the contraption", + "create.ponder.portable_fluid_interface.text_8": "After no contents have been exchanged for a while, the contraption will continue on its way", + "create.ponder.portable_storage_interface.header": "Contraption Storage Exchange", + "create.ponder.portable_storage_interface.text_1": "Moving inventories can be tricky to access with automation.", + "create.ponder.portable_storage_interface.text_2": "This component can interact with storage without the need to stop the contraption.", + "create.ponder.portable_storage_interface.text_3": "Place a second one with a gap of 1 or 2 blocks inbetween", + "create.ponder.portable_storage_interface.text_4": "Whenever they pass by each other, they will engage in a connection", + "create.ponder.portable_storage_interface.text_5": "While engaged, the stationary interface will represent ALL inventories on the contraption", + "create.ponder.portable_storage_interface.text_6": "Items can now be inserted...", + "create.ponder.portable_storage_interface.text_7": "...or extracted from the contraption", + "create.ponder.portable_storage_interface.text_8": "After no items have been exchanged for a while, the contraption will continue on its way", + "create.ponder.portable_storage_interface_redstone.header": "Redstone Control", + "create.ponder.portable_storage_interface_redstone.text_1": "Redstone power will prevent the stationary interface from engaging", + "create.ponder.powered_latch.header": "Controlling signals using the Powered Latch", + "create.ponder.powered_latch.text_1": "Powered Latches are redstone controllable Levers", + "create.ponder.powered_latch.text_2": "Signals at the back switch it on", + "create.ponder.powered_latch.text_3": "Signals from the side switch it back off", + "create.ponder.powered_latch.text_4": "Powered latches can also be toggled manually", + "create.ponder.powered_toggle_latch.header": "Controlling signals using the Powered Toggle Latch", + "create.ponder.powered_toggle_latch.text_1": "Powered Toggle Latches are redstone controllable Levers", + "create.ponder.powered_toggle_latch.text_2": "Signals at the back will toggle its state", + "create.ponder.powered_toggle_latch.text_3": "...on and back off", + "create.ponder.powered_toggle_latch.text_4": "Powered toggle latches can also be toggled manually", + "create.ponder.pulse_extender.header": "Controlling signals using Pulse Extenders", + "create.ponder.pulse_extender.text_1": "Pulse Extenders can lengthen a signal passing through", + "create.ponder.pulse_extender.text_2": "They activate after a short delay...", + "create.ponder.pulse_extender.text_3": "...and cool down for the configured duration", + "create.ponder.pulse_extender.text_4": "Using the value panel, the discharge time can be configured", + "create.ponder.pulse_extender.text_5": "The configured duration can range up to an hour", + "create.ponder.pulse_repeater.header": "Controlling signals using Pulse Repeaters", + "create.ponder.pulse_repeater.text_1": "Pulse Repeaters emit a short pulse after a delay", + "create.ponder.pulse_repeater.text_2": "Using the value panel, the charge time can be configured", + "create.ponder.pulse_repeater.text_3": "Configured delays can range up to an hour", + "create.ponder.radial_chassis.header": "Attaching blocks using Radial Chassis", + "create.ponder.radial_chassis.text_1": "Radial Chassis connect to identical Chassis blocks in a row", + "create.ponder.radial_chassis.text_2": "When one is moved by a Contraption, the others are dragged with it", + "create.ponder.radial_chassis.text_3": "The side faces of a Radial Chassis can be made Sticky", + "create.ponder.radial_chassis.text_4": "Click again to make all other sides sticky", + "create.ponder.radial_chassis.text_5": "Sneak and Right-Click with an empty hand to remove the slime", + "create.ponder.radial_chassis.text_6": "Whenever a Block is next to a sticky face...", + "create.ponder.radial_chassis.text_7": "...it will attach all reachable blocks within a radius on that layer", + "create.ponder.radial_chassis.text_8": "Using a Wrench, a precise Radius can be specified for this chassis", + "create.ponder.radial_chassis.text_9": "Blocks not reachable by any sticky face will not attach", + "create.ponder.redstone_contact.header": "Redstone Contacts", + "create.ponder.redstone_contact.text_1": "Redstone Contacts facing each other will emit a redstone signal", + "create.ponder.redstone_contact.text_2": "This still applies when one of them is part of a moving Contraption", + "create.ponder.redstone_link.header": "Using Redstone Links", + "create.ponder.redstone_link.text_1": "Redstone Links can transmit redstone signals wirelessly", + "create.ponder.redstone_link.text_2": "Right-click while Sneaking to toggle receive mode", + "create.ponder.redstone_link.text_3": "A simple Right-click with a Wrench can do the same", + "create.ponder.redstone_link.text_4": "Receivers emit the redstone power of transmitters within 128 blocks", + "create.ponder.redstone_link.text_5": "Placing items in the two slots can specify a Frequency", + "create.ponder.redstone_link.text_6": "Only the links with matching Frequencies will communicate", + "create.ponder.rope_pulley.header": "Moving Structures using Rope Pulleys", + "create.ponder.rope_pulley.text_1": "Rope Pulleys can move blocks vertically when given Rotational Force", + "create.ponder.rope_pulley.text_2": "Direction and Speed of movement depend on the Rotational Input", + "create.ponder.rope_pulley_attachment.header": "Moving Pulleys as part of a Contraption", + "create.ponder.rope_pulley_attachment.text_1": "Whenever Pulleys are themselves being moved by a Contraption...", + "create.ponder.rope_pulley_attachment.text_2": "...its attached structure will be dragged with it", + "create.ponder.rope_pulley_attachment.text_3": "Mind that pulleys are only movable while stopped", + "create.ponder.rope_pulley_modes.header": "Movement Modes of the Rope Pulley", + "create.ponder.rope_pulley_modes.text_1": "Whenever Pulleys stop moving, the moved structure reverts to blocks", + "create.ponder.rope_pulley_modes.text_2": "It can be configured never to revert to solid blocks, or only at the location it started at", + "create.ponder.rope_pulley_multi_rope.header": "Synchronised Pulley Movement", + "create.ponder.rope_pulley_multi_rope.text_1": "Whenever a pulley assembles a contraption...", + "create.ponder.rope_pulley_multi_rope.text_2": "...other pulleys on the same layer will connect to the structure", + "create.ponder.rope_pulley_multi_rope.text_3": "They do not require to be powered, the effect is purely cosmetic", + "create.ponder.rose_quartz_lamp.header": "Rose Quartz Lamps", + "create.ponder.rose_quartz_lamp.text_1": "Rose Quartz Lamps activate on a Redstone signal", + "create.ponder.rose_quartz_lamp.text_2": "They will continue to emit redstone power afterwards", + "create.ponder.rose_quartz_lamp.text_3": "When multiple lamps are arranged in a group...", + "create.ponder.rose_quartz_lamp.text_4": "...activating a Lamp will focus the signal to it, deactivating all others", + "create.ponder.rose_quartz_lamp.text_5": "Comparators output based on the distance to a powered lamp", + "create.ponder.rose_quartz_lamp.text_6": "The Lamps can also be toggled manually using a Wrench", + "create.ponder.rotation_speed_controller.header": "Using the Rotational Speed Controller", + "create.ponder.rotation_speed_controller.text_1": "Rot. Speed Controllers relay rotation from their axis to a Large Cogwheel above them", + "create.ponder.rotation_speed_controller.text_2": "Using the value panel on its side, the conveyed speed can be configured", + "create.ponder.sail.header": "Assembling Windmills using Sails", + "create.ponder.sail.text_1": "Sails are handy blocks to create Windmills with", + "create.ponder.sail.text_2": "They will attach to blocks and each other without the need of Super Glue or Chassis Blocks", + "create.ponder.sail.text_3": "Right-Click with Dye to paint them", + "create.ponder.sail.text_4": "Right-Click with Shears to turn them back into frames", + "create.ponder.sail_frame.header": "Assembling Windmills using Sail Frames", + "create.ponder.sail_frame.text_1": "Sail Frames are handy blocks to create Windmills with", + "create.ponder.sail_frame.text_2": "They will attach to blocks and each other without the need of Super Glue or Chassis Blocks", + "create.ponder.sequenced_gearshift.header": "Controlling Rotational Speed using Sequenced Gearshifts", + "create.ponder.sequenced_gearshift.text_1": "Seq. Gearshifts relay rotation by following a timed list of instructions", + "create.ponder.sequenced_gearshift.text_2": "Right-click it to open the Configuration UI", + "create.ponder.sequenced_gearshift.text_3": "Upon receiving a Redstone Signal, it will start running its configured sequence", + "create.ponder.sequenced_gearshift.text_4": "Once finished, it waits for the next Redstone Signal and starts over", + "create.ponder.sequenced_gearshift.text_5": "A redstone comparator can be used to read the current progress", + "create.ponder.shaft.header": "Relaying rotational force using Shafts", + "create.ponder.shaft.text_1": "Shafts will relay rotation in a straight line.", + "create.ponder.shaft_casing.header": "Encasing Shafts", + "create.ponder.shaft_casing.text_1": "Brass or Andesite Casing can be used to decorate Shafts", + "create.ponder.smart_chute.header": "Filtering Items using Smart Chutes", + "create.ponder.smart_chute.text_1": "Smart Chutes are vertical chutes with additional control", + "create.ponder.smart_chute.text_2": "Items in the filter slot specify what to extract or transfer", + "create.ponder.smart_chute.text_3": "Use the value panel to specify the extracted stack size", + "create.ponder.smart_chute.text_4": "Redstone power will prevent Smart Chutes from acting.", + "create.ponder.smart_observer.header": "Advanced detection with Smart Observers", + "create.ponder.smart_observer.text_1": "Smart Observers can be used to detect a variety of events", + "create.ponder.smart_observer.text_2": "It can detect items or fluids inside of generic containers", + "create.ponder.smart_observer.text_3": "The filter slot can be used to look for specific contents only", + "create.ponder.smart_observer.text_4": "It also activates when the block itself matches the filter", + "create.ponder.smart_observer.text_5": "Additionally, smart observers can monitor belts, chutes and pipes", + "create.ponder.smart_observer.text_6": "...and will emit a pulse, if an item enters or exits a funnel", + "create.ponder.smart_pipe.header": "Controlling Fluid flow using Smart Pipes", + "create.ponder.smart_pipe.text_1": "Smart pipes can help control flows by fluid type", + "create.ponder.smart_pipe.text_2": "When placed directly at the source, they can specify the type of fluid to extract", + "create.ponder.smart_pipe.text_3": "Simply Right-Click their filter slot with any item containing the desired fluid", + "create.ponder.smart_pipe.text_4": "When placed further down a pipe network, smart pipes will only let matching fluids continue", + "create.ponder.speedometer.header": "Monitoring Kinetic information using the Speedometer", + "create.ponder.speedometer.text_1": "The Speedometer displays the current Speed of attached components", + "create.ponder.speedometer.text_2": "When wearing Engineers' Goggles, the player can get more detailed information from the Gauge", + "create.ponder.speedometer.text_3": "Comparators can emit analog Restone Signals relative to the Speedometer's measurements", + "create.ponder.spout_filling.header": "Filling Items using a Spout", + "create.ponder.spout_filling.text_1": "The Spout can fill fluid holding items provided beneath it", + "create.ponder.spout_filling.text_2": "The content of a Spout cannot be accessed manually", + "create.ponder.spout_filling.text_3": "Instead, Pipes can be used to supply it with fluids", + "create.ponder.spout_filling.text_4": "The Input items can be placed on a Depot under the Spout", + "create.ponder.spout_filling.text_5": "When items are provided on a belt...", + "create.ponder.spout_filling.text_6": "The Spout will hold and process them automatically", + "create.ponder.stabilized_bearings.header": "Stabilized Contraptions", + "create.ponder.stabilized_bearings.text_1": "Whenever Mechanical Bearings are themselves part of a moving Structure..", + "create.ponder.stabilized_bearings.text_2": "..they will attempt to keep themselves upright", + "create.ponder.stabilized_bearings.text_3": "Once again, the bearing will attach to the block in front of it", + "create.ponder.stabilized_bearings.text_4": "As a result, the entire sub-Contraption will stay upright", + "create.ponder.steam_engine.header": "Setting up Steam Engines", + "create.ponder.steam_engine.text_1": "Steam Engines can be placed on a Fluid Tank", + "create.ponder.steam_engine.text_10": "Lvl 4", + "create.ponder.steam_engine.text_11": "4 Engines", + "create.ponder.steam_engine.text_12": "Lvl 8", + "create.ponder.steam_engine.text_13": "8 Engines", + "create.ponder.steam_engine.text_2": "Clicking the engine with a Shaft creates the Kinetic Output", + "create.ponder.steam_engine.text_3": "With sufficient Heat, Water and Boiler space...", + "create.ponder.steam_engine.text_4": "...they will generate Rotational Force", + "create.ponder.steam_engine.text_5": "The minimal setup requires 4 Fluid Tanks", + "create.ponder.steam_engine.text_6": "With the help of Blaze Burners, the power output can be increased", + "create.ponder.steam_engine.text_7": "Higher power levels require more Water, Size and Heat", + "create.ponder.steam_engine.text_8": "The boiler's current power level can be inspected with Engineer's Goggles", + "create.ponder.steam_engine.text_9": "With each added power level, an additional Engine can output at full capacity", + "create.ponder.steam_whistle.header": "Setting up Steam Whistles", + "create.ponder.steam_whistle.text_1": "Steam Whistles can be placed on a Fluid Tank", + "create.ponder.steam_whistle.text_2": "If the tank receives sufficient heat...", + "create.ponder.steam_whistle.text_3": "...the Whistle will play a note when activated", + "create.ponder.steam_whistle.text_4": "Use a Whistle item on the block to lower its pitch", + "create.ponder.steam_whistle.text_5": "Cycle between three different octaves using a Wrench", + "create.ponder.steam_whistle.text_6": "Engineer's Goggles can help to find out the current pitch of a Whistle", + "create.ponder.sticker.header": "Attaching blocks using the Sticker", + "create.ponder.sticker.text_1": "Stickers are ideal for Redstone-controlled block attachment", + "create.ponder.sticker.text_2": "Upon receiving a signal, it will toggle its state", + "create.ponder.sticker.text_3": "If it is now moved in a contraption, the block will move with it", + "create.ponder.sticker.text_4": "Toggled once again, the block is no longer attached", + "create.ponder.stressometer.header": "Monitoring Kinetic information using the Stressometer", + "create.ponder.stressometer.text_1": "The Stressometer displays the current Stress Capacity of the attached kinetic network", + "create.ponder.stressometer.text_2": "When wearing Engineers' Goggles, the player can get more detailed information from the Gauge", + "create.ponder.stressometer.text_3": "Comparators can emit analog Restone Signals relative to the Stressometer's measurements", + "create.ponder.super_glue.header": "Attaching blocks using Super Glue", + "create.ponder.super_glue.text_1": "Super Glue groups blocks together into moving contraptions", + "create.ponder.super_glue.text_2": "Clicking two endpoints creates a new 'glued' area", + "create.ponder.super_glue.text_3": "To remove a box, punch it with the glue item in hand", + "create.ponder.super_glue.text_4": "Adjacent blocks sharing an area will pull each other along", + "create.ponder.super_glue.text_5": "Overlapping glue volumes will move together", + "create.ponder.super_glue.text_6": "Blocks hanging on others usually do not require glue", + "create.ponder.threshold_switch.header": "Monitoring with the Threshold Switch", + "create.ponder.threshold_switch.text_1": "Threshold Switches monitor the fill level of containers", + "create.ponder.threshold_switch.text_2": "When the inventory content exceeds the upper threshold...", + "create.ponder.threshold_switch.text_3": "...the switch will change its redstone output", + "create.ponder.threshold_switch.text_4": "The signal stays until the lower threshold is reached", + "create.ponder.threshold_switch.text_5": "The redstone output can now be used to control item supply, keeping the buffer filled", + "create.ponder.threshold_switch.text_6": "The specific thresholds can be changed in the UI", + "create.ponder.threshold_switch.text_7": "A filter can help to only count specific contents toward the total", + "create.ponder.threshold_switch.text_8": "Fluid buffers can be monitored in a similar fashion", + "create.ponder.threshold_switch.text_9": "...as well as, curiously, the length of an extended rope pulley", + "create.ponder.track_chunks.header": "Traversing unloaded Chunks", + "create.ponder.track_chunks.text_1": "Tracks stay functional outside of loaded chunks", + "create.ponder.track_chunks.text_2": "Trains will travel through inactive sections of the world without issue", + "create.ponder.track_chunks.text_3": "They will still stop at stations or red signals", + "create.ponder.track_chunks.text_4": "However, Drills and other on-board machines will not operate", + "create.ponder.track_chunks.text_5": "Once near a Player, the train will re-appear", + "create.ponder.track_observer.header": "Detecting Trains", + "create.ponder.track_observer.text_1": "Select a Train Track then place the Observer nearby", + "create.ponder.track_observer.text_2": "The Observer will detect any Trains passing over the marker", + "create.ponder.track_observer.text_3": "Observers can be filtered to activate for matching cargo", + "create.ponder.track_placement.header": "Placing Train Tracks", + "create.ponder.track_placement.text_1": "A new type of rail designed for Train Contraptions", + "create.ponder.track_placement.text_2": "To place rows of track in bulk, click on an existing track", + "create.ponder.track_placement.text_3": "Then place or select a second track", + "create.ponder.track_placement.text_4": "Tracks can also be placed as turns or slopes", + "create.ponder.track_placement.text_5": "When connecting, tracks will try to make each turn equally sized", + "create.ponder.track_placement.text_6": "Holding the sprint key while connecting...", + "create.ponder.track_placement.text_7": "...will create the longest fitting bend instead", + "create.ponder.track_placement.text_8": "Materials in the off-hand will be paved under tracks automatically", + "create.ponder.track_portal.header": "Tracks and the Nether", + "create.ponder.track_portal.text_1": "Tracks placed up against a nether portal...", + "create.ponder.track_portal.text_2": "...will attempt to create a paired track on the other side", + "create.ponder.track_portal.text_3": "Trains on this track are now able to travel across dimensions", + "create.ponder.train_assembly.header": "Assembling Trains", + "create.ponder.train_assembly.text_1": "Select a Train Track then place the Station nearby", + "create.ponder.train_assembly.text_10": "Every Train requires Train Controls on board", + "create.ponder.train_assembly.text_11": "An optional second one allows departure from Stations in both directions", + "create.ponder.train_assembly.text_12": "Open the Station UI and confirm the Assembly process", + "create.ponder.train_assembly.text_13": "Trains can be disassembled back into blocks at stations only", + "create.ponder.train_assembly.text_14": "When used on a station, maps will add a labeled marker at the location", + "create.ponder.train_assembly.text_15": "Assembled Trains can be relocated to nearby Tracks using the Wrench", + "create.ponder.train_assembly.text_2": "Stations are the Waypoints of your Track Network", + "create.ponder.train_assembly.text_3": "To create a new Train, open the UI and switch to Assembly Mode", + "create.ponder.train_assembly.text_4": "During Assembly no scheduled trains will approach this station", + "create.ponder.train_assembly.text_5": "Create new bogeys by using Train Casing on Tracks", + "create.ponder.train_assembly.text_6": "Click the track again to cycle between bogey designs", + "create.ponder.train_assembly.text_7": "Attach blocks with the help of Super Glue", + "create.ponder.train_assembly.text_8": "Assembled Trains will move faster if they can find fuel in assembled chests or barrels", + "create.ponder.train_assembly.text_9": "Fuel stored in Vaults will not be consumed by the train", + "create.ponder.train_controls.header": "Controlling Trains", + "create.ponder.train_controls.text_1": "Train Controls are required on every train contraption", + "create.ponder.train_controls.text_2": "Once assembled, right-click the block to start driving", + "create.ponder.train_controls.text_3": "Accelerate and steer the Train using movement keybinds", + "create.ponder.train_controls.text_4": "If desired, the top speed can be fine-tuned using the mouse wheel", + "create.ponder.train_controls.text_5": "Hold space to approach a nearby Station", + "create.ponder.train_controls.text_6": "Trains can only be disassembled back into blocks at Stations", + "create.ponder.train_controls.text_7": "Assembled Whistles can be activated with the sprint key", + "create.ponder.train_controls.text_8": "Sneak or click again to stop controlling the Train", + "create.ponder.train_schedule.header": "Using Train Schedules", + "create.ponder.train_schedule.text_1": "Schedules allow Trains to be controlled by other Drivers", + "create.ponder.train_schedule.text_2": "Right-click with the item in hand to open its Interface", + "create.ponder.train_schedule.text_3": "Once programmed, the Schedule can be handed off to a Train Driver", + "create.ponder.train_schedule.text_4": "Any mob or blaze burner sitting in front of Train Controls is an eligible conductor", + "create.ponder.train_schedule.text_5": "Creatures on a lead can be given their seat more conveniently", + "create.ponder.train_schedule.text_6": "Schedules can be retrieved from Drivers at any moment", + "create.ponder.train_signal_placement.header": "Placing Train Signals", + "create.ponder.train_signal_placement.text_1": "Select a Train Track then place the Signal nearby", + "create.ponder.train_signal_placement.text_2": "Signals control the flow of Trains not driven by players", + "create.ponder.train_signal_placement.text_3": "Scheduled Trains will never cross signals in the opposite direction", + "create.ponder.train_signal_placement.text_4": "...unless a second signal is added facing the opposite way.", + "create.ponder.train_signal_placement.text_5": "Nixie tubes can be attached to make a signal's lights more visible", + "create.ponder.train_signal_redstone.header": "Signals & Redstone", + "create.ponder.train_signal_redstone.text_1": "Signals can be forced red by a redstone signal", + "create.ponder.train_signal_redstone.text_2": "Conversely, red signals emit a comparator output", + "create.ponder.train_signal_signaling.header": "Collision Prevention with Signals", + "create.ponder.train_signal_signaling.text_1": "Train Signals divide a track into segments", + "create.ponder.train_signal_signaling.text_2": "If a Segment is occupied, no other Trains will be allowed entry", + "create.ponder.train_signal_signaling.text_3": "Thus, each Segment will contain only one Train at a time", + "create.ponder.train_signal_signaling.text_4": "A second Signal mode is available via the Wrench", + "create.ponder.train_signal_signaling.text_5": "Segments of a brass signal usually lead into standard signals", + "create.ponder.train_signal_signaling.text_6": "This special Signal can stop trains under a second condition", + "create.ponder.train_signal_signaling.text_7": "It will stop Trains, which, upon entering...", + "create.ponder.train_signal_signaling.text_8": "...would not be able to leave the Segment immediately", + "create.ponder.train_signal_signaling.text_9": "This helps keeping queued Trains out of a busy Segment", + "create.ponder.valve_handle.header": "Precise rotation using Valve Handles", + "create.ponder.valve_handle.text_1": "Valve handles can be used to rotate components by a precise angle", + "create.ponder.valve_handle.text_2": "The angle can be configured on the input panel", + "create.ponder.valve_handle.text_3": "Right-Click to activate one rotation", + "create.ponder.valve_handle.text_4": "Sneak-Right-Click to activate it in the opposite direction", + "create.ponder.valve_handle.text_5": "Mind that Bearings have to be specifically told not to disassemble", + "create.ponder.valve_handle.text_6": "Valve handles can be dyed for aesthetic purposes", + "create.ponder.valve_pipe.header": "Controlling Fluid flow using Valves", + "create.ponder.valve_pipe.text_1": "Valve pipes help control fluids propagating through pipe networks", + "create.ponder.valve_pipe.text_2": "Their shaft input controls whether fluid is currently allowed through", + "create.ponder.valve_pipe.text_3": "Given Rotational Force in the opening direction, the valve will open up", + "create.ponder.valve_pipe.text_4": "It can be closed again by reversing the input rotation", + "create.ponder.water_wheel.header": "Generating Rotational Force using Water Wheels", + "create.ponder.water_wheel.text_1": "Water Wheels draw force from adjacent Water Currents", + "create.ponder.water_wheel.text_2": "Covering additional sides will not improve its kinetic output further", + "create.ponder.water_wheel.text_3": "Use wood planks on the wheel to change its appearance", + "create.ponder.weighted_ejector.header": "Using Weighted Ejectors", + "create.ponder.weighted_ejector.text_1": "Sneak and Right-Click holding an Ejector to select its target location", + "create.ponder.weighted_ejector.text_10": "It is now limited to this stack size, and only activates when its held stack reaches this amount", + "create.ponder.weighted_ejector.text_11": "Mobs and Players will always trigger an Ejector when stepping on it", + "create.ponder.weighted_ejector.text_2": "The placed ejector will now launch objects to the marked location", + "create.ponder.weighted_ejector.text_3": "A valid target can be at any height or distance within range", + "create.ponder.weighted_ejector.text_4": "They cannot however be off to a side", + "create.ponder.weighted_ejector.text_5": "If no valid Target was selected, it will simply target the block directly in front", + "create.ponder.weighted_ejector.text_6": "Supply Rotational Force in order to charge it up", + "create.ponder.weighted_ejector.text_7": "Items placed on the ejector cause it to trigger", + "create.ponder.weighted_ejector.text_8": "If Inventories are targeted, the ejector will wait until there is space", + "create.ponder.weighted_ejector.text_9": "Using the value panel, a required Stack Size can be configured", + "create.ponder.weighted_ejector_redstone.header": "Controlling Weighted Ejectors with Redstone", + "create.ponder.weighted_ejector_redstone.text_1": "When powered by Redstone, Ejectors will not activate", + "create.ponder.weighted_ejector_redstone.text_2": "Observers can detect when Ejectors activate", + "create.ponder.weighted_ejector_tunnel.header": "Splitting item stacks using Weighted Ejectors", + "create.ponder.weighted_ejector_tunnel.text_1": "Combined with Brass Tunnels, Ejectors can split item stacks by specific amounts", + "create.ponder.weighted_ejector_tunnel.text_2": "First, configure the Brass Tunnel to 'Prefer Nearest', in order to prioritize its side output", + "create.ponder.weighted_ejector_tunnel.text_3": "The Stack Size set on the Ejector now determines the amount to be split off", + "create.ponder.weighted_ejector_tunnel.text_4": "While a new stack of the configured size exits the side output...", + "create.ponder.weighted_ejector_tunnel.text_5": "...the remainder will continue on its path", + "create.ponder.windmill_source.header": "Generating Rotational Force using Windmill Bearings", + "create.ponder.windmill_source.text_1": "Windmill Bearings attach to the block in front of them", + "create.ponder.windmill_source.text_2": "Create a movable structure with the help of Super Glue", + "create.ponder.windmill_source.text_3": "If enough Sail-like blocks are included, this can act as a Windmill", + "create.ponder.windmill_source.text_4": "Activated with Right-Click, the Windmill Bearing will start providing Rotational Force", + "create.ponder.windmill_source.text_5": "The Amount of Sail Blocks determine its Rotation Speed", + "create.ponder.windmill_source.text_6": "Use the value panel to configure its rotation direction", + "create.ponder.windmill_source.text_7": "Right-click the Bearing anytime to stop and edit the Structure again", + "create.ponder.windmill_structure.header": "Windmill Contraptions", + "create.ponder.windmill_structure.text_1": "Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks." } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllSoundEvents.java b/src/main/java/com/simibubi/create/AllSoundEvents.java index 2128825a6..23aadfbf9 100644 --- a/src/main/java/com/simibubi/create/AllSoundEvents.java +++ b/src/main/java/com/simibubi/create/AllSoundEvents.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.BiConsumer; import java.util.function.Supplier; import com.google.gson.Gson; @@ -318,12 +319,10 @@ public class AllSoundEvents { entry.register(registry); } - public static JsonObject provideLangEntries() { - JsonObject object = new JsonObject(); + public static void consumeLang(BiConsumer consumer) { for (SoundEntry entry : ALL.values()) if (entry.hasSubtitle()) - object.addProperty(entry.getSubtitleKey(), entry.getSubtitle()); - return object; + consumer.accept(entry.getSubtitleKey(), entry.getSubtitle()); } public static SoundEntryProvider provider(DataGenerator generator) { diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index 523dffa64..67b015d6a 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -27,15 +27,7 @@ import com.simibubi.create.content.trains.bogey.BogeySizes; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.block.CopperRegistries; -import com.simibubi.create.foundation.data.AllLangPartials; import com.simibubi.create.foundation.data.CreateRegistrate; -import com.simibubi.create.foundation.data.LangMerger; -import com.simibubi.create.foundation.data.RecipeSerializerTagGen; -import com.simibubi.create.foundation.data.TagGen; -import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeGen; -import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen; -import com.simibubi.create.foundation.data.recipe.SequencedAssemblyRecipeGen; -import com.simibubi.create.foundation.data.recipe.StandardRecipeGen; import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.item.KineticStats; import com.simibubi.create.foundation.item.TooltipHelper.Palette; @@ -43,12 +35,12 @@ import com.simibubi.create.foundation.item.TooltipModifier; import com.simibubi.create.foundation.utility.AttachedRegistry; import com.simibubi.create.infrastructure.command.ServerLagger; import com.simibubi.create.infrastructure.config.AllConfigs; +import com.simibubi.create.infrastructure.data.CreateDatagen; import com.simibubi.create.infrastructure.worldgen.AllFeatures; import com.simibubi.create.infrastructure.worldgen.AllOreFeatureConfigEntries; import com.simibubi.create.infrastructure.worldgen.AllPlacementModifiers; import com.simibubi.create.infrastructure.worldgen.BuiltinRegistration; -import net.minecraft.data.DataGenerator; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.entity.Entity; @@ -63,7 +55,6 @@ import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.forge.event.lifecycle.GatherDataEvent; @Mod(Create.ID) public class Create { @@ -151,7 +142,7 @@ public class Create { CopperRegistries.inject(); modEventBus.addListener(Create::init); - modEventBus.addListener(EventPriority.LOWEST, Create::gatherData); + modEventBus.addListener(EventPriority.LOWEST, CreateDatagen::gatherData); modEventBus.addGenericListener(SoundEvent.class, AllSoundEvents::register); forgeEventBus.addListener(EventPriority.HIGH, SlidingDoorBlock::stopItQuark); @@ -177,24 +168,6 @@ public class Create { }); } - public static void gatherData(GatherDataEvent event) { - TagGen.datagen(); - DataGenerator gen = event.getGenerator(); - if (event.includeClient()) { - gen.addProvider(new LangMerger(gen, ID, NAME, AllLangPartials.values())); - gen.addProvider(AllSoundEvents.provider(gen)); - } - if (event.includeServer()) { - gen.addProvider(new RecipeSerializerTagGen(gen, event.getExistingFileHelper())); - gen.addProvider(new AllAdvancements(gen)); - gen.addProvider(new StandardRecipeGen(gen)); - gen.addProvider(new MechanicalCraftingRecipeGen(gen)); - gen.addProvider(new SequencedAssemblyRecipeGen(gen)); - ProcessingRecipeGen.registerAll(gen); -// AllOreFeatureConfigEntries.gatherData(event); - } - } - public static ResourceLocation asResource(String path) { return new ResourceLocation(ID, path); } diff --git a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java index d667b0f42..8caf3cd04 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java @@ -10,6 +10,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.UnaryOperator; @@ -18,7 +19,6 @@ import org.slf4j.Logger; import com.google.common.collect.Sets; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import com.google.gson.JsonObject; import com.mojang.logging.LogUtils; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllFluids; @@ -656,11 +656,9 @@ public class AllAdvancements implements DataProvider { return "Create's Advancements"; } - public static JsonObject provideLangEntries() { - JsonObject object = new JsonObject(); + public static void consumeLang(BiConsumer consumer) { for (CreateAdvancement advancement : ENTRIES) - advancement.appendToLang(object); - return object; + advancement.consumeLang(consumer); } public static void register() {} diff --git a/src/main/java/com/simibubi/create/foundation/advancement/CreateAdvancement.java b/src/main/java/com/simibubi/create/foundation/advancement/CreateAdvancement.java index 29ecb546a..a9ac5ec14 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/CreateAdvancement.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/CreateAdvancement.java @@ -1,9 +1,9 @@ package com.simibubi.create.foundation.advancement; +import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.UnaryOperator; -import com.google.gson.JsonObject; import com.simibubi.create.Create; import com.simibubi.create.foundation.utility.Components; import com.tterrag.registrate.util.entry.ItemProviderEntry; @@ -30,7 +30,7 @@ public class CreateAdvancement { static final ResourceLocation BACKGROUND = Create.asResource("textures/gui/advancements.png"); static final String LANG = "advancement." + Create.ID + "."; - static final String SECRET_SUFFIX = "\u00A77\n(Hidden Advancement)"; + static final String SECRET_SUFFIX = "\n\u00A77(Hidden Advancement)"; private Advancement.Builder builder; private SimpleCreateTrigger builtinTrigger; @@ -101,9 +101,9 @@ public class CreateAdvancement { .toString()); } - void appendToLang(JsonObject object) { - object.addProperty(titleKey(), title); - object.addProperty(descriptionKey(), description); + void consumeLang(BiConsumer consumer) { + consumer.accept(titleKey(), title); + consumer.accept(descriptionKey(), description); } static enum TaskType { diff --git a/src/main/java/com/simibubi/create/foundation/data/AllLangPartials.java b/src/main/java/com/simibubi/create/foundation/data/AllLangPartials.java deleted file mode 100644 index ff55e5a45..000000000 --- a/src/main/java/com/simibubi/create/foundation/data/AllLangPartials.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.simibubi.create.foundation.data; - -import com.google.common.base.Supplier; -import com.google.gson.JsonElement; -import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.Create; -import com.simibubi.create.foundation.advancement.AllAdvancements; -import com.simibubi.create.foundation.ponder.PonderLocalization; -import com.simibubi.create.foundation.utility.Lang; - -public enum AllLangPartials implements LangPartial { - - ADVANCEMENTS("Advancements", AllAdvancements::provideLangEntries), - INTERFACE("UI & Messages"), - SUBTITLES("Subtitles", AllSoundEvents::provideLangEntries), - TOOLTIPS("Item Descriptions"), - PONDER("Ponder Content", PonderLocalization::provideLangEntries), - - ; - - private final String displayName; - private final Supplier provider; - - private AllLangPartials(String displayName) { - this.displayName = displayName; - String fileName = Lang.asId(name()); - this.provider = () -> LangPartial.fromResource(Create.ID, fileName); - } - - private AllLangPartials(String displayName, Supplier provider) { - this.displayName = displayName; - this.provider = provider; - } - - @Override - public String getDisplayName() { - return displayName; - } - - @Override - public JsonElement provide() { - return provider.get(); - } - -} diff --git a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java index 9b17c2537..93ff69c18 100644 --- a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java +++ b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java @@ -2,10 +2,12 @@ package com.simibubi.create.foundation.data; import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; +import java.util.Map; import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Supplier; +import java.util.function.UnaryOperator; import org.jetbrains.annotations.Nullable; @@ -22,6 +24,7 @@ import com.tterrag.registrate.builders.BlockBuilder; import com.tterrag.registrate.builders.BlockEntityBuilder.BlockEntityFactory; import com.tterrag.registrate.builders.Builder; import com.tterrag.registrate.builders.FluidBuilder; +import com.tterrag.registrate.providers.ProviderType; import com.tterrag.registrate.util.entry.RegistryEntry; import com.tterrag.registrate.util.nullness.NonNullBiFunction; import com.tterrag.registrate.util.nullness.NonNullConsumer; @@ -43,16 +46,24 @@ import net.minecraft.world.level.block.state.BlockBehaviour.Properties; import net.minecraft.world.level.material.Fluid; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.data.loading.DatagenModLoader; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fluids.FluidAttributes; import net.minecraftforge.fluids.ForgeFlowingFluid; import net.minecraftforge.fml.DistExecutor; +import net.minecraftforge.forge.event.lifecycle.GatherDataEvent; import net.minecraftforge.registries.IForgeRegistryEntry; import net.minecraftforge.registries.RegistryObject; public class CreateRegistrate extends AbstractRegistrate { + protected final NonNullSupplier doDatagen = NonNullSupplier.lazy(DatagenModLoader::isRunningDataGen); + @Nullable protected Function currentTooltipModifierFactory; + @Nullable + protected UnaryOperator> deferredLangPostprocessor; + + protected boolean hasDataProvider = false; protected CreateRegistrate(String modid) { super(modid); @@ -72,11 +83,39 @@ public class CreateRegistrate extends AbstractRegistrate { return currentTooltipModifierFactory; } + /** + * Use {@link #addRawLang(String, String)} instead where possible! + */ + public void addLangPostprocessor(UnaryOperator> langPostprocessor) { + if (!doDatagen.get()) { + return; + } + + if (hasDataProvider) { + ((LanguageProviderExtension) getDataProvider(ProviderType.LANG).orElseThrow()).create$addPostprocessor(langPostprocessor); + } else { + if (this.deferredLangPostprocessor == null) { + this.deferredLangPostprocessor = langPostprocessor; + } else { + UnaryOperator> current = this.deferredLangPostprocessor; + this.deferredLangPostprocessor = entries -> langPostprocessor.apply(current.apply(entries)); + } + } + } + @Override public CreateRegistrate registerEventListeners(IEventBus bus) { return super.registerEventListeners(bus); } + @Override + protected void onData(GatherDataEvent event) { + super.onData(event); + hasDataProvider = true; + ((LanguageProviderExtension) getDataProvider(ProviderType.LANG).orElseThrow()).create$addPostprocessor(deferredLangPostprocessor); + deferredLangPostprocessor = null; + } + @Override protected , T extends R> RegistryEntry accept(String name, ResourceKey> type, Builder builder, NonNullSupplier creator, NonNullFunction, ? extends RegistryEntry> entryFactory) { RegistryEntry entry = super.accept(name, type, builder, creator, entryFactory); 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 e5bed3d01..efcfa4cdc 100644 --- a/src/main/java/com/simibubi/create/foundation/data/LangMerger.java +++ b/src/main/java/com/simibubi/create/foundation/data/LangMerger.java @@ -16,12 +16,17 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; import com.simibubi.create.Create; import com.simibubi.create.foundation.ponder.PonderScene; +import com.tterrag.registrate.AbstractRegistrate; import net.minecraft.data.DataGenerator; import net.minecraft.data.DataProvider; import net.minecraft.data.HashCache; import net.minecraft.util.GsonHelper; +/** + * @deprecated Use {@link AbstractRegistrate#addRawLang} or, if absolutely necessary, {@link CreateRegistrate#addLangPostprocessor} instead. + */ +@Deprecated(forRemoval = true) public class LangMerger implements DataProvider { private static final Gson GSON = new GsonBuilder().setPrettyPrinting() diff --git a/src/main/java/com/simibubi/create/foundation/data/LangPartial.java b/src/main/java/com/simibubi/create/foundation/data/LangPartial.java index a81807588..461c46bfc 100644 --- a/src/main/java/com/simibubi/create/foundation/data/LangPartial.java +++ b/src/main/java/com/simibubi/create/foundation/data/LangPartial.java @@ -2,7 +2,12 @@ package com.simibubi.create.foundation.data; import com.google.gson.JsonElement; import com.simibubi.create.foundation.utility.FilesHelper; +import com.tterrag.registrate.AbstractRegistrate; +/** + * @deprecated Use {@link AbstractRegistrate#addRawLang} or, if absolutely necessary, {@link CreateRegistrate#addLangPostprocessor} instead. + */ +@Deprecated(forRemoval = true) public interface LangPartial { String getDisplayName(); diff --git a/src/main/java/com/simibubi/create/foundation/data/LanguageProviderExtension.java b/src/main/java/com/simibubi/create/foundation/data/LanguageProviderExtension.java new file mode 100644 index 000000000..1f4b2f7be --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/data/LanguageProviderExtension.java @@ -0,0 +1,8 @@ +package com.simibubi.create.foundation.data; + +import java.util.Map; +import java.util.function.UnaryOperator; + +public interface LanguageProviderExtension { + void create$addPostprocessor(UnaryOperator> postprocessor); +} diff --git a/src/main/java/com/simibubi/create/foundation/data/TagGen.java b/src/main/java/com/simibubi/create/foundation/data/TagGen.java index 0fe706f4e..b32082d55 100644 --- a/src/main/java/com/simibubi/create/foundation/data/TagGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/TagGen.java @@ -1,30 +1,15 @@ package com.simibubi.create.foundation.data; import com.simibubi.create.AllTags; -import com.simibubi.create.AllTags.AllBlockTags; -import com.simibubi.create.AllTags.AllEntityTags; -import com.simibubi.create.AllTags.AllFluidTags; -import com.simibubi.create.AllTags.AllItemTags; -import com.simibubi.create.Create; import com.simibubi.create.foundation.data.recipe.Mods; import com.tterrag.registrate.builders.BlockBuilder; import com.tterrag.registrate.builders.ItemBuilder; -import com.tterrag.registrate.providers.ProviderType; -import com.tterrag.registrate.providers.RegistrateTagsProvider; import com.tterrag.registrate.util.nullness.NonNullFunction; import net.minecraft.data.tags.TagsProvider.TagAppender; import net.minecraft.tags.BlockTags; -import net.minecraft.tags.ItemTags; -import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.Fluid; -import net.minecraft.world.level.material.Fluids; -import net.minecraftforge.common.Tags; public class TagGen { public static NonNullFunction, BlockBuilder> axeOrPickaxe() { @@ -63,200 +48,4 @@ public class TagGen { } return appender; } - - public static void datagen() { - Create.REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, TagGen::genBlockTags); - Create.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, TagGen::genItemTags); - Create.REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, TagGen::genFluidTags); - Create.REGISTRATE.addDataGenerator(ProviderType.ENTITY_TAGS, TagGen::genEntityTags); - } - - private static void genBlockTags(RegistrateTagsProvider prov) { - prov.tag(AllBlockTags.BRITTLE.tag) - .add(Blocks.BELL, Blocks.COCOA, Blocks.FLOWER_POT) - .addTag(BlockTags.BEDS) - .addTag(BlockTags.DOORS); - - prov.tag(AllBlockTags.MOVABLE_EMPTY_COLLIDER.tag) - .add(Blocks.COBWEB, Blocks.POWDER_SNOW, Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK) - .addTag(BlockTags.FENCE_GATES); - - prov.tag(AllBlockTags.FAN_TRANSPARENT.tag) - .add(Blocks.IRON_BARS) - .addTag(BlockTags.CAMPFIRES) - .addTag(BlockTags.FENCES) - .addTag(BlockTags.LEAVES); - - prov.tag(AllBlockTags.ORE_OVERRIDE_STONE.tag) - .addTag(BlockTags.STONE_ORE_REPLACEABLES); - - prov.tag(AllBlockTags.PASSIVE_BOILER_HEATERS.tag) - .add(Blocks.MAGMA_BLOCK, Blocks.LAVA) - .addTag(BlockTags.CAMPFIRES) - .addTag(BlockTags.FIRE); - - prov.tag(AllBlockTags.SAFE_NBT.tag) - .addTag(BlockTags.BANNERS) - .addTag(BlockTags.SIGNS); - - prov.tag(AllBlockTags.TREE_ATTACHMENTS.tag) - .add(Blocks.BEE_NEST, Blocks.COCOA, Blocks.MOSS_CARPET, Blocks.SHROOMLIGHT, Blocks.VINE); - - prov.tag(AllBlockTags.WINDMILL_SAILS.tag) - .addTag(BlockTags.WOOL); - - prov.tag(AllBlockTags.WRENCH_PICKUP.tag) - .add(Blocks.REDSTONE_WIRE, Blocks.REDSTONE_TORCH, Blocks.REPEATER, Blocks.LEVER, - Blocks.COMPARATOR, Blocks.OBSERVER, Blocks.REDSTONE_WALL_TORCH, Blocks.PISTON, Blocks.STICKY_PISTON, - Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK, Blocks.DAYLIGHT_DETECTOR, Blocks.TARGET, Blocks.HOPPER) - .addTag(BlockTags.BUTTONS) - .addTag(BlockTags.PRESSURE_PLATES) - .addTag(BlockTags.RAILS); - - prov.tag(AllBlockTags.COPYCAT_ALLOW.tag) - .add(Blocks.BARREL); - prov.tag(AllBlockTags.COPYCAT_DENY.tag) - .addTag(BlockTags.CAULDRONS) - .addTag(BlockTags.SAPLINGS) - .addTag(BlockTags.CLIMBABLE); - - // COMPAT - - addOptional(prov.tag(AllBlockTags.NON_MOVABLE.tag), Mods.IE, - "connector_lv", "connector_lv_relay", "connector_mv", "connector_mv_relay", - "connector_hv", "connector_hv_relay", "connector_bundled", "connector_structural", - "connector_redstone", "connector_probe", "breaker_switch"); - - // VALIDATE - - for (AllBlockTags tag : AllBlockTags.values()) { - if (tag.alwaysDatagen) { - prov.getOrCreateRawBuilder(tag.tag); - } - } - } - - private static void genItemTags(RegistrateTagsProvider prov) { - prov.tag(AllItemTags.SLEEPERS.tag) - .add(Items.STONE_SLAB, Items.SMOOTH_STONE_SLAB, Items.ANDESITE_SLAB); - - prov.tag(AllItemTags.STRIPPED_LOGS.tag) - .addTag(AllItemTags.VANILLA_STRIPPED_LOGS.tag) - .addTag(AllItemTags.MODDED_STRIPPED_LOGS.tag); - - prov.tag(AllItemTags.STRIPPED_WOOD.tag) - .addTag(AllItemTags.VANILLA_STRIPPED_WOOD.tag) - .addTag(AllItemTags.MODDED_STRIPPED_WOOD.tag); - - prov.tag(AllItemTags.DEPLOYABLE_DRINK.tag) - .add(Items.MILK_BUCKET, Items.POTION); - - prov.tag(AllItemTags.UPRIGHT_ON_BELT.tag) - .add(Items.GLASS_BOTTLE, Items.POTION, Items.SPLASH_POTION, Items.LINGERING_POTION, - Items.HONEY_BOTTLE, Items.CAKE); - - prov.tag(AllItemTags.CONTRAPTION_CONTROLLED.tag) - .add(Items.BELL, Items.CAMPFIRE, Items.SOUL_CAMPFIRE, Items.DISPENSER, Items.DROPPER); - - prov.tag(AllItemTags.VANILLA_STRIPPED_LOGS.tag) - .add(Items.STRIPPED_ACACIA_LOG, Items.STRIPPED_BIRCH_LOG, Items.STRIPPED_CRIMSON_STEM, - Items.STRIPPED_DARK_OAK_LOG, Items.STRIPPED_JUNGLE_LOG, Items.STRIPPED_OAK_LOG, - Items.STRIPPED_SPRUCE_LOG, Items.STRIPPED_WARPED_STEM); - - prov.tag(AllItemTags.VANILLA_STRIPPED_WOOD.tag) - .add(Items.STRIPPED_ACACIA_WOOD, Items.STRIPPED_BIRCH_WOOD, - Items.STRIPPED_CRIMSON_HYPHAE, Items.STRIPPED_DARK_OAK_WOOD, Items.STRIPPED_JUNGLE_WOOD, - Items.STRIPPED_OAK_WOOD, Items.STRIPPED_SPRUCE_WOOD, Items.STRIPPED_WARPED_HYPHAE); - - prov.tag(ItemTags.BEACON_PAYMENT_ITEMS) - .addTag(AllItemTags.CREATE_INGOTS.tag); - - prov.tag(Tags.Items.INGOTS) - .addTag(AllItemTags.CREATE_INGOTS.tag); - - // COMPAT - - genStrippedWood(prov); - - // VALIDATE - - for (AllItemTags tag : AllItemTags.values()) { - if (tag.alwaysDatagen) { - prov.getOrCreateRawBuilder(tag.tag); - } - } - } - - private static void genStrippedWood(RegistrateTagsProvider prov) { - TagAppender logAppender = prov.tag(AllItemTags.MODDED_STRIPPED_LOGS.tag); - TagAppender woodAppender = prov.tag(AllItemTags.MODDED_STRIPPED_WOOD.tag); - StrippedWoodHelper helper = new StrippedWoodHelper(logAppender, woodAppender); - - helper.add(Mods.ARS_N, "blue_archwood", "purple_archwood", "green_archwood", "red_archwood"); - helper.add(Mods.BTN, "livingwood", "dreamwood"); - helper.add(Mods.FA, "cherrywood", "mysterywood"); - helper.add(Mods.HEX, "akashic"); - helper.add(Mods.ID, "menril"); - helper.add(Mods.BYG, "aspen", "baobab", "enchanted", "cherry", "cika", "cypress", "ebony", "ether", - "fir", "green_enchanted", "holly", "jacaranda", "lament", "mahogany", "mangrove", "maple", "nightshade", - "palm", "palo_verde", "pine", "rainbow_eucalyptus", "redwood", "skyris", "willow", "witch_hazel", - "zelkova"); - helper.add(Mods.SG, "netherwood"); - helper.add(Mods.TF, "twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining", - "sorting"); - helper.add(Mods.TIC, "greenheart", "skyroot", "bloodshroom"); - helper.add(Mods.AP, "twisted"); - helper.add(Mods.Q, "azalea", "blossom"); - helper.add(Mods.ECO, "coconut", "walnut", "azalea"); - helper.add(Mods.BOP, "fir", "redwood", "cherry", "mahogany", "jacaranda", "palm", "willow", "dead", - "magic", "umbran", "hellbark"); - helper.add(Mods.BSK, "bluebright", "starlit", "frostbright", "lunar", "dusk", "maple", "cherry"); - - addOptional(logAppender, Mods.BYG, "stripped_bulbis_stem"); - addOptional(woodAppender, Mods.BYG, "stripped_bulbis_wood"); - } - - private static void genFluidTags(RegistrateTagsProvider prov) { - prov.tag(AllFluidTags.BOTTOMLESS_ALLOW.tag) - .add(Fluids.WATER, Fluids.LAVA); - - // VALIDATE - - for (AllFluidTags tag : AllFluidTags.values()) { - if (tag.alwaysDatagen) { - prov.getOrCreateRawBuilder(tag.tag); - } - } - } - - private static void genEntityTags(RegistrateTagsProvider> prov) { - - // VALIDATE - - for (AllEntityTags tag : AllEntityTags.values()) { - if (tag.alwaysDatagen) { - prov.getOrCreateRawBuilder(tag.tag); - } - } - } - - private static class StrippedWoodHelper { - protected final TagAppender logAppender; - protected final TagAppender woodAppender; - - public StrippedWoodHelper(TagAppender logAppender, TagAppender woodAppender) { - this.logAppender = logAppender; - this.woodAppender = woodAppender; - } - - public void add(Mods mod, String... woodTypes) { - for (String type : woodTypes) { - String strippedPre = mod.strippedIsSuffix ? "" : "stripped_"; - String strippedPost = mod.strippedIsSuffix ? "_stripped" : ""; - addOptional(logAppender, mod, strippedPre + type + "_log" + strippedPost); - addOptional(woodAppender, mod, strippedPre + type + (mod.omitWoodSuffix ? "" : "_wood") + strippedPost); - } - } - } - } diff --git a/src/main/java/com/simibubi/create/foundation/mixin/LanguageProviderMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/LanguageProviderMixin.java new file mode 100644 index 000000000..6797d9444 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/mixin/LanguageProviderMixin.java @@ -0,0 +1,48 @@ +package com.simibubi.create.foundation.mixin; + +import java.util.Map; +import java.util.function.UnaryOperator; + +import org.jetbrains.annotations.Nullable; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.At.Shift; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.simibubi.create.foundation.data.LanguageProviderExtension; + +import net.minecraftforge.common.data.LanguageProvider; + +@Mixin(LanguageProvider.class) +public class LanguageProviderMixin implements LanguageProviderExtension { + @Shadow + @Final + @Mutable + private Map data; + + @Unique + @Nullable + private UnaryOperator> postprocessor; + + @Override + public void create$addPostprocessor(UnaryOperator> postprocessor) { + if (this.postprocessor == null) { + this.postprocessor = postprocessor; + } else { + UnaryOperator> current = this.postprocessor; + this.postprocessor = entries -> postprocessor.apply(current.apply(entries)); + } + } + + @Inject(method = "run", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/common/data/LanguageProvider;addTranslations()V", shift = Shift.AFTER, remap = false)) + private void create$afterAddTranslations(CallbackInfo ci) { + if (postprocessor != null) { + data = postprocessor.apply(data); + } + } +} 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 69c3e918f..15a167af2 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderLocalization.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderLocalization.java @@ -2,24 +2,17 @@ package com.simibubi.create.foundation.ponder; import java.util.HashMap; import java.util.Map; +import java.util.function.BiConsumer; -import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.simibubi.create.Create; -import com.simibubi.create.foundation.ponder.ui.PonderTagIndexScreen; -import com.simibubi.create.foundation.ponder.ui.PonderTagScreen; -import com.simibubi.create.foundation.ponder.ui.PonderUI; import com.simibubi.create.foundation.utility.Couple; -import com.simibubi.create.infrastructure.ponder.AllPonderTags; import com.simibubi.create.infrastructure.ponder.PonderIndex; -import com.simibubi.create.infrastructure.ponder.SharedText; import com.tterrag.registrate.AbstractRegistrate; import net.minecraft.client.resources.language.I18n; import net.minecraft.resources.ResourceLocation; public class PonderLocalization { - static final Map SHARED = new HashMap<>(); static final Map> TAG = new HashMap<>(); static final Map CHAPTER = new HashMap<>(); @@ -46,6 +39,30 @@ public class PonderLocalization { // + public static final String LANG_PREFIX = "ponder."; + + protected static String langKeyForShared(ResourceLocation k) { + return k.getNamespace() + "." + LANG_PREFIX + "shared." + k.getPath(); + } + + protected static String langKeyForTag(ResourceLocation k) { + return k.getNamespace() + "." + LANG_PREFIX + "tag." + k.getPath(); + } + + protected static String langKeyForTagDescription(ResourceLocation k) { + return k.getNamespace() + "." + LANG_PREFIX + "tag." + k.getPath() + ".description"; + } + + protected static String langKeyForChapter(ResourceLocation k) { + return k.getNamespace() + "." + LANG_PREFIX + "chapter." + k.getPath(); + } + + protected static String langKeyForSpecific(ResourceLocation sceneId, String k) { + return sceneId.getNamespace() + "." + LANG_PREFIX + sceneId.getPath() + "." + k; + } + + // + public static String getShared(ResourceLocation key) { if (PonderIndex.editingModeActive()) return SHARED.containsKey(key) ? SHARED.get(key) : ("unregistered shared entry: " + key); @@ -81,25 +98,37 @@ public class PonderLocalization { // - public static final String LANG_PREFIX = "ponder."; + private static boolean sceneLangGenerated = false; - public static void record(String namespace, JsonObject object) { + public static void generateSceneLang() { + if (sceneLangGenerated) { + return; + } + + sceneLangGenerated = true; + PonderRegistry.ALL.forEach((id, list) -> { + for (int i = 0; i < list.size(); i++) + PonderRegistry.compileScene(i, list.get(i), null); + }); + } + + public static void consumeLang(String namespace, BiConsumer consumer) { SHARED.forEach((k, v) -> { if (k.getNamespace().equals(namespace)) { - object.addProperty(langKeyForShared(k), v); + consumer.accept(langKeyForShared(k), v); } }); TAG.forEach((k, v) -> { if (k.getNamespace().equals(namespace)) { - object.addProperty(langKeyForTag(k), v.getFirst()); - object.addProperty(langKeyForTagDescription(k), v.getSecond()); + consumer.accept(langKeyForTag(k), v.getFirst()); + consumer.accept(langKeyForTagDescription(k), v.getSecond()); } }); CHAPTER.forEach((k, v) -> { if (k.getNamespace().equals(namespace)) { - object.addProperty(langKeyForChapter(k), v); + consumer.accept(langKeyForChapter(k), v); } }); @@ -112,93 +141,18 @@ public class PonderLocalization { .entrySet() .stream() .sorted(Map.Entry.comparingByKey()) - .forEach(subEntry -> object.addProperty( + .forEach(subEntry -> consumer.accept( langKeyForSpecific(entry.getKey(), subEntry.getKey()), subEntry.getValue())); }); } - private static void recordGeneral(JsonObject object) { - addGeneral(object, PonderTooltipHandler.HOLD_TO_PONDER, "Hold [%1$s] to Ponder"); - addGeneral(object, PonderTooltipHandler.SUBJECT, "Subject of this scene"); - addGeneral(object, PonderUI.PONDERING, "Pondering about..."); - addGeneral(object, PonderUI.IDENTIFY_MODE, "Identify mode active.\nUnpause with [%1$s]"); - addGeneral(object, PonderTagScreen.ASSOCIATED, "Associated Entries"); - - addGeneral(object, PonderUI.CLOSE, "Close"); - addGeneral(object, PonderUI.IDENTIFY, "Identify"); - addGeneral(object, PonderUI.NEXT, "Next Scene"); - addGeneral(object, PonderUI.NEXT_UP, "Up Next:"); - addGeneral(object, PonderUI.PREVIOUS, "Previous Scene"); - addGeneral(object, PonderUI.REPLAY, "Replay"); - addGeneral(object, PonderUI.THINK_BACK, "Think Back"); - addGeneral(object, PonderUI.SLOW_TEXT, "Comfy Reading"); - - addGeneral(object, PonderTagIndexScreen.EXIT, "Exit"); - addGeneral(object, PonderTagIndexScreen.WELCOME, "Welcome to Ponder"); - addGeneral(object, PonderTagIndexScreen.CATEGORIES, "Available Categories in Create"); - addGeneral(object, PonderTagIndexScreen.DESCRIPTION, - "Click one of the icons to learn about its associated Items and Blocks"); - addGeneral(object, PonderTagIndexScreen.TITLE, "Ponder Index"); - } - - private static void addGeneral(JsonObject json, String key, String enUS) { - json.addProperty(Create.ID + "." + key, enUS); - } - - public static void generateSceneLang() { - PonderRegistry.ALL.forEach((id, list) -> { - for (int i = 0; i < list.size(); i++) - PonderRegistry.compileScene(i, list.get(i), null); - }); - } - - /** - * Internal use only. - */ - public static JsonObject provideLangEntries() { - SharedText.gatherText(); - AllPonderTags.register(); - PonderIndex.register(); - - generateSceneLang(); - - JsonObject object = new JsonObject(); - recordGeneral(object); - record(Create.ID, object); - return object; + @Deprecated(forRemoval = true) + public static void record(String namespace, JsonObject object) { + consumeLang(namespace, object::addProperty); } public static void provideRegistrateLang(AbstractRegistrate registrate) { generateSceneLang(); - - JsonObject object = new JsonObject(); - record(registrate.getModid(), object); - - for (Map.Entry entry : object.entrySet()) { - registrate.addRawLang(entry.getKey(), entry.getValue().getAsString()); - } + consumeLang(registrate.getModid(), registrate::addRawLang); } - - // - - protected static String langKeyForShared(ResourceLocation k) { - return k.getNamespace() + "." + LANG_PREFIX + "shared." + k.getPath(); - } - - protected static String langKeyForTag(ResourceLocation k) { - return k.getNamespace() + "." + LANG_PREFIX + "tag." + k.getPath(); - } - - protected static String langKeyForTagDescription(ResourceLocation k) { - return k.getNamespace() + "." + LANG_PREFIX + "tag." + k.getPath() + ".description"; - } - - protected static String langKeyForChapter(ResourceLocation k) { - return k.getNamespace() + "." + LANG_PREFIX + "chapter." + k.getPath(); - } - - protected static String langKeyForSpecific(ResourceLocation sceneId, String k) { - return sceneId.getNamespace() + "." + LANG_PREFIX + sceneId.getPath() + "." + k; - } - } diff --git a/src/main/java/com/simibubi/create/infrastructure/data/CreateDatagen.java b/src/main/java/com/simibubi/create/infrastructure/data/CreateDatagen.java new file mode 100644 index 000000000..31d740f59 --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/data/CreateDatagen.java @@ -0,0 +1,102 @@ +package com.simibubi.create.infrastructure.data; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.function.BiConsumer; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeGen; +import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen; +import com.simibubi.create.foundation.data.recipe.SequencedAssemblyRecipeGen; +import com.simibubi.create.foundation.data.recipe.StandardRecipeGen; +import com.simibubi.create.foundation.ponder.PonderLocalization; +import com.simibubi.create.foundation.utility.FilesHelper; +import com.simibubi.create.infrastructure.ponder.AllPonderTags; +import com.simibubi.create.infrastructure.ponder.GeneralText; +import com.simibubi.create.infrastructure.ponder.PonderIndex; +import com.simibubi.create.infrastructure.ponder.SharedText; + +import net.minecraft.data.DataGenerator; +import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.forge.event.lifecycle.GatherDataEvent; + +public class CreateDatagen { + public static void gatherData(GatherDataEvent event) { + addExtraRegistrateData(); + + DataGenerator generator = event.getGenerator(); + ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); + + if (event.includeClient()) { + generator.addProvider(AllSoundEvents.provider(generator)); + } + + if (event.includeServer()) { + generator.addProvider(new CreateRecipeSerializerTagsProvider(generator, existingFileHelper)); + + generator.addProvider(new AllAdvancements(generator)); + + generator.addProvider(new StandardRecipeGen(generator)); + generator.addProvider(new MechanicalCraftingRecipeGen(generator)); + generator.addProvider(new SequencedAssemblyRecipeGen(generator)); + ProcessingRecipeGen.registerAll(generator); + +// AllOreFeatureConfigEntries.gatherData(event); + } + } + + private static void addExtraRegistrateData() { + CreateRegistrateTags.addGenerators(); + + // Really all additional lang entries should be added using AbstractRegistrate#addRawLang, + // but doing so would change the generated lang entry order and potentially mess up Crowndin. + Create.REGISTRATE.addLangPostprocessor(entries -> { + Map newEntries = new LinkedHashMap<>(entries); + BiConsumer langConsumer = (key, value) -> { + String oldValue = newEntries.put(key, value); + if (oldValue != null) { + Create.LOGGER.warn("Value of lang key '" + key + "' was overridden!"); + } + }; + + AllAdvancements.consumeLang(langConsumer); + consumeDefaultLang("interface", langConsumer); + AllSoundEvents.consumeLang(langConsumer); + consumeDefaultLang("tooltips", langConsumer); + consumePonderLang(langConsumer); + + return newEntries; + }); + } + + private static void consumeDefaultLang(String fileName, BiConsumer consumer) { + String path = "assets/create/lang/default/" + fileName + ".json"; + JsonElement jsonElement = FilesHelper.loadJsonResource(path); + if (jsonElement == null) { + throw new IllegalStateException(String.format("Could not find default lang file: %s", path)); + } + JsonObject jsonObject = jsonElement.getAsJsonObject(); + for (Entry entry : jsonObject.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue().getAsString(); + consumer.accept(key, value); + } + } + + private static void consumePonderLang(BiConsumer consumer) { + // Register these since FMLClientSetupEvent does not run during datagen + AllPonderTags.register(); + PonderIndex.register(); + + SharedText.gatherText(); + PonderLocalization.generateSceneLang(); + + GeneralText.consumeLang(consumer); + PonderLocalization.consumeLang(Create.ID, consumer); + } +} diff --git a/src/main/java/com/simibubi/create/foundation/data/RecipeSerializerTagGen.java b/src/main/java/com/simibubi/create/infrastructure/data/CreateRecipeSerializerTagsProvider.java similarity index 52% rename from src/main/java/com/simibubi/create/foundation/data/RecipeSerializerTagGen.java rename to src/main/java/com/simibubi/create/infrastructure/data/CreateRecipeSerializerTagsProvider.java index 15e8328eb..adebef0a6 100644 --- a/src/main/java/com/simibubi/create/foundation/data/RecipeSerializerTagGen.java +++ b/src/main/java/com/simibubi/create/infrastructure/data/CreateRecipeSerializerTagsProvider.java @@ -1,4 +1,4 @@ -package com.simibubi.create.foundation.data; +package com.simibubi.create.infrastructure.data; import org.jetbrains.annotations.Nullable; @@ -12,20 +12,28 @@ import net.minecraft.data.tags.TagsProvider; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraftforge.common.data.ExistingFileHelper; -public class RecipeSerializerTagGen extends TagsProvider> { - public RecipeSerializerTagGen(DataGenerator generator, @Nullable ExistingFileHelper existingFileHelper) { +public class CreateRecipeSerializerTagsProvider extends TagsProvider> { + public CreateRecipeSerializerTagsProvider(DataGenerator generator, @Nullable ExistingFileHelper existingFileHelper) { super(generator, Registry.RECIPE_SERIALIZER, Create.ID, existingFileHelper); } + @Override + protected void addTags() { + tag(AllRecipeSerializerTags.AUTOMATION_IGNORE.tag) + .addOptional(Mods.OCCULTISM.rl("spirit_trade")) + .addOptional(Mods.OCCULTISM.rl("ritual")); + + // VALIDATE + + for (AllRecipeSerializerTags tag : AllRecipeSerializerTags.values()) { + if (tag.alwaysDatagen) { + getOrCreateRawBuilder(tag.tag); + } + } + } + @Override public String getName() { return "Create's Recipe Serializer Tags"; } - - @Override - protected void addTags() { - this.tag(AllRecipeSerializerTags.AUTOMATION_IGNORE.tag) - .addOptional(Mods.OCCULTISM.rl("spirit_trade")) - .addOptional(Mods.OCCULTISM.rl("ritual")); - } } diff --git a/src/main/java/com/simibubi/create/infrastructure/data/CreateRegistrateTags.java b/src/main/java/com/simibubi/create/infrastructure/data/CreateRegistrateTags.java new file mode 100644 index 000000000..b4e292fb1 --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/data/CreateRegistrateTags.java @@ -0,0 +1,220 @@ +package com.simibubi.create.infrastructure.data; + +import com.simibubi.create.AllTags.AllBlockTags; +import com.simibubi.create.AllTags.AllEntityTags; +import com.simibubi.create.AllTags.AllFluidTags; +import com.simibubi.create.AllTags.AllItemTags; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.data.TagGen; +import com.simibubi.create.foundation.data.recipe.Mods; +import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.providers.RegistrateTagsProvider; + +import net.minecraft.data.tags.TagsProvider.TagAppender; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.Fluids; +import net.minecraftforge.common.Tags; + +public class CreateRegistrateTags { + public static void addGenerators() { + Create.REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, CreateRegistrateTags::genBlockTags); + Create.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, CreateRegistrateTags::genItemTags); + Create.REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, CreateRegistrateTags::genFluidTags); + Create.REGISTRATE.addDataGenerator(ProviderType.ENTITY_TAGS, CreateRegistrateTags::genEntityTags); + } + + private static void genBlockTags(RegistrateTagsProvider prov) { + prov.tag(AllBlockTags.BRITTLE.tag) + .add(Blocks.BELL, Blocks.COCOA, Blocks.FLOWER_POT) + .addTag(BlockTags.BEDS) + .addTag(BlockTags.DOORS); + + prov.tag(AllBlockTags.MOVABLE_EMPTY_COLLIDER.tag) + .add(Blocks.COBWEB, Blocks.POWDER_SNOW, Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK) + .addTag(BlockTags.FENCE_GATES); + + prov.tag(AllBlockTags.FAN_TRANSPARENT.tag) + .add(Blocks.IRON_BARS) + .addTag(BlockTags.CAMPFIRES) + .addTag(BlockTags.FENCES) + .addTag(BlockTags.LEAVES); + + prov.tag(AllBlockTags.ORE_OVERRIDE_STONE.tag) + .addTag(BlockTags.STONE_ORE_REPLACEABLES); + + prov.tag(AllBlockTags.PASSIVE_BOILER_HEATERS.tag) + .add(Blocks.MAGMA_BLOCK, Blocks.LAVA) + .addTag(BlockTags.CAMPFIRES) + .addTag(BlockTags.FIRE); + + prov.tag(AllBlockTags.SAFE_NBT.tag) + .addTag(BlockTags.BANNERS) + .addTag(BlockTags.SIGNS); + + prov.tag(AllBlockTags.TREE_ATTACHMENTS.tag) + .add(Blocks.BEE_NEST, Blocks.COCOA, Blocks.MOSS_CARPET, Blocks.SHROOMLIGHT, Blocks.VINE); + + prov.tag(AllBlockTags.WINDMILL_SAILS.tag) + .addTag(BlockTags.WOOL); + + prov.tag(AllBlockTags.WRENCH_PICKUP.tag) + .add(Blocks.REDSTONE_WIRE, Blocks.REDSTONE_TORCH, Blocks.REPEATER, Blocks.LEVER, + Blocks.COMPARATOR, Blocks.OBSERVER, Blocks.REDSTONE_WALL_TORCH, Blocks.PISTON, Blocks.STICKY_PISTON, + Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK, Blocks.DAYLIGHT_DETECTOR, Blocks.TARGET, Blocks.HOPPER) + .addTag(BlockTags.BUTTONS) + .addTag(BlockTags.PRESSURE_PLATES) + .addTag(BlockTags.RAILS); + + prov.tag(AllBlockTags.COPYCAT_ALLOW.tag) + .add(Blocks.BARREL); + prov.tag(AllBlockTags.COPYCAT_DENY.tag) + .addTag(BlockTags.CAULDRONS) + .addTag(BlockTags.SAPLINGS) + .addTag(BlockTags.CLIMBABLE); + + // COMPAT + + TagGen.addOptional(prov.tag(AllBlockTags.NON_MOVABLE.tag), Mods.IE, + "connector_lv", "connector_lv_relay", "connector_mv", "connector_mv_relay", + "connector_hv", "connector_hv_relay", "connector_bundled", "connector_structural", + "connector_redstone", "connector_probe", "breaker_switch"); + + // VALIDATE + + for (AllBlockTags tag : AllBlockTags.values()) { + if (tag.alwaysDatagen) { + prov.getOrCreateRawBuilder(tag.tag); + } + } + } + + private static void genItemTags(RegistrateTagsProvider prov) { + prov.tag(AllItemTags.SLEEPERS.tag) + .add(Items.STONE_SLAB, Items.SMOOTH_STONE_SLAB, Items.ANDESITE_SLAB); + + prov.tag(AllItemTags.STRIPPED_LOGS.tag) + .addTag(AllItemTags.VANILLA_STRIPPED_LOGS.tag) + .addTag(AllItemTags.MODDED_STRIPPED_LOGS.tag); + + prov.tag(AllItemTags.STRIPPED_WOOD.tag) + .addTag(AllItemTags.VANILLA_STRIPPED_WOOD.tag) + .addTag(AllItemTags.MODDED_STRIPPED_WOOD.tag); + + prov.tag(AllItemTags.DEPLOYABLE_DRINK.tag) + .add(Items.MILK_BUCKET, Items.POTION); + + prov.tag(AllItemTags.UPRIGHT_ON_BELT.tag) + .add(Items.GLASS_BOTTLE, Items.POTION, Items.SPLASH_POTION, Items.LINGERING_POTION, + Items.HONEY_BOTTLE, Items.CAKE); + + prov.tag(AllItemTags.CONTRAPTION_CONTROLLED.tag) + .add(Items.BELL, Items.CAMPFIRE, Items.SOUL_CAMPFIRE, Items.DISPENSER, Items.DROPPER); + + prov.tag(AllItemTags.VANILLA_STRIPPED_LOGS.tag) + .add(Items.STRIPPED_ACACIA_LOG, Items.STRIPPED_BIRCH_LOG, Items.STRIPPED_CRIMSON_STEM, + Items.STRIPPED_DARK_OAK_LOG, Items.STRIPPED_JUNGLE_LOG, Items.STRIPPED_OAK_LOG, + Items.STRIPPED_SPRUCE_LOG, Items.STRIPPED_WARPED_STEM); + + prov.tag(AllItemTags.VANILLA_STRIPPED_WOOD.tag) + .add(Items.STRIPPED_ACACIA_WOOD, Items.STRIPPED_BIRCH_WOOD, + Items.STRIPPED_CRIMSON_HYPHAE, Items.STRIPPED_DARK_OAK_WOOD, Items.STRIPPED_JUNGLE_WOOD, + Items.STRIPPED_OAK_WOOD, Items.STRIPPED_SPRUCE_WOOD, Items.STRIPPED_WARPED_HYPHAE); + + prov.tag(ItemTags.BEACON_PAYMENT_ITEMS) + .addTag(AllItemTags.CREATE_INGOTS.tag); + + prov.tag(Tags.Items.INGOTS) + .addTag(AllItemTags.CREATE_INGOTS.tag); + + // COMPAT + + genStrippedWoodItemTags(prov); + + // VALIDATE + + for (AllItemTags tag : AllItemTags.values()) { + if (tag.alwaysDatagen) { + prov.getOrCreateRawBuilder(tag.tag); + } + } + } + + private static void genStrippedWoodItemTags(RegistrateTagsProvider prov) { + TagAppender logAppender = prov.tag(AllItemTags.MODDED_STRIPPED_LOGS.tag); + TagAppender woodAppender = prov.tag(AllItemTags.MODDED_STRIPPED_WOOD.tag); + StrippedWoodHelper helper = new StrippedWoodHelper(logAppender, woodAppender); + + helper.add(Mods.ARS_N, "blue_archwood", "purple_archwood", "green_archwood", "red_archwood"); + helper.add(Mods.BTN, "livingwood", "dreamwood"); + helper.add(Mods.FA, "cherrywood", "mysterywood"); + helper.add(Mods.HEX, "akashic"); + helper.add(Mods.ID, "menril"); + helper.add(Mods.BYG, "aspen", "baobab", "enchanted", "cherry", "cika", "cypress", "ebony", "ether", + "fir", "green_enchanted", "holly", "jacaranda", "lament", "mahogany", "mangrove", "maple", "nightshade", + "palm", "palo_verde", "pine", "rainbow_eucalyptus", "redwood", "skyris", "willow", "witch_hazel", + "zelkova"); + helper.add(Mods.SG, "netherwood"); + helper.add(Mods.TF, "twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining", + "sorting"); + helper.add(Mods.TIC, "greenheart", "skyroot", "bloodshroom"); + helper.add(Mods.AP, "twisted"); + helper.add(Mods.Q, "azalea", "blossom"); + helper.add(Mods.ECO, "coconut", "walnut", "azalea"); + helper.add(Mods.BOP, "fir", "redwood", "cherry", "mahogany", "jacaranda", "palm", "willow", "dead", + "magic", "umbran", "hellbark"); + helper.add(Mods.BSK, "bluebright", "starlit", "frostbright", "lunar", "dusk", "maple", "cherry"); + + TagGen.addOptional(logAppender, Mods.BYG, "stripped_bulbis_stem"); + TagGen.addOptional(woodAppender, Mods.BYG, "stripped_bulbis_wood"); + } + + private static void genFluidTags(RegistrateTagsProvider prov) { + prov.tag(AllFluidTags.BOTTOMLESS_ALLOW.tag) + .add(Fluids.WATER, Fluids.LAVA); + + // VALIDATE + + for (AllFluidTags tag : AllFluidTags.values()) { + if (tag.alwaysDatagen) { + prov.getOrCreateRawBuilder(tag.tag); + } + } + } + + private static void genEntityTags(RegistrateTagsProvider> prov) { + + // VALIDATE + + for (AllEntityTags tag : AllEntityTags.values()) { + if (tag.alwaysDatagen) { + prov.getOrCreateRawBuilder(tag.tag); + } + } + } + + private static class StrippedWoodHelper { + protected final TagAppender logAppender; + protected final TagAppender woodAppender; + + public StrippedWoodHelper(TagAppender logAppender, TagAppender woodAppender) { + this.logAppender = logAppender; + this.woodAppender = woodAppender; + } + + public void add(Mods mod, String... woodTypes) { + for (String type : woodTypes) { + String strippedPre = mod.strippedIsSuffix ? "" : "stripped_"; + String strippedPost = mod.strippedIsSuffix ? "_stripped" : ""; + TagGen.addOptional(logAppender, mod, strippedPre + type + "_log" + strippedPost); + TagGen.addOptional(woodAppender, mod, strippedPre + type + (mod.omitWoodSuffix ? "" : "_wood") + strippedPost); + } + } + } +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/GeneralText.java b/src/main/java/com/simibubi/create/infrastructure/ponder/GeneralText.java new file mode 100644 index 000000000..4d3d77ba6 --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/GeneralText.java @@ -0,0 +1,39 @@ +package com.simibubi.create.infrastructure.ponder; + +import java.util.function.BiConsumer; + +import com.simibubi.create.Create; +import com.simibubi.create.foundation.ponder.PonderTooltipHandler; +import com.simibubi.create.foundation.ponder.ui.PonderTagIndexScreen; +import com.simibubi.create.foundation.ponder.ui.PonderTagScreen; +import com.simibubi.create.foundation.ponder.ui.PonderUI; + +public class GeneralText { + public static void consumeLang(BiConsumer consumer) { + consume(consumer, PonderTooltipHandler.HOLD_TO_PONDER, "Hold [%1$s] to Ponder"); + consume(consumer, PonderTooltipHandler.SUBJECT, "Subject of this scene"); + consume(consumer, PonderUI.PONDERING, "Pondering about..."); + consume(consumer, PonderUI.IDENTIFY_MODE, "Identify mode active.\nUnpause with [%1$s]"); + consume(consumer, PonderTagScreen.ASSOCIATED, "Associated Entries"); + + consume(consumer, PonderUI.CLOSE, "Close"); + consume(consumer, PonderUI.IDENTIFY, "Identify"); + consume(consumer, PonderUI.NEXT, "Next Scene"); + consume(consumer, PonderUI.NEXT_UP, "Up Next:"); + consume(consumer, PonderUI.PREVIOUS, "Previous Scene"); + consume(consumer, PonderUI.REPLAY, "Replay"); + consume(consumer, PonderUI.THINK_BACK, "Think Back"); + consume(consumer, PonderUI.SLOW_TEXT, "Comfy Reading"); + + consume(consumer, PonderTagIndexScreen.EXIT, "Exit"); + consume(consumer, PonderTagIndexScreen.WELCOME, "Welcome to Ponder"); + consume(consumer, PonderTagIndexScreen.CATEGORIES, "Available Categories in Create"); + consume(consumer, PonderTagIndexScreen.DESCRIPTION, + "Click one of the icons to learn about its associated Items and Blocks"); + consume(consumer, PonderTagIndexScreen.TITLE, "Ponder Index"); + } + + private static void consume(BiConsumer consumer, String key, String enUS) { + consumer.accept(Create.ID + "." + key, enUS); + } +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/SharedText.java b/src/main/java/com/simibubi/create/infrastructure/ponder/SharedText.java index 241b5e186..2830dd810 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/SharedText.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/SharedText.java @@ -3,10 +3,7 @@ package com.simibubi.create.infrastructure.ponder; import com.simibubi.create.Create; import com.simibubi.create.foundation.ponder.PonderLocalization; -import net.minecraft.resources.ResourceLocation; - public class SharedText { - public static void gatherText() { // Add entries used across several ponder scenes (Safe for hotswap) @@ -23,16 +20,7 @@ public class SharedText { add("storage_on_contraption", "Inventories attached to the Contraption will pick up their drops automatically"); } - public static String get(ResourceLocation key) { - return PonderLocalization.getShared(key); - } - - public static void add(ResourceLocation k, String v) { - PonderLocalization.registerShared(k, v); - } - private static void add(String k, String v) { - add(Create.asResource(k), v); + PonderLocalization.registerShared(Create.asResource(k), v); } - } diff --git a/src/main/resources/create.mixins.json b/src/main/resources/create.mixins.json index 6488d89eb..1a0774592 100644 --- a/src/main/resources/create.mixins.json +++ b/src/main/resources/create.mixins.json @@ -1,20 +1,22 @@ { "required": true, + "minVersion": "0.8", "priority": 1100, "package": "com.simibubi.create.foundation.mixin", - "compatibilityLevel": "JAVA_16", + "compatibilityLevel": "JAVA_17", "refmap": "create.refmap.json", "mixins": [ "ClientboundMapItemDataPacketMixin", "ContraptionDriverInteractMixin", - "WaterWheelFluidSpreadMixin", "CustomItemUseEffectsMixin", "EnchantmentHelperMixin", "EntityMixin", + "LanguageProviderMixin", "LavaSwimmingMixin", "MainMixin", "MapItemSavedDataMixin", "TestCommandMixin", + "WaterWheelFluidSpreadMixin", "accessor.AbstractProjectileDispenseBehaviorAccessor", "accessor.DispenserBlockAccessor", "accessor.FallingBlockEntityAccessor", @@ -42,6 +44,5 @@ ], "injectors": { "defaultRequire": 1 - }, - "minVersion": "0.8" + } }