diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e5d18724..1cef33eef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,11 @@ ## [Unreleased] ### Changes +- Added a paving cart for automating RNR roads. (#2144) @Redeix ### Bug fixes +- Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix +### Translation updates +- Brazilian Portuguese @Redeix ## [0.11.7] - 30-10-2025 ### Changes diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index b205356d3..660a1750c 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -49,6 +49,12 @@ x: -14.5d y: 13.0d } + { + id: "65E0B13E245D2E5F" + linked_quest: "379F434116632A89" + x: -25.0d + y: 1.0d + } ] quests: [ { @@ -1315,7 +1321,11 @@ y: -2.0d } { - dependencies: ["1059288C22CB56BB"] + dependencies: [ + "1059288C22CB56BB" + "379F434116632A89" + ] + dependency_requirement: "one_completed" description: ["{quests.steam_age.good_paths.desc}"] id: "52A82511A64B0A5B" optional: true diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index adaa96260..47128819c 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -36,6 +36,14 @@ x: 2.5d y: 3.5d } + { + id: "1BD87B2814DE73B7" + linked_quest: "533F32CCAD9D5B51" + shape: "heart" + size: 1.2d + x: -1.5d + y: -6.0d + } ] quests: [ { @@ -1511,7 +1519,7 @@ type: "item" }] title: "{quests.tfg_tips.blank_disc.title}" - x: -3.5d + x: -6.0d y: -3.5d } { @@ -1532,7 +1540,7 @@ type: "item" }] title: "{quests.tfg_tips.dye_discs.title}" - x: -2.5d + x: -5.0d y: -5.0d } { @@ -1551,7 +1559,7 @@ type: "item" }] title: "{quests.tfg_tips.amogus.title}" - x: -3.5d + x: -6.0d y: -5.0d } { @@ -1571,7 +1579,7 @@ type: "item" }] title: "{quests.tfg_tips.special_discs.title}" - x: -4.5d + x: -7.0d y: -5.0d } { @@ -1683,7 +1691,7 @@ } ] title: "{quests.tfg_tips.disc_collector.title}" - x: -3.5d + x: -6.0d y: -6.5d } { @@ -1716,7 +1724,7 @@ } ] title: "{quests.tfg_tips.label_album.title}" - x: -5.5d + x: -8.0d y: -3.5d } { @@ -1737,7 +1745,7 @@ } ] title: "{quests.tfg_tips.etching_disc.title}" - x: -7.0d + x: -9.5d y: -3.5d } { @@ -1758,7 +1766,7 @@ type: "item" }] title: "{quests.tfg_tips.disc_players.title}" - x: -8.0d + x: -10.5d y: -2.5d } { @@ -1772,7 +1780,7 @@ type: "item" }] title: "{quests.tfg_tips.radio.title}" - x: -4.5d + x: -7.0d y: -2.0d } { @@ -1804,7 +1812,7 @@ type: "item" }] title: "{quests.tfg_tips.DIGGY_DIGGY_HOLE.title}" - x: -8.0d + x: -10.5d y: -4.5d } { @@ -1820,7 +1828,7 @@ type: "item" }] title: "{quests.tfg_tips.camera.title}" - x: 4.0d + x: 6.0d y: -3.5d } { @@ -1841,7 +1849,7 @@ type: "item" }] title: "{quests.tfg_tips.film_rolls.title}" - x: 6.0d + x: 8.0d y: -4.5d } { @@ -1872,7 +1880,7 @@ } ] title: "{quests.tfg_tips.developing_film.title}" - x: 7.5d + x: 9.5d y: -4.5d } { @@ -1889,7 +1897,7 @@ type: "checkmark" }] title: "{quests.tfg_tips.selfie.title}" - x: 6.0d + x: 8.0d y: -3.0d } { @@ -1903,7 +1911,7 @@ type: "item" }] title: "{quests.tfg_tips.photo.title}" - x: 9.0d + x: 11.0d y: -4.5d } { @@ -1917,7 +1925,7 @@ type: "item" }] title: "{quests.tfg_tips.photo_album.title}" - x: 10.0d + x: 12.0d y: -3.5d } { @@ -1931,7 +1939,7 @@ type: "item" }] title: "{quests.tfg_tips.photo_frame.title}" - x: 10.0d + x: 12.0d y: -5.5d } { @@ -1952,7 +1960,7 @@ type: "item" }] title: "{quests.tfg_tips.camera_attachments.title}" - x: 3.0d + x: 5.0d y: -5.5d } { @@ -1973,7 +1981,7 @@ type: "item" }] title: "{quests.tfg_tips.filters.title}" - x: 4.5d + x: 6.5d y: -5.5d } { @@ -1993,7 +2001,7 @@ type: "item" }] title: "{quests.tfg_tips.interplanar_projector.title}" - x: 4.5d + x: 6.5d y: -7.0d } { @@ -2575,7 +2583,7 @@ ] title: "{quests.tfg_tips.self_defense.title}" x: -2.5d - y: 0.5d + y: 1.0d } { dependencies: ["7FA5B6354A49C396"] @@ -2776,7 +2784,135 @@ }] title: "{quests.tfg_tips.lightning_rod.title}" x: 2.5d - y: 0.5d + y: 1.0d + } + { + dependencies: ["72B3EA6588E18CCC"] + description: ["{quests.tfg_tips.tools_tips.mattocks.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/making_a_road 0" + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "rnr:metal/mattock/red_steel" + tag: { + Damage: 0 + } + } + id: "379F434116632A89" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.tools_tips.mattocks.subtitle}" + tasks: [ + { + id: "7F1DF0B2C51609B9" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "item_tag(rnr:mattocks)" + } + } + title: "{quests.tfg_tips.tools_tips.mattocks.task0}" + type: "item" + } + { + id: "2BF805FFBA137197" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "item_tag(rnr:road_materials)" + } + } + optional_task: true + title: "{quests.tfg_tips.tools_tips.mattocks.task1}" + type: "item" + } + ] + title: "{quests.tfg_tips.tools_tips.mattocks.title}" + x: 0.0d + y: -5.0d + } + { + dependencies: ["379F434116632A89"] + id: "15277C12EEB517E1" + shape: "diamond" + subtitle: "{quests.tfg_tips.tools_tips.base_course.subtitle}" + tasks: [{ + icon: "rnr:base_course" + id: "0F2DA5DD3F25DE7E" + observe_type: 0 + timer: 0L + title: "{quests.tfg_tips.tools_tips.base_course.task}" + to_observe: "rnr:base_course" + type: "observation" + }] + title: "{quests.tfg_tips.tools_tips.base_course.title}" + x: 0.0d + y: -7.0d + } + { + dependencies: ["15277C12EEB517E1"] + description: ["{quests.tfg_tips.tools_tips.concrete_roads.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/concrete_roads 0" + id: "191DB28DC6FF4538" + subtitle: "{quests.tfg_tips.tools_tips.concrete_roads.subtitle}" + tasks: [{ + id: "0C8FBA664C0CE240" + item: "rnr:bucket/concrete" + type: "item" + }] + title: "{quests.tfg_tips.tools_tips.concrete_roads.title}" + x: 1.0d + y: -8.5d + } + { + dependencies: ["15277C12EEB517E1"] + description: ["{quests.tfg_tips.tools_tips.brick_roads.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/stone_roads 0" + id: "345EB58B7064BF4A" + subtitle: "{quests.tfg_tips.tools_tips.brick_roads.subtitle}" + tasks: [{ + id: "191AA0F89E28E686" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(rnr:brick_road_items)item_tag(rnr:cobble_road_items)item_tag(rnr:flagstone_road_items))" + } + } + title: "{quests.tfg_tips.tools_tips.brick_roads.task}" + type: "item" + }] + title: "{quests.tfg_tips.tools_tips.brick_roads.title}" + x: 0.0d + y: -8.5d + } + { + dependencies: ["15277C12EEB517E1"] + description: ["{quests.tfg_tips.tools_tips.gravel_roads.desc}"] + id: "7E46F50FEBEE9003" + subtitle: "{quests.tfg_tips.tools_tips.gravel_roads.subtitle}" + tasks: [{ + id: "5F5F20DAE5CB99CC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(rnr:gravel_road_items)item(rnr:hoggin_mix))" + } + } + title: "{quests.tfg_tips.tools_tips.gravel_roads.task}" + type: "item" + }] + title: "{quests.tfg_tips.tools_tips.gravel_roads.title}" + x: -1.0d + y: -8.5d } ] subtitle: ["{quests.tfg_tips.tools_tips.subtitle}"] diff --git a/config/ftbquests/quests/chapters/tips__transportation.snbt b/config/ftbquests/quests/chapters/tips__transportation.snbt index 32be7693c..6457173bb 100644 --- a/config/ftbquests/quests/chapters/tips__transportation.snbt +++ b/config/ftbquests/quests/chapters/tips__transportation.snbt @@ -402,6 +402,36 @@ x: 19.5d y: 0.0d } + { + alpha: 100 + color: 2401566 + height: 2.35d + image: "tfc:block/grass_top" + rotation: 0.0d + width: 2.35d + x: 8.5d + y: -3.5d + } + { + alpha: 100 + color: 2401566 + height: 2.35d + image: "tfc:block/grass_top" + rotation: 0.0d + width: 2.35d + x: 6.5d + y: -3.5d + } + { + alpha: 100 + color: 2401566 + height: 2.35d + image: "tfc:block/grass_top" + rotation: 0.0d + width: 2.35d + x: 4.5d + y: -3.5d + } ] order_index: 2 quest_links: [{ @@ -1049,7 +1079,7 @@ type: "item" }] title: "{quests.tfg_tips.plow.title}" - x: 8.5d + x: 7.5d y: -1.5d } { @@ -1431,7 +1461,7 @@ y: -2.0d } { - dependencies: ["05528D09F7EE6E33"] + dependencies: ["1594C2564FC7982D"] description: ["{quests.tfg_tips.horseshoes.desc}"] icon: { Count: 1 @@ -1461,8 +1491,8 @@ type: "item" }] title: "{quests.tfg_tips.horseshoes.title}" - x: 7.5d - y: -1.5d + x: 6.5196428571428555d + y: -2.6803571428571473d } { description: ["{quests.tfg_tips.hiking_boots.desc}"] @@ -1484,6 +1514,21 @@ x: 8.5d y: 0.5d } + { + dependencies: ["05528D09F7EE6E33"] + description: ["{quests.tfg_tips.transportation_tips.rnr_plow.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/paving_cart 0" + id: "533F32CCAD9D5B51" + subtitle: "{quests.tfg_tips.transportation_tips.rnr_plow.subtitle}" + tasks: [{ + id: "44773CB0898D2375" + item: "tfg:rnr_plow" + type: "item" + }] + title: "{quests.tfg_tips.transportation_tips.rnr_plow.title}" + x: 8.5d + y: -1.5d + } ] subtitle: ["{quests.tfg_tips.transportation_tips.subtitle}"] title: "{quests.tfg_tips.transportation_tips.title}" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/roadsandroofs/paving_cart.json new file mode 100644 index 000000000..04b16db1e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/roadsandroofs/paving_cart.json @@ -0,0 +1,48 @@ +{ + "name": "Paving Cart", + "category": "tfc:roadsandroofs", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Paving Cart$() is a specialized cart used for laying down road surfaces quickly and efficiently. It can be filled with road materials and $(thing)Crushed Base Course$() to create roads. The cart can also fill in any existing base course blocks" + }, + { + "type": "patchouli:image", + "title": "Paving Cart", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Width Adjustment Slider", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], + "border": true, + "text": "The cart allows you to adjust the width of the path in the GUI" + }, + { + "type": "patchouli:image", + "title": "Variable Width Path", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Randomizer Button", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], + "border": true, + "text": "The cart has a mode that will lay down materials in a random pattern." + }, + { + "type": "patchouli:image", + "title": "Random Material Path", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 + }, + "sortnum": 20 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/roadsandroofs/paving_cart.json new file mode 100644 index 000000000..a8972ae34 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/roadsandroofs/paving_cart.json @@ -0,0 +1,48 @@ +{ + "name": "Carrinho Pavimentador", + "category": "tfc:roadsandroofs", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "O $(thing)Carrinho Pavimentador$() é um carrinho especializado usado para aplicar superfícies de estrada de forma rápida e eficiente. Ele pode ser carregado com materiais para estradas e $(thing)Base Britada$() para criar estradas. O carrinho também pode preencher quaisquer blocos de base já existentes." + }, + { + "type": "patchouli:image", + "title": "Carrinho Pavimentador", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Controle de Largura", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], + "border": true, + "text": "O carrinho permite ajustar a largura do caminho na interface." + }, + { + "type": "patchouli:image", + "title": "Largura do Caminho", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Botão Aleatório", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], + "border": true, + "text": "O carrinho possui um modo que aplica materiais em um padrão aleatório." + }, + { + "type": "patchouli:image", + "title": "Materiais Aleatórios", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 + }, + "sortnum": 20 +} diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 49927ecdf..6705724d4 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1010,6 +1010,8 @@ "item.tfg.trapdoor_casting_mold": "Trapdoor Casting Mold", "item.tfg.chain_casting_mold": "Chain Casting Mold", "item.tfg.bell_casting_mold": "Bell Casting Mold", + "item.tfg.rnr_plow": "Paving Cart", + "item.tfg.cobalt_brass_wheel": "Cobalt Brass Wheel", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1260,6 +1262,7 @@ "entity.tfg.wraptor.female": "Wraptor", "tfg.tooltip.attribution.wraptor": "§9§oCredit: Species", "entity.tfg.surfer": "Surfer", + "entity.tfg.rnr_plow": "Paving Cart", "tfg.tooltip.surfer_variant.base": "Teal Hide", "tfg.tooltip.surfer_variant.bubble": "Blossom Berry Hide", "tfg.tooltip.surfer_variant.horn": "Golden Hide", @@ -1412,6 +1415,9 @@ "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", "tfg.gui.refrigerator.unify_dates.enabled": "Expiration Date Unification is: §aOn", "tfg.gui.refrigerator.unify_dates.disabled": "Expiration Date Unification is: §cOff", + "tfg.gui.rnr_plow.random_mode": "Randomize Materials", + "tfg.gui.rnr_plow.width": "Path Width: %d Blocks", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cMissing Crushed Base Course!!", "tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", @@ -4423,5 +4429,27 @@ "quests.tfg_tips.tools_tips.harvest_basket.title": "Harvest Baskets", "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "For competitive pie bakers.", "quests.tfg_tips.tools_tips.harvest_basket.task": "Any #tfg:harvester", - "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Harvest Baskets&r&r are a new tool made just for &5TFG&r! These baskets can be used to harvest whole trees and bushes of fruit in one right-click! A regular &6Harvest Basket&r has a base durability of &n128&r. But an &3Aluminium Harvest Basket&r takes no damage on use." + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Harvest Baskets&r&r are a new tool made just for &5TFG&r! These baskets can be used to harvest whole trees and bushes of fruit in one right-click! A regular &6Harvest Basket&r has a base durability of &n128&r. But an &3Aluminium Harvest Basket&r takes no damage on use.", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "Paving Cart", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "The Romans would be proud.", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "Roads are wonderful! But sometimes you get a little tired of right-clicking. Instead of building roads for your horse, &3let your horse build roads for you&r!\nThe &dPaving Cart&r is a unique &cAstikor Cart&r developed for TFG. This cart allows you to automatically build &cRnR roads&r with assignable road width and even a randomizer mode.", + "quests.tfg_tips.tools_tips.mattocks.title": "Mattocks", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "A shovel just wont do.", + "quests.tfg_tips.tools_tips.mattocks.task0": "Any Mattock", + "quests.tfg_tips.tools_tips.mattocks.task1": "Any Road Material", + "quests.tfg_tips.tools_tips.mattocks.desc": "&cMattocks&r are your key to developing roads in TFG. They can acquired through casting into a mold like any other TFC tool. To use a mattock change its mode (default-key: &3&lN&r&r) to \"full-block\". \nThen you can right-click on dirt or grass to tamp it down. You can then apply &6crushed base course&r and finally the material of your choice after.", + "quests.tfg_tips.tools_tips.base_course.title": "Base Course", + "quests.tfg_tips.tools_tips.base_course.subtitle": "The foundation of all good roads.", + "quests.tfg_tips.tools_tips.base_course.task": "Look at Base Course", + "quests.tfg_tips.tools_tips.gravel_roads.title": "Gravel Roads", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "A bumpy ride awaits.", + "quests.tfg_tips.tools_tips.gravel_roads.task": "Any Gravel Road Material", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "These materials—when applied to base course—form roads which give a &b&l10%%&r&r boost to walking speed.", + "quests.tfg_tips.tools_tips.brick_roads.title": "Brick Roads", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "Skateboarders beware.", + "quests.tfg_tips.tools_tips.brick_roads.task": "Any Brick Road Material", + "quests.tfg_tips.tools_tips.brick_roads.desc": "These materials—when applied to base course—form roads which give a &b&l20%%&r&r boost to walking speed.", + "quests.tfg_tips.tools_tips.concrete_roads.title": "Concrete Roads", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Almost worth all the effort.", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet concrete mix&r can be applied to base course to create roads which give a &b&l30%%&r&r bonus to movement speed. \n\n&4Be careful&r when creating concrete roads. There are a lot of rules to follow to make sure you don't end up with cracked or ruined surfaces. Consult the &3Field Guide&r for detailed instructions." } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 122c93a3b..38c2e1354 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -676,6 +676,8 @@ "item.tfg.linen_cloth": "Pano de Linho", "item.tfg.uv_led": "§fLED §dUltravioleta", "item.tfg.smd_uv_led": "§fLED §dUltravioleta §fSMD", + "item.tfg.rnr_plow": "Carrinho Pavimentador", + "item.tfg.cobalt_brass_wheel": "Roda de Latão Cobalto", "material.tfg.latex": "Látex", "material.tfg.vulcanized_latex": "Látex Vulcanizado", "material.tfg.fluix": "Fluix", @@ -903,6 +905,7 @@ "entity.tfg.wraptor.male": "Distráptor", "entity.tfg.wraptor.female": "Distráptora", "tfg.tooltip.attribution.wraptor": "§9§oCrédito: Species", + "entity.tfg.rnr_plow": "Carrinho Pavimentador", "trim_material.tfc.almandine_tfc": "Almandina", "trim_material.tfc.andradite_tfc": "Andradita", "trim_material.tfc.blue_topaz_tfc": "Topázio Azul", @@ -1003,6 +1006,9 @@ "tfg.tooltip.wraptor_wool": "§7Colhido das penas de um Distráptor", "tfg.tooltip.wraptor_sugar": "§7Não pense muito a respeito disso", "tfg.tooltip.obsolete.depreciated": "§cObsoleto, não pode mais ser criado", + "tfg.gui.rnr_plow.random_mode": "Aleatorizar Materiais", + "tfg.gui.rnr_plow.width": "Largura do Caminho: %d Blocos", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cFalta Camada Base Triturada!!", "tfc.jei.flint_knapping": "Talhar Sílex", "tfc.jei.straw_knapping": "Trançar Palha", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Tingindo", @@ -2191,5 +2197,27 @@ "quests.tfg.field_guide.desc": "As missões ainda estão em desenvolvimento, e estamos sempre trabalhando para melhorá-las! Muitas informações sobre mecânicas específicas também estão no seu Guia de Campo, acessível através da aba Livro no seu inventário.\n\nLembre-se de que tanto o JEI quanto o Guia de Campo são seus amigos, pois nem tudo será explicado através das missões.", "quests.tfg.quest_shapes.title": "Informações sobre Formatos de Missões.", "quests.tfg.quest_shapes.subtitle": "Acontece que formatos ajudam a entender essas missões.", - "quests.tfg.quest_shapes.desc": "&lEngrenagens&r: Missões em formato de engrenagem são as maiores em cada categoria de missão, elas representam o Início e o Fim das linhas de missão. Você pode considerá-las como grandes objetivos finais.\n\n&lCorações&r: Missões em formato de coração são &oopcionais&r, elas não são necessárias para o progresso e servem principalmente para jogadores perfeccionistas. Algumas missões opcionais podem ser um pouco bobas...\n\n&lOctógonos:&r Octógonos são marcos importantes em certas missões, eles representam marcos significativos." + "quests.tfg.quest_shapes.desc": "&lEngrenagens&r: Missões em formato de engrenagem são as maiores em cada categoria de missão, elas representam o Início e o Fim das linhas de missão. Você pode considerá-las como grandes objetivos finais.\n\n&lCorações&r: Missões em formato de coração são &oopcionais&r, elas não são necessárias para o progresso e servem principalmente para jogadores perfeccionistas. Algumas missões opcionais podem ser um pouco bobas...\n\n&lOctógonos:&r Octógonos são marcos importantes em certas missões, eles representam marcos significativos.", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "Carrinho Pavimentador", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "Os romanos ficariam orgulhosos.", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "Estradas são maravilhosas! Mas às vezes dá preguiça de ficar clicando com o botão direito. Em vez de construir estradas para seu cavalo, &3deixe seu cavalo construí-las por você&r!\nO &dCarrinho Pavimentador&r é um &cCarrinho Astikor&r exclusivo desenvolvido para o TFG. Este carrinho permite que você construa automaticamente estradas &cRnR&r com largura configurável e até um modo aleatório.", + "quests.tfg_tips.tools_tips.mattocks.title": "Enxadões", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "Uma pá não basta.", + "quests.tfg_tips.tools_tips.mattocks.task0": "Qualquer Enxadão", + "quests.tfg_tips.tools_tips.mattocks.task1": "Qualquer Material de Estrada", + "quests.tfg_tips.tools_tips.mattocks.desc": "&cEnxadões&r são essenciais para desenvolver estradas no TFG. Eles podem ser obtidos por fundição em molde como qualquer outra ferramenta do TFC. Para usar um enxadão, altere seu modo (tecla padrão: &3&lN&r&r) para \"bloco-cheio\".\nEntão você pode clicar com o botão direito na terra ou grama para compactá-la. Em seguida, você pode aplicar a &6camada base triturada&r e, finalmente, o material de sua escolha.", + "quests.tfg_tips.tools_tips.base_course.title": "Camada Base", + "quests.tfg_tips.tools_tips.base_course.subtitle": "A fundação de todas as boas estradas.", + "quests.tfg_tips.tools_tips.base_course.task": "Veja a Camada Base", + "quests.tfg_tips.tools_tips.gravel_roads.title": "Estradas de Cascalho", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "Uma viagem esburacada aguarda.", + "quests.tfg_tips.tools_tips.gravel_roads.task": "Qualquer Material de Estrada de Cascalho", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "Esses materiais — quando aplicados sobre a camada base — formam estradas que concedem um aumento de &b&l10%%&r&r na velocidade de caminhada.", + "quests.tfg_tips.tools_tips.brick_roads.title": "Estradas de Tijolo", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "Skatistas, cuidado.", + "quests.tfg_tips.tools_tips.brick_roads.task": "Qualquer Material de Estrada de Tijolo", + "quests.tfg_tips.tools_tips.brick_roads.desc": "Esses materiais — quando aplicados sobre a camada base — formam estradas que concedem um aumento de &b&l20%%&r&r na velocidade de caminhada.", + "quests.tfg_tips.tools_tips.concrete_roads.title": "Estradas de Concreto", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Quase vale todo o esforço.", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Mistura de concreto úmida&r pode ser aplicada sobre a camada base para criar estradas que proporcionam um bônus de &b&l30%%&r&r na velocidade de movimentação.\n\n&4Cuidado&r ao criar estradas de concreto. Há muitas regras a seguir para garantir que você não acabe com superfícies rachadas ou arruinadas. Consulte o &3Guia de Campo&r para instruções detalhadas." } \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/cobalt_brass_wheel.json b/kubejs/assets/tfg/models/item/cobalt_brass_wheel.json new file mode 100644 index 000000000..19db9a727 --- /dev/null +++ b/kubejs/assets/tfg/models/item/cobalt_brass_wheel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/cobalt_brass_wheel" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/rnr_plow.json b/kubejs/assets/tfg/models/item/rnr_plow.json new file mode 100644 index 000000000..1e6c78b95 --- /dev/null +++ b/kubejs/assets/tfg/models/item/rnr_plow.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/rnr_plow_item" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_axis.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_axis.png new file mode 100644 index 000000000..38eb262d8 Binary files /dev/null and b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_axis.png differ diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_blades.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_blades.png new file mode 100644 index 000000000..4d1d83bc0 Binary files /dev/null and b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_blades.png differ diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_0.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_0.png new file mode 100644 index 000000000..32146fad3 Binary files /dev/null and b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_0.png differ diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_1.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_1.png new file mode 100644 index 000000000..19a787cf8 Binary files /dev/null and b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_1.png differ diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_shafts.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_shafts.png new file mode 100644 index 000000000..2a1b50784 Binary files /dev/null and b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_shafts.png differ diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_wheel.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_wheel.png new file mode 100644 index 000000000..0cd359bfa Binary files /dev/null and b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_wheel.png differ diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart.png new file mode 100644 index 000000000..1f5b71176 Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart.png differ diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png new file mode 100644 index 000000000..d8193c8ae Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png differ diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png new file mode 100644 index 000000000..5c683a864 Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png differ diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png new file mode 100644 index 000000000..e34e0e080 Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png differ diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png new file mode 100644 index 000000000..f274a4195 Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png differ diff --git a/kubejs/assets/tfg/textures/gui/rnr_plow.png b/kubejs/assets/tfg/textures/gui/rnr_plow.png new file mode 100644 index 000000000..b2473c669 Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/rnr_plow.png differ diff --git a/kubejs/assets/tfg/textures/gui/rnr_plow_slider_bg.png b/kubejs/assets/tfg/textures/gui/rnr_plow_slider_bg.png new file mode 100644 index 000000000..e90c2ebed Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/rnr_plow_slider_bg.png differ diff --git a/kubejs/assets/tfg/textures/gui/rnr_plow_slider_handle.png b/kubejs/assets/tfg/textures/gui/rnr_plow_slider_handle.png new file mode 100644 index 000000000..b10e6522c Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/rnr_plow_slider_handle.png differ diff --git a/kubejs/assets/tfg/textures/gui/rnr_plow_toggle.png b/kubejs/assets/tfg/textures/gui/rnr_plow_toggle.png new file mode 100644 index 000000000..aa879273b Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/rnr_plow_toggle.png differ diff --git a/kubejs/assets/tfg/textures/item/cobalt_brass_wheel.png b/kubejs/assets/tfg/textures/item/cobalt_brass_wheel.png new file mode 100644 index 000000000..c38a2c96b Binary files /dev/null and b/kubejs/assets/tfg/textures/item/cobalt_brass_wheel.png differ diff --git a/kubejs/assets/tfg/textures/item/rnr_plow_item.png b/kubejs/assets/tfg/textures/item/rnr_plow_item.png new file mode 100644 index 000000000..6539f4670 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/rnr_plow_item.png differ diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 6efcf0d46..e3f4b1226 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -1513,4 +1513,42 @@ function registerTFGMiscellaneousRecipes(event) { .duration(300) .EUt(GTValues.VA[GTValues.EV]) + //#region RNR Paving Cart + const rubber_types = [ + {fluid:'styrene_butadiene_rubber', quantity: 144}, + {fluid:'silicone_rubber', quantity: 288}, + {fluid:'rubber', quantity: 576} + ]; + rubber_types.forEach((rubber) => { + event.recipes.gtceu.assembler(`tfg:cobalt_brass_wheel/${rubber.fluid}`) + .itemInputs( + ChemicalHelper.get(TagPrefix.rod, GTMaterials.CobaltBrass, 9), + Ingredient.of('firmaciv:rope_coil').withCount(2), + Ingredient.of('#forge:screws/any_bronze').withCount(4) + ) + .inputFluids(Fluid.of(`gtceu:${rubber.fluid}`, rubber.quantity)) + .itemOutputs('tfg:cobalt_brass_wheel') + .duration(20*10) + .EUt(GTValues.VA[GTValues.LV]) + }); + TFGHelpers.registerMaterialInfo('tfg:cobalt_brass_wheel', { 'rubber': 1, 'cobalt_brass': 4}); + + const mattock_types = ['red', 'blue']; + mattock_types.forEach((type) => { + event.recipes.gtceu.assembler(`tfg:rnr_plow/${type}_steel`) + .itemInputs( + ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.CobaltBrass, 1), + ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 2), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Invar, 4), + ChemicalHelper.get(TagPrefix.spring, GTMaterials.Steel, 2), + Ingredient.of('tfg:cobalt_brass_wheel').withCount(2), + Ingredient.of('create:chute').withCount(1), + Ingredient.of(`#forge:mattock_heads/${type}_steel`).withCount(3) + ) + .itemOutputs('tfg:rnr_plow') + .duration(20*60) + .EUt(GTValues.VA[GTValues.LV]) + }); + TFGHelpers.registerMaterialInfo('tfg:rnr_plow', {'cobalt_brass': 5, 'invar': 2, 'steel': 2, 'wrought_iron': 2, 'rubber': 1, 'treated_wood': 1}); + //#endregion } diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index d9111c5e1..f8b48c889 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -216,6 +216,9 @@ const registerTFGItems = (event) => { event.create('tfg:twigs/alphacene') .tag('tfc:twigs') .texture('tfg:item/wood/twig/alphacene') + + event.create('tfg:cobalt_brass_wheel') + .translationKey('item.tfg.cobalt_brass_wheel') //#endregion //#region Cloth & String