Merge branch 'mc1.18/dev' into mc1.18/global-railways

This commit is contained in:
simibubi 2022-04-08 02:10:53 +02:00
commit 723e989ac5
76 changed files with 5206 additions and 268 deletions

View file

@ -11,7 +11,7 @@ body:
- type: textarea
attributes:
label: Reproduction Steps
description: Tell us about the steps to reproduce the bug
description: Tell us about the steps to reproduce the bug.
value: |
1.
2.
@ -28,13 +28,13 @@ body:
- type: textarea
attributes:
label: Screenshots and Videos
description: If applicable, add screenshots or videos to help explain your problem
description: If applicable, add screenshots or videos to help explain your problem.
validations:
required: false
- type: input
attributes:
label: Crash Report or Log
description: If applicable, please add a **link** to the crash report or log that was created when this issue occured. You can upload the crash report to a site like Pastebin or GitHub Gist. Please **do not** paste the whole crash report in this issue
description: If applicable, please add a **link** to the crash report or log that was created when this issue occured. You can upload the crash report to a site like Pastebin or GitHub Gist. Please **do not** paste the whole crash report in this issue.
validations:
required: false
- type: input
@ -121,7 +121,7 @@ body:
- type: textarea
attributes:
label: Other Mods
description: Please list any other mods that were running when the crash happened
description: Please list any other mods that were running when the crash happened.
validations:
required: false
- type: textarea
@ -132,4 +132,4 @@ body:
required: false
- type: markdown
attributes:
value: "Thank you for taking the time to make this bug report and to help improve Create"
value: "Thank you for taking the time to make this bug report and help improve Create!"

View file

@ -11,15 +11,15 @@ body:
- type: textarea
attributes:
label: Screenshots and Videos
description: If applicable, add screenshots or videos to help explain your suggestion
description: If applicable, add screenshots or videos to help explain your suggestion.
validations:
required: false
- type: textarea
attributes:
label: Additional Context
description: Add any extra context about the suggestion here
description: Add any extra context about the suggestion here.
validations:
required: false
- type: markdown
attributes:
value: "Thank you for taking the time to make this suggestion and to help improve Create"
value: "Thank you for taking the time to make this suggestion and help improve Create!"

View file

@ -6,7 +6,7 @@ org.gradle.daemon = false
# mod version info
mod_version = 0.5.0
minecraft_version = 1.18.2
forge_version = 40.0.19
forge_version = 40.0.34
# build dependency versions
forgegradle_version = 5.1.+
@ -18,7 +18,7 @@ cursegradle_version = 1.4.0
parchment_version = 2022.03.13
# dependency versions
registrate_version = MC1.18.2-1.0.24
registrate_version = MC1.18.2-1.0.25
flywheel_version = 1.18-0.6.2.65
jei_minecraft_version = 1.18.2
jei_version = 9.5.3.143

View file

@ -543,21 +543,22 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
dde2b8043a318bc88b6d381f9de6bfd557c0f079 assets/create/lang/en_ud.json
c4e50a58a6ce948f7441177a0646a866a7af5e06 assets/create/lang/en_us.json
1cb9472d43897acb2baf3e0cc98155884335c848 assets/create/lang/unfinished/de_de.json
ff2fda28b73ceca2a57e5017e7cdb2e4b81b7d38 assets/create/lang/unfinished/es_cl.json
72c764f41c300e0d189fbb3a738a8f0d49fbf545 assets/create/lang/unfinished/es_es.json
70cbad61cc90ec1ee4175aa5890bee554475273c assets/create/lang/unfinished/fr_fr.json
d5fced42d980b3bf62876546a80ede03d77126a3 assets/create/lang/unfinished/it_it.json
07cc8e1ce1015b2a8698a782053956294ea113b7 assets/create/lang/unfinished/ja_jp.json
bc66f974d2ac075a2322618dfe5ba56b5b81313c assets/create/lang/unfinished/ko_kr.json
f2ff899c0949098a60d03785a2c79b84f7c436c3 assets/create/lang/unfinished/nl_nl.json
3fe312603ca0543d03da5a9a6f889b558ce699a6 assets/create/lang/unfinished/pl_pl.json
b43a832423e18aefed0143174530abc7f5269ab3 assets/create/lang/unfinished/pt_br.json
97efc1b8919b5771ef911860a03aa98dac612978 assets/create/lang/unfinished/pt_pt.json
9fbe47bd6472b70608c0e0b4381403b9c4798ae4 assets/create/lang/unfinished/ru_ru.json
96eaf97775d91daea4fc12e4835ac4ce1a917f1b assets/create/lang/unfinished/zh_cn.json
e1039c7374dbc6b536bae27f6ff37db5f87506c0 assets/create/lang/unfinished/zh_tw.json
b4a8456188b945d7e0758e5df3907b3ad169817f assets/create/lang/en_us.json
7cdc811d65d4385e44e65164c533414cab40ca12 assets/create/lang/unfinished/de_de.json
20a194a4bf5c206b3ef3de38d941a5969cc4ed60 assets/create/lang/unfinished/es_cl.json
285da3f47a1d17826431ce9e5bf7a29bbeb87358 assets/create/lang/unfinished/es_es.json
ce9fe5fc9b57716344ba1b5b287c49570045da6b assets/create/lang/unfinished/fr_fr.json
0ee1e8ce662248beb16df3af3037c9a6d12a0752 assets/create/lang/unfinished/it_it.json
4d16276d623078b1c57fd0c6667b558d5d155e2e assets/create/lang/unfinished/ja_jp.json
e304ebd9522aaf8c04f7f4e66e0c7bc22fc853e4 assets/create/lang/unfinished/ko_kr.json
6cb78b7a3b254e6357fc640e3efedd915789497e assets/create/lang/unfinished/nl_nl.json
9a7fec7d89c628b7a136b5593a71747353ca1195 assets/create/lang/unfinished/pl_pl.json
18f975b62dbf77b7af68ee57812deab21f24bc2b assets/create/lang/unfinished/pt_br.json
fc32a579445b20d481faee15d0994a35492b7fed assets/create/lang/unfinished/pt_pt.json
85025a8e9bd27893cf560bb1b78fd5eaac31bb56 assets/create/lang/unfinished/ro_ro.json
c8836cf333ce5f6e048e8e41e5f5223fff3b6c53 assets/create/lang/unfinished/ru_ru.json
12066237803248568b5ff0cbe4a07f118ef4a037 assets/create/lang/unfinished/zh_cn.json
5671f38671750050fac21fa9402a5eaab622c8f3 assets/create/lang/unfinished/zh_tw.json
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json

View file

@ -1251,8 +1251,9 @@
"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.high": "Fast",
"create.tooltip.speedRequirement.fast": "Fast",
"create.tooltip.stressImpact": "Kinetic Stress Impact: %1$s",
"create.tooltip.stressImpact.low": "Low",
"create.tooltip.stressImpact.medium": "Moderate",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1513",
"_": "Missing Localizations: 1514",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Strg",
"create.tooltip.speedRequirement": "Geschwindigkeitsanforderung: %1$s",
"create.tooltip.speedRequirement.none": "Keine",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Moderat",
"create.tooltip.speedRequirement.high": "Schnell",
"create.tooltip.speedRequirement.fast": "Schnell",
"create.tooltip.stressImpact": "Kinetische Belastungsauswirkung: %1$s",
"create.tooltip.stressImpact.low": "Niedrig",
"create.tooltip.stressImpact.medium": "Moderat",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 524",
"_": "Missing Localizations: 525",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "Requqrimiento de Velocidad: %1$s",
"create.tooltip.speedRequirement.none": "Ninguno",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Moderado",
"create.tooltip.speedRequirement.high": "Rápidp",
"create.tooltip.speedRequirement.fast": "Rápido",
"create.tooltip.stressImpact": "Impacto en el Estrés Cinético: %1$s",
"create.tooltip.stressImpact.low": "Bajo",
"create.tooltip.stressImpact.medium": "Moderado",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 195",
"_": "Missing Localizations: 196",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "Requisitos de velocidad: %1$s",
"create.tooltip.speedRequirement.none": "Ninguno",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Moderado",
"create.tooltip.speedRequirement.high": "Rápido",
"create.tooltip.speedRequirement.fast": "Rápido",
"create.tooltip.stressImpact": "Impacto de estrés: %1$s",
"create.tooltip.stressImpact.low": "Bajo",
"create.tooltip.stressImpact.medium": "Moderado",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1775",
"_": "Missing Localizations: 1776",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "Vitesse requise: %1$s",
"create.tooltip.speedRequirement.none": "Aucune",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Modérée",
"create.tooltip.speedRequirement.high": "Rapide",
"create.tooltip.speedRequirement.fast": "Rapide",
"create.tooltip.stressImpact": "Impact du stress: %1$s",
"create.tooltip.stressImpact.low": "Faible",
"create.tooltip.stressImpact.medium": "Modéré",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1464",
"_": "Missing Localizations: 1465",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "Velocità richiesta: %1$s",
"create.tooltip.speedRequirement.none": "Nessuna",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Moderata",
"create.tooltip.speedRequirement.high": "Veloce",
"create.tooltip.speedRequirement.fast": "Veloce",
"create.tooltip.stressImpact": "Impatto sullo stress: %1$s",
"create.tooltip.stressImpact.low": "Basso",
"create.tooltip.stressImpact.medium": "Moderato",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 190",
"_": "Missing Localizations: 191",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "必要な回転速度: %1$s",
"create.tooltip.speedRequirement.none": "無し",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "中速",
"create.tooltip.speedRequirement.high": "高速",
"create.tooltip.speedRequirement.fast": "高速",
"create.tooltip.stressImpact": "応力への影響: %1$s",
"create.tooltip.stressImpact.low": "低",
"create.tooltip.stressImpact.medium": "中",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 190",
"_": "Missing Localizations: 191",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "요구 회전속도: %1$s",
"create.tooltip.speedRequirement.none": "없음",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "보통",
"create.tooltip.speedRequirement.high": "빠름",
"create.tooltip.speedRequirement.fast": "빠름",
"create.tooltip.stressImpact": "피로도 부하: %1$s",
"create.tooltip.stressImpact.low": "낮음",
"create.tooltip.stressImpact.medium": "보통",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 2128",
"_": "Missing Localizations: 2129",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "Snelheid eis: %1$s",
"create.tooltip.speedRequirement.none": "Geen",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Gemiddeld",
"create.tooltip.speedRequirement.high": "Snel",
"create.tooltip.speedRequirement.fast": "Snel",
"create.tooltip.stressImpact": "Stress Impact: %1$s",
"create.tooltip.stressImpact.low": "Laag",
"create.tooltip.stressImpact.medium": "Gemiddeld",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 563",
"_": "Missing Localizations: 564",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "Wymagana prędkość: %1$s",
"create.tooltip.speedRequirement.none": "Brak",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Umiarkowana",
"create.tooltip.speedRequirement.high": "Wysoka",
"create.tooltip.speedRequirement.fast": "Wysoka",
"create.tooltip.stressImpact": "Wpływ na obciążenie: %1$s",
"create.tooltip.stressImpact.low": "Niski",
"create.tooltip.stressImpact.medium": "Umiarkowany",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1375",
"_": "Missing Localizations: 1376",
"_": "->------------------------] Game Elements [------------------------<-",
@ -591,9 +591,9 @@
"item.create.crushed_gold_ore": "Minério de Ouro Esmagado",
"item.create.crushed_iron_ore": "Minério de Ferro Esmagado",
"item.create.crushed_lead_ore": "Minério de Chumbo Esmagado",
"item.create.crushed_nickel_ore": "Minério de Niquel Esmagado",
"item.create.crushed_osmium_ore": "Minério de Osmio Esmagado",
"item.create.crushed_platinum_ore": "Minério de Pratina Esmagado",
"item.create.crushed_nickel_ore": "Minério de Níquel Esmagado",
"item.create.crushed_osmium_ore": "Minério de Ósmio Esmagado",
"item.create.crushed_platinum_ore": "Minério de Platina Esmagado",
"item.create.crushed_quicksilver_ore": "Minério de Mercúrio Esmagado",
"item.create.crushed_silver_ore": "Minério de Prata Esmagado",
"item.create.crushed_tin_ore": "Minério de Estanho Esmagado",
@ -605,7 +605,7 @@
"item.create.electron_tube": "Tubo de Elétron",
"item.create.empty_blaze_burner": "Queimador de Blaze Vazio",
"item.create.empty_schematic": "Esquema vazio",
"item.create.experience_nugget": "Pepita de experiencia",
"item.create.experience_nugget": "Pepita de experiência",
"item.create.extendo_grip": "Extensão de Pegador",
"item.create.filter": "Filtro",
"item.create.furnace_minecart_contraption": "Engenhoca de Carrinho de Mina com Fornalha",
@ -619,7 +619,7 @@
"item.create.incomplete_precision_mechanism": "Mecanismo de Precisão",
"item.create.iron_sheet": "Chapa de Ferro",
"item.create.linked_controller": "Controle conectado",
"item.create.minecart_contraption": "Engenhoca de Carrino de Mina",
"item.create.minecart_contraption": "Engenhoca de Carrinho de Mina",
"item.create.minecart_coupling": "Acoplamento de Carrinho de Mina",
"item.create.polished_rose_quartz": "Quartzo Rosa Polido",
"item.create.potato_cannon": "Canhão de Batata",
@ -651,7 +651,7 @@
"advancement.create.root": "Bem vindo a Create",
"advancement.create.root.desc": "É hora de construir engenhocas maravilhosas",
"advancement.create.andesite_alloy": "Alinterações Em abundância",
"advancement.create.andesite_alloy": "Aliterações Em abundância",
"advancement.create.andesite_alloy.desc": "Materiais do Create tem nomes estranhos, a liga de andesito é um deles.",
"advancement.create.its_alive": "Esta vivo!",
"advancement.create.its_alive.desc": "Assista o seu primeiro componente cinético rodar.",
@ -660,7 +660,7 @@
"advancement.create.overstressed": "Excesso de tensão",
"advancement.create.overstressed.desc": "Experience os limites da tensão.",
"advancement.create.belt": "Correia de alga",
"advancement.create.belt.desc": "Conecte dois eixos com uma esteira mecanica.",
"advancement.create.belt.desc": "Conecte dois eixos com uma esteira mecânica.",
"advancement.create.tunnel": "Pegue cover!",
"advancement.create.tunnel.desc": "Embeleze suas esteiras mecânicas com um tunel.",
"advancement.create.splitter_tunnel": "Divida e Conquiste",
@ -684,11 +684,11 @@
"advancement.create.wrench": "Configurado convenientemente",
"advancement.create.wrench.desc": "Crie a chave inglesa para ajuda-lo em construi suas engenhocas.",
"advancement.create.goggles": "Visão do stress",
"advancement.create.goggles.desc": "Crie o óculos de engenheiro para ajuda-lo a conseguir mais informações cineticas dos conponentes.",
"advancement.create.goggles.desc": "Crie o óculos de engenheiro para ajuda-lo a conseguir mais informações cinéticas dos componentes.",
"advancement.create.speedometer": "Mas quão rapido exatamente?",
"advancement.create.speedometer.desc": "Coloque e energise o velocimetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
"advancement.create.stressometer": "Mas quão estressado exatamente?",
"advancement.create.stressometer.desc": "Coloque e energise o estressómetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
"advancement.create.stressometer.desc": "Coloque e energise o estressômetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
"advancement.create.aesthetics": "Boom, estética!",
"advancement.create.aesthetics.desc": "Coloque suportes em eixos, canos e rodas dentadas.",
"advancement.create.reinforced": "Boom, Reinforçado!",
@ -709,15 +709,15 @@
"advancement.create.maxed_windmill.desc": "Monte um moinho de vento com força maxima.",
"advancement.create.andesite_casing": "A era do andesito",
"advancement.create.andesite_casing.desc": "Use um pouco de liga de andesito e madeira para fazer um revestimento basico.",
"advancement.create.mechanical_drill": "Mineradores estacionarios",
"advancement.create.mechanical_drill": "Mineradores estacionários",
"advancement.create.mechanical_drill.desc": "coloque e energize uma broca mecânica.",
"advancement.create.press": "Prensa faz 'Bonk!'",
"advancement.create.press.desc": "Energize uma prensa mecânica e usa-lá para criar algumas chapas.",
"advancement.create.polished_rose_quartz": "Diamantes rosa",
"advancement.create.polished_rose_quartz.desc": "Use uma lixa para polir um quartzo rosa até este ficar transparente.",
"advancement.create.electron_tube": "Beep Boop",
"advancement.create.electron_tube.desc": "Faça alguns tubos de elétron, uteis para fabricar maquinas menos primitivas.",
"advancement.create.mechanical_saw": "Cortadores estacionarios",
"advancement.create.electron_tube.desc": "Faça alguns tubos de elétron, úteis para fabricar maquinas menos primitivas.",
"advancement.create.mechanical_saw": "Cortadores estacionários",
"advancement.create.mechanical_saw.desc": "Coloque e energize uma serra mecânica.",
"advancement.create.basin": "Operação da bacia",
"advancement.create.basin.desc": "Coloque uma bacia e tente jogar itens nela.",
@ -785,7 +785,7 @@
"advancement.create.fist_bump.desc": "Faça dois implantadores baterem com o punho.",
"advancement.create.crushing_wheel": "Par de gigantes",
"advancement.create.crushing_wheel.desc": "Crie algumas rodas de moer para triturar alguns materiais eficientemente.",
"advancement.create.blaze_cake": "Descarga de açucar",
"advancement.create.blaze_cake": "Descarga de açúcar",
"advancement.create.blaze_cake.desc": "Asse para o seu queimador de blaze um bolo especial.",
"advancement.create.wand_of_symmetry": "Espelhos radiantes",
"advancement.create.wand_of_symmetry.desc": "Fabrique uma varinha de simetria.",
@ -864,7 +864,7 @@
"create.recipe.assembly.spout_filling_fluid": "Despejar %1$s",
"create.recipe.assembly.deploying_item": "Implantar %1$s",
"create.recipe.assembly.cutting": "Cortado com serra",
"create.recipe.assembly.repeat": "Repetir sequencia %1$s vezes",
"create.recipe.assembly.repeat": "Repetir sequência %1$s vezes",
"create.recipe.assembly.junk": "Recuperação aleatório",
"create.recipe.processing.chance": "%1$s%% Chance",
"create.recipe.deploying.not_consumed": "Não consumido",
@ -908,17 +908,17 @@
"create.gui.scrollInput.defaultTitle": "Escolha uma Opção:",
"create.gui.scrollInput.scrollToModify": "Role o mouse para Modificar",
"create.gui.scrollInput.scrollToAdjustAmount": "UNLOCALIZED: Scroll to Adjust Amount",
"create.gui.scrollInput.scrollToAdjustAmount": "Role o mouse para ajustar a quantidade",
"create.gui.scrollInput.scrollToSelect": "Role o mouse para Selecionar",
"create.gui.scrollInput.shiftScrollsFaster": "UNLOCALIZED: Shift to Scroll Faster",
"create.gui.toolmenu.focusKey": "Segure [%1$s] para Focar",
"create.gui.toolmenu.cycle": "[SCROLL] para Circular",
"create.toolbox.unequip": "UNLOCALIZED: Unequip: %1$s",
"create.toolbox.outOfRange": "UNLOCALIZED: Toolbox of held item not in Range",
"create.toolbox.detach": "UNLOCALIZED: Stop tracking and keep item",
"create.toolbox.depositAll": "UNLOCALIZED: Return items to nearby Toolboxes",
"create.toolbox.depositBox": "UNLOCALIZED: Return items to Toolbox",
"create.toolbox.unequip": "Desequipar: %1$s",
"create.toolbox.outOfRange": "Caixa de ferramentas do item segurado fora de alcance",
"create.toolbox.detach": "Parar de rastrear e manter item",
"create.toolbox.depositAll": "Retornar itens para caixa de ferramenta próxima",
"create.toolbox.depositBox": "Retornar itens para caixa de ferramenta",
"create.gui.symmetryWand.mirrorType": "Espelhar",
"create.gui.symmetryWand.orientation": "Orientação",
@ -1050,8 +1050,8 @@
"create.schematicAndQuill.secondPos": "Segunda posição feita.",
"create.schematicAndQuill.noTarget": "Seguro [Ctrl] para selecionar Blocos de Ar.",
"create.schematicAndQuill.abort": "Seleção removida.",
"create.schematicAndQuill.title": "UNLOCALIZED: Schematic Name:",
"create.schematicAndQuill.convert": "UNLOCALIZED: Save and Upload Immediately",
"create.schematicAndQuill.title": "Nome do esquema:",
"create.schematicAndQuill.convert": "Salvar e carregar arquivo imediatamente",
"create.schematicAndQuill.fallbackName": "Meu Esquema",
"create.schematicAndQuill.saved": "Salvo como %1$s",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "UNLOCALIZED: Ctrl",
"create.tooltip.speedRequirement": "UNLOCALIZED: Speed Requirement: %1$s",
"create.tooltip.speedRequirement.none": "UNLOCALIZED: None",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "UNLOCALIZED: Moderate",
"create.tooltip.speedRequirement.high": "UNLOCALIZED: Fast",
"create.tooltip.speedRequirement.fast": "UNLOCALIZED: Fast",
"create.tooltip.stressImpact": "UNLOCALIZED: Kinetic Stress Impact: %1$s",
"create.tooltip.stressImpact.low": "UNLOCALIZED: Low",
"create.tooltip.stressImpact.medium": "UNLOCALIZED: Moderate",
@ -1586,7 +1587,7 @@
"item.create.example_item.tooltip.action1": "These controls are displayed.",
"block.create.wooden_bracket.tooltip": "UNLOCALIZED: WOODEN BRACKET",
"block.create.wooden_bracket.tooltip.summary": "UNLOCALIZED: _Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with a cozy and wooden bit of reinforcement.",
"block.create.wooden_bracket.tooltip.summary": "_Decore_ seus _eixos, rodas dentadas_ e _canos_com um pedaço aconchegante e de madeira de reforço.",
"block.create.metal_bracket.tooltip": "UNLOCALIZED: METAL BRACKET",
"block.create.metal_bracket.tooltip.summary": "UNLOCALIZED: _Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with an industrial and sturdy bit of reinforcement.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1747",
"_": "Missing Localizations: 1748",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "UNLOCALIZED: Ctrl",
"create.tooltip.speedRequirement": "UNLOCALIZED: Speed Requirement: %1$s",
"create.tooltip.speedRequirement.none": "UNLOCALIZED: None",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "UNLOCALIZED: Moderate",
"create.tooltip.speedRequirement.high": "UNLOCALIZED: Fast",
"create.tooltip.speedRequirement.fast": "UNLOCALIZED: Fast",
"create.tooltip.stressImpact": "UNLOCALIZED: Kinetic Stress Impact: %1$s",
"create.tooltip.stressImpact.low": "UNLOCALIZED: Low",
"create.tooltip.stressImpact.medium": "UNLOCALIZED: Moderate",

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 568",
"_": "Missing Localizations: 569",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "Требование к скорости: %1$s",
"create.tooltip.speedRequirement.none": "Нет",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "Умеренная",
"create.tooltip.speedRequirement.high": "Быстрая",
"create.tooltip.speedRequirement.fast": "Быстрая",
"create.tooltip.stressImpact": "Создаваемая нагрузка: %1$s",
"create.tooltip.stressImpact.low": "Низкая",
"create.tooltip.stressImpact.medium": "Средняя",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 190",
"_": "Missing Localizations: 191",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "需求转速:%1$s",
"create.tooltip.speedRequirement.none": "无",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "适当",
"create.tooltip.speedRequirement.high": "快",
"create.tooltip.speedRequirement.fast": "快",
"create.tooltip.stressImpact": "应力影响:%1$s",
"create.tooltip.stressImpact.low": "低",
"create.tooltip.stressImpact.medium": "中",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 582",
"_": "Missing Localizations: 583",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1252,8 +1252,9 @@
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "需求速度:%1$s",
"create.tooltip.speedRequirement.none": "無",
"create.tooltip.speedRequirement.slow": "UNLOCALIZED: Slow",
"create.tooltip.speedRequirement.medium": "適當",
"create.tooltip.speedRequirement.high": "快",
"create.tooltip.speedRequirement.fast": "快",
"create.tooltip.stressImpact": "動能消耗:%1$s",
"create.tooltip.stressImpact.low": "低",
"create.tooltip.stressImpact.medium": "中",

View file

@ -209,6 +209,7 @@ import com.simibubi.create.foundation.data.CreateRegistrate;
import com.simibubi.create.foundation.data.ModelGen;
import com.simibubi.create.foundation.data.SharedProperties;
import com.simibubi.create.foundation.item.TooltipHelper;
import com.simibubi.create.foundation.item.UncontainableBlockItem;
import com.simibubi.create.foundation.utility.ColorHandlers;
import com.simibubi.create.foundation.utility.Couple;
import com.simibubi.create.foundation.utility.DyeHelper;
@ -1672,7 +1673,7 @@ public class AllBlocks {
})
.onRegisterAfter(Item.class, v -> TooltipHelper.referTo(v, "block.create.toolbox"))
.tag(AllBlockTags.TOOLBOXES.tag)
.item()
.item(UncontainableBlockItem::new)
.model((c, p) -> p.withExistingParent(colourName + "_toolbox", p.modLoc("block/toolbox/item"))
.texture("0", p.modLoc("block/toolbox/" + colourName)))
.tag(AllItemTags.TOOLBOXES.tag)

View file

@ -2,7 +2,6 @@ package com.simibubi.create;
import com.simibubi.create.content.contraptions.components.actors.SeatEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntityRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntityRenderer;
@ -10,6 +9,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.gan
import com.simibubi.create.content.contraptions.components.structureMovement.glue.GlueInstance;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionEntityRenderer;
import com.simibubi.create.content.curiosities.tools.BlueprintEntity;
import com.simibubi.create.content.curiosities.tools.BlueprintRenderer;
import com.simibubi.create.content.curiosities.weapons.PotatoProjectileEntity;

View file

@ -19,32 +19,31 @@ import net.minecraft.world.level.block.state.BlockState;
public interface IRotate extends IWrenchable {
enum SpeedLevel {
NONE,
MEDIUM,
FAST;
NONE(ChatFormatting.DARK_GRAY, 0x000000, 0),
SLOW(ChatFormatting.GREEN, 0x22FF22, 10),
MEDIUM(ChatFormatting.AQUA, 0x0084FF, 20),
FAST(ChatFormatting.LIGHT_PURPLE, 0xFF55FF, 30);
private final ChatFormatting textColor;
private final int color;
private final int particleSpeed;
SpeedLevel(ChatFormatting textColor, int color, int particleSpeed) {
this.textColor = textColor;
this.color = color;
this.particleSpeed = particleSpeed;
}
public ChatFormatting getTextColor() {
return this == NONE ? ChatFormatting.GREEN
: this == MEDIUM ? ChatFormatting.AQUA : ChatFormatting.LIGHT_PURPLE;
return textColor;
}
public int getColor() {
return this == NONE ? 0x22FF22 : this == MEDIUM ? 0x0084FF : 0xFF55FF;
return color;
}
public int getParticleSpeed() {
return this == NONE ? 10 : this == MEDIUM ? 20 : 30;
}
public static SpeedLevel of(float speed) {
speed = Math.abs(speed);
if (speed >= AllConfigs.SERVER.kinetics.fastSpeed.get()) {
return FAST;
} else if (speed >= AllConfigs.SERVER.kinetics.mediumSpeed.get()) {
return MEDIUM;
}
return NONE;
return particleSpeed;
}
public float getSpeedValue() {
@ -53,22 +52,31 @@ public interface IRotate extends IWrenchable {
return AllConfigs.SERVER.kinetics.fastSpeed.get().floatValue();
case MEDIUM:
return AllConfigs.SERVER.kinetics.mediumSpeed.get().floatValue();
case SLOW:
return 1;
case NONE:
default:
return 0;
}
}
public static Component getFormattedSpeedText(float speed, boolean overstressed){
public static SpeedLevel of(float speed) {
speed = Math.abs(speed);
if (speed >= AllConfigs.SERVER.kinetics.fastSpeed.get())
return FAST;
if (speed >= AllConfigs.SERVER.kinetics.mediumSpeed.get())
return MEDIUM;
if (speed >= 1)
return SLOW;
return NONE;
}
public static Component getFormattedSpeedText(float speed, boolean overstressed) {
SpeedLevel speedLevel = of(speed);
MutableComponent level = new TextComponent(ItemDescription.makeProgressBar(3, speedLevel.ordinal()));
if (speedLevel == SpeedLevel.MEDIUM)
level.append(Lang.translate("tooltip.speedRequirement.medium"));
if (speedLevel == SpeedLevel.FAST)
level.append(Lang.translate("tooltip.speedRequirement.high"));
level.append(Lang.translate("tooltip.speedRequirement." + Lang.asId(speedLevel.name())));
level.append(" (" + IHaveGoggleInformation.format(Math.abs(speed))).append(Lang.translate("generic.unit.rpm")).append(") ");
if (overstressed)
@ -82,40 +90,49 @@ public interface IRotate extends IWrenchable {
}
enum StressImpact {
LOW,
MEDIUM,
HIGH,
OVERSTRESSED;
LOW(ChatFormatting.YELLOW, ChatFormatting.GREEN),
MEDIUM(ChatFormatting.GOLD, ChatFormatting.YELLOW),
HIGH(ChatFormatting.RED, ChatFormatting.GOLD),
OVERSTRESSED(ChatFormatting.RED, ChatFormatting.RED);
private final ChatFormatting absoluteColor;
private final ChatFormatting relativeColor;
StressImpact(ChatFormatting absoluteColor, ChatFormatting relativeColor) {
this.absoluteColor = absoluteColor;
this.relativeColor = relativeColor;
}
public ChatFormatting getAbsoluteColor() {
return this == LOW ? ChatFormatting.YELLOW : this == MEDIUM ? ChatFormatting.GOLD : ChatFormatting.RED;
return absoluteColor;
}
public ChatFormatting getRelativeColor() {
return this == LOW ? ChatFormatting.GREEN : this == MEDIUM ? ChatFormatting.YELLOW : this == HIGH ? ChatFormatting.GOLD : ChatFormatting.RED;
return relativeColor;
}
public static StressImpact of(double stressPercent){
if (stressPercent > 1) return StressImpact.OVERSTRESSED;
else if (stressPercent > .75d) return StressImpact.HIGH;
else if (stressPercent > .5d) return StressImpact.MEDIUM;
else return StressImpact.LOW;
public static StressImpact of(double stressPercent) {
if (stressPercent > 1)
return StressImpact.OVERSTRESSED;
if (stressPercent > .75d)
return StressImpact.HIGH;
if (stressPercent > .5d)
return StressImpact.MEDIUM;
return StressImpact.LOW;
}
public static boolean isEnabled() {
return !AllConfigs.SERVER.kinetics.disableStress.get();
}
public static Component getFormattedStressText(double stressPercent){
public static Component getFormattedStressText(double stressPercent) {
StressImpact stressLevel = of(stressPercent);
ChatFormatting color = stressLevel.getRelativeColor();
MutableComponent level = new TextComponent(ItemDescription.makeProgressBar(3, Math.min(stressLevel.ordinal(), 2)));
MutableComponent level = new TextComponent(ItemDescription.makeProgressBar(3, Math.min(stressLevel.ordinal() + 1, 3)));
level.append(Lang.translate("tooltip.stressImpact." + Lang.asId(stressLevel.name())));
level.append(String.format(" (%s%%) ", (int) (stressPercent * 100)));
return level.withStyle(color);
return level.withStyle(stressLevel.getRelativeColor());
}
}
@ -124,7 +141,7 @@ public interface IRotate extends IWrenchable {
public Axis getRotationAxis(BlockState state);
public default SpeedLevel getMinimumRequiredSpeedLevel() {
return SpeedLevel.NONE;
return SpeedLevel.SLOW;
}
public default boolean hideStressImpact() {

View file

@ -357,13 +357,7 @@ public class KineticTileEntity extends SmartTileEntity
return true;
IRotate def = (IRotate) state.getBlock();
SpeedLevel minimumRequiredSpeedLevel = def.getMinimumRequiredSpeedLevel();
if (minimumRequiredSpeedLevel == null)
return true;
if (minimumRequiredSpeedLevel == SpeedLevel.MEDIUM)
return Math.abs(getSpeed()) >= AllConfigs.SERVER.kinetics.mediumSpeed.get();
if (minimumRequiredSpeedLevel == SpeedLevel.FAST)
return Math.abs(getSpeed()) >= AllConfigs.SERVER.kinetics.fastSpeed.get();
return true;
return Math.abs(getSpeed()) >= minimumRequiredSpeedLevel.getSpeedValue();
}
public static void switchToBlockState(Level world, BlockPos pos, BlockState state) {

View file

@ -71,6 +71,8 @@ public class PloughMovementBehaviour extends BlockBreakingMovementBehaviour {
@Override
public boolean canBreak(Level world, BlockPos breakingPos, BlockState state) {
if (state.isAir())
return false;
if (world.getBlockState(breakingPos.below())
.getBlock() instanceof FarmBlock)
return false;

View file

@ -155,18 +155,18 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock
@Override
public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Player player, InteractionHand handIn,
BlockHitResult hit) {
ItemStack heldItem = player.getItemInHand(handIn);
boolean isHand = heldItem.isEmpty() && handIn == InteractionHand.MAIN_HAND;
BlockEntity te = worldIn.getBlockEntity(pos);
if (!(te instanceof MechanicalCrafterTileEntity))
if (!(te instanceof MechanicalCrafterTileEntity crafter))
return InteractionResult.PASS;
MechanicalCrafterTileEntity crafter = (MechanicalCrafterTileEntity) te;
boolean wrenched = AllItems.WRENCH.isIn(heldItem);
ItemStack heldItem = player.getItemInHand(handIn);
if (AllBlocks.MECHANICAL_ARM.isIn(heldItem))
return InteractionResult.PASS;
boolean isHand = heldItem.isEmpty() && handIn == InteractionHand.MAIN_HAND;
boolean wrenched = AllItems.WRENCH.isIn(heldItem);
if (hit.getDirection() == state.getValue(HORIZONTAL_FACING)) {
if (crafter.phase != Phase.IDLE && !wrenched) {

View file

@ -50,6 +50,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pul
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.MagnetBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.RopeBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.render.EmptyLighter;
import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity;
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock;

View file

@ -4,6 +4,7 @@ import com.jozufozu.flywheel.light.LightProvider;
import com.jozufozu.flywheel.light.MovingListener;
import com.jozufozu.flywheel.util.box.GridAlignedBB;
import com.jozufozu.flywheel.util.box.ImmutableBox;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import com.simibubi.create.foundation.config.AllConfigs;
public class NonStationaryLighter<C extends Contraption> extends ContraptionLighter<C> implements MovingListener {

View file

@ -1,5 +1,7 @@
package com.simibubi.create.content.contraptions.components.structureMovement;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionEntityRenderer;
import net.minecraft.client.renderer.culling.Frustum;
import net.minecraft.client.renderer.entity.EntityRendererProvider;

View file

@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be
import com.jozufozu.flywheel.util.box.GridAlignedBB;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
public class AnchoredLighter extends ContraptionLighter<Contraption> {

View file

@ -5,8 +5,8 @@ import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllTags.AllBlockTags;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import com.simibubi.create.foundation.config.AllConfigs;
import net.minecraft.core.BlockPos;

View file

@ -8,8 +8,8 @@ import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import com.simibubi.create.foundation.utility.NBTHelper;
import net.minecraft.core.BlockPos;

View file

@ -2,9 +2,9 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType;
import com.simibubi.create.content.contraptions.components.structureMovement.NonStationaryLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;

View file

@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.components.structureMovement.ga
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType;
import com.simibubi.create.content.contraptions.components.structureMovement.NonStationaryLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.TranslatingContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;

View file

@ -9,10 +9,10 @@ import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType;
import com.simibubi.create.content.contraptions.components.structureMovement.NonStationaryLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity.CartMovementMode;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.NBTHelper;
import com.simibubi.create.foundation.utility.VecHelper;

View file

@ -16,10 +16,10 @@ import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementChecks;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType;
import com.simibubi.create.content.contraptions.components.structureMovement.TranslatingContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.utility.VecHelper;

View file

@ -1,7 +1,7 @@
package com.simibubi.create.content.contraptions.components.structureMovement.piston;
import com.jozufozu.flywheel.util.box.GridAlignedBB;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import net.minecraft.core.Vec3i;

View file

@ -1,9 +1,9 @@
package com.simibubi.create.content.contraptions.components.structureMovement.pulley;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionType;
import com.simibubi.create.content.contraptions.components.structureMovement.TranslatingContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;

View file

@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pu
import com.jozufozu.flywheel.util.box.GridAlignedBB;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionLighter;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;

View file

@ -1,7 +1,8 @@
package com.simibubi.create.content.contraptions.components.structureMovement;
package com.simibubi.create.content.contraptions.components.structureMovement.render;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher;
import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.culling.Frustum;

View file

@ -1,4 +1,4 @@
package com.simibubi.create.content.contraptions.components.structureMovement;
package com.simibubi.create.content.contraptions.components.structureMovement.render;
import com.jozufozu.flywheel.light.GPULightVolume;
import com.jozufozu.flywheel.light.LightListener;
@ -7,6 +7,7 @@ import com.jozufozu.flywheel.light.LightUpdater;
import com.jozufozu.flywheel.light.ListenerStatus;
import com.jozufozu.flywheel.util.box.GridAlignedBB;
import com.jozufozu.flywheel.util.box.ImmutableBox;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import net.minecraft.world.level.LightLayer;

View file

@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.components.structureMovement.re
import com.jozufozu.flywheel.util.box.GridAlignedBB;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
// so other contraptions don't crash before they have a lighter
public class EmptyLighter extends ContraptionLighter<Contraption> {

View file

@ -22,7 +22,6 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Matrix4f;
import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.foundation.render.CreateContexts;
import com.simibubi.create.foundation.utility.AnimationTickHolder;

View file

@ -213,6 +213,8 @@ public abstract class FluidManipulationBehaviour extends TileEntityBehaviour {
}
protected boolean canDrainInfinitely(Fluid fluid) {
if (fluid == null)
return false;
return maxBlocks() != -1 && AllConfigs.SERVER.fluids.bottomlessFluidMode.get().test(fluid);
}

View file

@ -1,10 +1,8 @@
package com.simibubi.create.content.contraptions.goggles;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.AllBlocks;
@ -34,7 +32,6 @@ import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.FormattedText;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
@ -47,7 +44,6 @@ public class GoggleOverlayRenderer {
public static final IIngameOverlay OVERLAY = GoggleOverlayRenderer::renderOverlay;
private static final List<Supplier<Boolean>> customGogglePredicates = new LinkedList<>();
private static final Map<Object, OutlineEntry> outlines = CreateClient.OUTLINER.getOutlines();
public static int hoverTicks = 0;
@ -75,7 +71,6 @@ public class GoggleOverlayRenderer {
Minecraft mc = Minecraft.getInstance();
ClientLevel world = mc.level;
BlockPos pos = result.getBlockPos();
ItemStack headSlot = mc.player.getItemBySlot(EquipmentSlot.HEAD);
BlockEntity te = world.getBlockEntity(pos);
int prevHoverTicks = hoverTicks;
@ -85,9 +80,7 @@ public class GoggleOverlayRenderer {
hoverTicks = 0;
lastHovered = pos;
boolean wearingGoggles = AllItems.GOGGLES.isIn(headSlot);
for (Supplier<Boolean> supplier : customGogglePredicates)
wearingGoggles |= supplier.get();
boolean wearingGoggles = GogglesItem.isWearingGoggles(mc.player);
boolean hasGoggleInformation = te instanceof IHaveGoggleInformation;
boolean hasHoveringInformation = te instanceof IHaveHoveringInformation;
@ -208,12 +201,4 @@ public class GoggleOverlayRenderer {
poseStack.popPose();
}
/**
* Use this method to add custom entry points to the goggles overlay, e.g.
* custom armor, handheld alternatives, etc.
*/
public static void registerCustomGoggleCondition(Supplier<Boolean> condition) {
customGogglePredicates.add(condition);
}
}

View file

@ -1,5 +1,9 @@
package com.simibubi.create.content.contraptions.goggles;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
import com.simibubi.create.AllItems;
import net.minecraft.world.InteractionHand;
@ -16,6 +20,11 @@ import net.minecraft.world.level.block.DispenserBlock;
public class GogglesItem extends Item {
private static final List<Predicate<Player>> IS_WEARING_PREDICATES = new ArrayList<>();
static {
addIsWearingPredicate(player -> AllItems.GOGGLES.isIn(player.getItemBySlot(EquipmentSlot.HEAD)));
}
public GogglesItem(Properties properties) {
super(properties);
DispenserBlock.registerBehavior(this, ArmorItem.DISPENSE_ITEM_BEHAVIOR);
@ -39,11 +48,21 @@ public class GogglesItem extends Item {
}
}
public static boolean canSeeParticles(Player player) {
for (ItemStack itemStack : player.getArmorSlots())
if (AllItems.GOGGLES.isIn(itemStack))
public static boolean isWearingGoggles(Player player) {
for (Predicate<Player> predicate : IS_WEARING_PREDICATES) {
if (predicate.test(player)) {
return true;
}
}
return false;
}
/**
* Use this method to add custom entry points to the goggles overlay, e.g. custom
* armor, handheld alternatives, etc.
*/
public static void addIsWearingPredicate(Predicate<Player> predicate) {
IS_WEARING_PREDICATES.add(predicate);
}
}

View file

@ -88,7 +88,7 @@ public class RotationIndicatorParticle extends SimpleAnimatedParticle {
double xSpeed, double ySpeed, double zSpeed) {
Minecraft mc = Minecraft.getInstance();
LocalPlayer player = mc.player;
boolean visible = worldIn != mc.level || player != null && GogglesItem.canSeeParticles(player);
boolean visible = worldIn != mc.level || player != null && GogglesItem.isWearingGoggles(player);
return new RotationIndicatorParticle(worldIn, x, y, z, data.color, data.radius1, data.radius2, data.speed,
data.getAxis(), data.lifeSpan, visible, this.spriteSet);
}

View file

@ -162,13 +162,11 @@ public class BlazeBurnerBlock extends Block implements ITE<BlazeBurnerTileEntity
return InteractionResultHolder.fail(ItemStack.EMPTY);
if (!doNotConsume) {
ItemStack container = stack.getContainerItem();
if (!world.isClientSide && !simulate) {
ItemStack container = stack.hasContainerItem() ? stack.getContainerItem() : ItemStack.EMPTY;
if (!world.isClientSide) {
stack.shrink(1);
}
if (!container.isEmpty()) {
return InteractionResultHolder.success(container);
}
return InteractionResultHolder.success(container);
}
return InteractionResultHolder.success(ItemStack.EMPTY);
}

View file

@ -27,11 +27,10 @@ public class SpeedGaugeTileEntity extends GaugeTileEntity {
super.onSpeedChanged(prevSpeed);
float speed = Math.abs(getSpeed());
color = speed == 0 ? 0x333333
: Color.mixColors(SpeedLevel.of(speed)
color = Color.mixColors(SpeedLevel.of(speed)
.getColor(), 0xffffff, .25f);
if (speed == 69)
AllTriggers.triggerForNearbyPlayers(AllTriggers.SPEED_READ, level, worldPosition, 6, GogglesItem::canSeeParticles);
AllTriggers.triggerForNearbyPlayers(AllTriggers.SPEED_READ, level, worldPosition, 6, GogglesItem::isWearingGoggles);
dialTarget = getDialTarget(speed);
setChanged();

View file

@ -73,9 +73,7 @@ public class StressGaugeTileEntity extends GaugeTileEntity {
tooltip.add(componentSpacing.plainCopy().append(Lang.translate("gui.stressometer.title").withStyle(ChatFormatting.GRAY)));
if (getTheoreticalSpeed() == 0)
tooltip.add(new TextComponent(spacing + ItemDescription.makeProgressBar(3, -1)).append(Lang.translate("gui.stressometer.no_rotation")).withStyle(ChatFormatting.DARK_GRAY));
// tooltip.add(new StringTextComponent(TextFormatting.DARK_GRAY + ItemDescription.makeProgressBar(3, -1)
// + Lang.translate("gui.stressometer.no_rotation")));
tooltip.add(new TextComponent(spacing + ItemDescription.makeProgressBar(3, 0)).append(Lang.translate("gui.stressometer.no_rotation")).withStyle(ChatFormatting.DARK_GRAY));
else {
tooltip.add(componentSpacing.plainCopy().append(StressImpact.getFormattedStressText(stressFraction)));

View file

@ -73,15 +73,12 @@ public class ChromaticCompoundItem extends Item {
@Override
public boolean onEntityItemUpdate(ItemStack stack, ItemEntity entity) {
double y = entity.getY();
double yMotion = entity.getDeltaMovement().y;
Level world = entity.level;
CompoundTag data = entity.getPersistentData();
CompoundTag itemData = entity.getItem()
.getOrCreateTag();
Vec3 positionVec = entity.position();
CRecipes config = AllConfigs.SERVER.recipes;
if (world.isClientSide) {
int light = itemData.getInt("CollectingLight");
if (world.random.nextInt(config.lightSourceCountForRefinedRadiance.get() + 20) < light) {
@ -94,8 +91,13 @@ public class ChromaticCompoundItem extends Item {
return false;
}
double y = entity.getY();
double yMotion = entity.getDeltaMovement().y;
int minHeight = world.getMinBuildHeight();
CompoundTag data = entity.getPersistentData();
// Convert to Shadow steel if in void
if (y < 0 && y - yMotion < -10 && config.enableShadowSteelRecipe.get()) {
if (y < minHeight && y - yMotion < -10 + minHeight && config.enableShadowSteelRecipe.get()) {
ItemStack newStack = AllItems.SHADOW_STEEL.asStack();
newStack.setCount(stack.getCount());
data.putBoolean("JustCreated", true);

View file

@ -7,14 +7,11 @@ import java.util.function.Consumer;
import javax.annotation.Nonnull;
import com.simibubi.create.AllItems;
import com.simibubi.create.AllTags.AllItemTags;
import com.simibubi.create.foundation.utility.NBTHelper;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.Tag;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.ShulkerBoxBlock;
import net.minecraftforge.items.ItemHandlerHelper;
import net.minecraftforge.items.ItemStackHandler;
@ -91,13 +88,8 @@ public class ToolboxInventory extends ItemStackHandler {
@Override
public boolean isItemValid(int slot, ItemStack stack) {
if (AllItemTags.TOOLBOXES.matches(stack))
if (!stack.getItem().canFitInsideContainerItems())
return false;
if (stack.getItem() instanceof BlockItem) {
BlockItem blockItem = (BlockItem) stack.getItem();
if (blockItem.getBlock() instanceof ShulkerBoxBlock)
return false;
}
if (slot < 0 || slot >= getSlots())
return false;

View file

@ -42,7 +42,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtUtils;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.Containers;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
@ -332,15 +332,15 @@ public abstract class ArmInteractionPoint {
@Override
protected ItemStack insert(Level world, ItemStack stack, boolean simulate) {
ItemStack input = stack.copy();
if (!BlazeBurnerBlock.tryInsert(state, world, pos, input, false, false, true)
.getObject()
.isEmpty()) {
return stack;
}
InteractionResultHolder<ItemStack> res = BlazeBurnerBlock.tryInsert(state, world, pos, input, false, false, simulate);
return res.getResult() == InteractionResult.SUCCESS
? ItemHandlerHelper.copyStackWithSize(stack, stack.getCount() - 1)
: stack;
ItemStack remainder = res.getObject();
if (input.isEmpty()) {
return remainder;
} else {
if (!simulate)
Containers.dropItemStack(world, pos.getX(), pos.getY(), pos.getZ(), remainder);
return input;
}
}
@Override

View file

@ -313,7 +313,11 @@ public class ArmTileEntity extends KineticTileEntity implements ITransformableTE
protected int getDistributableAmount(ArmInteractionPoint armInteractionPoint, int i) {
ItemStack stack = armInteractionPoint.extract(level, i, true);
ItemStack remainder = simulateInsertion(stack);
return stack.getCount() - remainder.getCount();
if (stack.sameItem(remainder)) {
return stack.getCount() - remainder.getCount();
} else {
return stack.getCount();
}
}
protected void depositItem() {

View file

@ -10,9 +10,9 @@ import java.util.stream.Collectors;
import com.simibubi.create.content.logistics.item.filter.ItemAttribute;
import net.minecraft.client.resources.language.I18n;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.FireworkRocketItem;
import net.minecraft.world.item.FireworkStarItem;
@ -75,7 +75,7 @@ public class ColorAttribute implements ItemAttribute {
@Override
public Object[] getTranslationParameters() {
return new Object[]{new TranslatableComponent(color.getName()).getContents()};
return new Object[] { I18n.get("color.minecraft." + color.getName()) };
}
@Override

View file

@ -21,13 +21,13 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.simibubi.create.AllItems;
import com.simibubi.create.content.contraptions.base.IRotate;
import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel;
import com.simibubi.create.content.contraptions.base.IRotate.StressImpact;
import com.simibubi.create.content.contraptions.components.fan.EncasedFanBlock;
import com.simibubi.create.content.contraptions.components.flywheel.engine.FurnaceEngineBlock;
import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelBlock;
import com.simibubi.create.content.contraptions.goggles.GogglesItem;
import com.simibubi.create.foundation.block.BlockStressValues;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.config.CKinetics;
@ -39,7 +39,6 @@ import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.level.block.Block;
public class ItemDescription {
@ -90,7 +89,7 @@ public class ItemDescription {
CKinetics config = AllConfigs.SERVER.kinetics;
Component rpmUnit = Lang.translate("generic.unit.rpm");
boolean hasGoggles = AllItems.GOGGLES.isIn(Minecraft.getInstance().player.getItemBySlot(EquipmentSlot.HEAD));
boolean hasGoggles = GogglesItem.isWearingGoggles(Minecraft.getInstance().player);
SpeedLevel minimumRequiredSpeedLevel;
boolean showStressImpact;
@ -102,13 +101,12 @@ public class ItemDescription {
showStressImpact = !((IRotate) block).hideStressImpact();
}
boolean hasSpeedRequirement = minimumRequiredSpeedLevel != SpeedLevel.NONE;
boolean hasSpeedRequirement = minimumRequiredSpeedLevel != SpeedLevel.NONE && minimumRequiredSpeedLevel != SpeedLevel.SLOW;
boolean hasStressImpact =
StressImpact.isEnabled() && showStressImpact && BlockStressValues.getImpact(block) > 0;
boolean hasStressCapacity = StressImpact.isEnabled() && BlockStressValues.hasCapacity(block);
if (hasSpeedRequirement) {
List<Component> speedLevels = Lang.translatedOptions("tooltip.speedRequirement", "none", "medium", "high");
int index = minimumRequiredSpeedLevel.ordinal();
MutableComponent level =
new TextComponent(makeProgressBar(3, index)).withStyle(minimumRequiredSpeedLevel.getTextColor());
@ -118,7 +116,7 @@ public class ItemDescription {
.append(rpmUnit)
.append("+");
else
level.append(speedLevels.get(index));
level.append(Lang.translate("tooltip.speedRequirement." + Lang.asId(minimumRequiredSpeedLevel.name())));
list.add(Lang.translate("tooltip.speedRequirement")
.withStyle(GRAY));
@ -126,19 +124,18 @@ public class ItemDescription {
}
if (hasStressImpact) {
List<Component> stressLevels = Lang.translatedOptions("tooltip.stressImpact", "low", "medium", "high");
double impact = BlockStressValues.getImpact(block);
StressImpact impactId = impact >= config.highStressImpact.get() ? StressImpact.HIGH
: (impact >= config.mediumStressImpact.get() ? StressImpact.MEDIUM : StressImpact.LOW);
int index = impactId.ordinal();
MutableComponent level =
new TextComponent(makeProgressBar(3, index)).withStyle(impactId.getAbsoluteColor());
new TextComponent(makeProgressBar(3, index + 1)).withStyle(impactId.getAbsoluteColor());
if (hasGoggles)
level.append(impact + "x ")
.append(rpmUnit);
else
level.append(stressLevels.get(index));
level.append(Lang.translate("tooltip.stressImpact." + Lang.asId(impactId.name())));
list.add(Lang.translate("tooltip.stressImpact")
.withStyle(GRAY));
@ -146,20 +143,18 @@ public class ItemDescription {
}
if (hasStressCapacity) {
List<Component> stressCapacityLevels =
Lang.translatedOptions("tooltip.capacityProvided", "low", "medium", "high");
double capacity = BlockStressValues.getCapacity(block);
StressImpact impactId = capacity >= config.highCapacity.get() ? StressImpact.LOW
: (capacity >= config.mediumCapacity.get() ? StressImpact.MEDIUM : StressImpact.HIGH);
int index = StressImpact.values().length - 2 - impactId.ordinal();
MutableComponent level =
new TextComponent(makeProgressBar(3, index)).withStyle(impactId.getAbsoluteColor());
new TextComponent(makeProgressBar(3, index + 1)).withStyle(impactId.getAbsoluteColor());
if (hasGoggles)
level.append(capacity + "x ")
.append(rpmUnit);
else
level.append(stressCapacityLevels.get(index));
level.append(Lang.translate("tooltip.capacityProvided." + Lang.asId(impactId.name())));
// if (!isEngine && ((IRotate) block).showCapacityWithAnnotation())
// level +=
@ -183,8 +178,8 @@ public class ItemDescription {
public static String makeProgressBar(int length, int filledLength) {
String bar = " ";
int emptySpaces = length - 1 - filledLength;
for (int i = 0; i <= filledLength; i++)
int emptySpaces = length - filledLength;
for (int i = 0; i < filledLength; i++)
bar += "\u2588";
for (int i = 0; i < emptySpaces; i++)
bar += "\u2592";

View file

@ -10,8 +10,8 @@ import java.util.function.Supplier;
import com.google.common.base.Strings;
import com.mojang.bridge.game.Language;
import com.simibubi.create.AllItems;
import com.simibubi.create.content.AllSections;
import com.simibubi.create.content.contraptions.goggles.GogglesItem;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.foundation.item.ItemDescription.Palette;
import com.simibubi.create.foundation.utility.Couple;
@ -25,7 +25,6 @@ import net.minecraft.client.resources.language.I18n;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
@ -235,10 +234,10 @@ public class TooltipHelper {
public static boolean hasTooltip(ItemStack stack, Player player) {
checkLocale();
boolean hasGlasses = AllItems.GOGGLES.isIn(player.getItemBySlot(EquipmentSlot.HEAD));
boolean hasGoggles = GogglesItem.isWearingGoggles(player);
if (hasGlasses != gogglesMode) {
gogglesMode = hasGlasses;
if (hasGoggles != gogglesMode) {
gogglesMode = hasGoggles;
cachedTooltips.clear();
}

View file

@ -0,0 +1,15 @@
package com.simibubi.create.foundation.item;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.level.block.Block;
public class UncontainableBlockItem extends BlockItem {
public UncontainableBlockItem(Block block, Properties properties) {
super(block, properties);
}
@Override
public boolean canFitInsideContainerItems() {
return false;
}
}

View file

@ -87,7 +87,7 @@ public abstract class EntityContraptionInteractionMixin extends CapabilityProvid
}
@Inject(at = @At(value = "JUMP", opcode = 154, // IFNE line 661 injecting before `!blockstate.isAir(this.world, blockpos)`
ordinal = 5), method = "move")
ordinal = 7), method = "move")
private void movementMixin(MoverType mover, Vec3 movement, CallbackInfo ci) {
Vec3 worldPos = self.position()
.add(0, -0.2, 0);

View file

@ -13,7 +13,7 @@ import net.minecraft.world.level.Level;
public class EdgeInteractionBehaviour extends TileEntityBehaviour {
public static BehaviourType<EdgeInteractionBehaviour> TYPE = new BehaviourType<>();
public static final BehaviourType<EdgeInteractionBehaviour> TYPE = new BehaviourType<>();
ConnectionCallback connectionCallback;
ConnectivityPredicate connectivityPredicate;

View file

@ -42,11 +42,11 @@ public class EdgeInteractionHandler {
EdgeInteractionBehaviour behaviour = TileEntityBehaviour.get(world, pos, EdgeInteractionBehaviour.TYPE);
if (behaviour == null)
return;
if (behaviour.requiredItem.isPresent() && behaviour.requiredItem.get() != heldItem.getItem())
return;
BlockHitResult ray = RaycastHelper.rayTraceRange(world, player, 10);
if (ray == null)
return;
if (behaviour.requiredItem.orElse(heldItem.getItem()) != heldItem.getItem())
return;
Direction activatedDirection = getActivatedDirection(world, pos, ray.getDirection(), ray.getLocation(), behaviour);
if (activatedDirection == null)

View file

@ -1148,7 +1148,7 @@
"create.tooltip.speedRequirement": "Geschwindigkeitsanforderung: %1$s",
"create.tooltip.speedRequirement.none": "Keine",
"create.tooltip.speedRequirement.medium": "Moderat",
"create.tooltip.speedRequirement.high": "Schnell",
"create.tooltip.speedRequirement.fast": "Schnell",
"create.tooltip.stressImpact": "Kinetische Belastungsauswirkung: %1$s",
"create.tooltip.stressImpact.low": "Niedrig",
"create.tooltip.stressImpact.medium": "Moderat",

View file

@ -34,7 +34,7 @@
"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": "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",
@ -467,8 +467,9 @@
"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.high": "Fast",
"create.tooltip.speedRequirement.fast": "Fast",
"create.tooltip.stressImpact": "Kinetic Stress Impact: %1$s",
"create.tooltip.stressImpact.low": "Low",

View file

@ -1146,7 +1146,7 @@
"create.tooltip.speedRequirement": "Requqrimiento de Velocidad: %1$s",
"create.tooltip.speedRequirement.none": "Ninguno",
"create.tooltip.speedRequirement.medium": "Moderado",
"create.tooltip.speedRequirement.high": "Rápidp",
"create.tooltip.speedRequirement.fast": "Rápido",
"create.tooltip.stressImpact": "Impacto en el Estrés Cinético: %1$s",
"create.tooltip.stressImpact.low": "Bajo",
"create.tooltip.stressImpact.medium": "Moderado",

View file

@ -1228,7 +1228,7 @@
"create.tooltip.speedRequirement": "Requisitos de velocidad: %1$s",
"create.tooltip.speedRequirement.none": "Ninguno",
"create.tooltip.speedRequirement.medium": "Moderado",
"create.tooltip.speedRequirement.high": "Rápido",
"create.tooltip.speedRequirement.fast": "Rápido",
"create.tooltip.stressImpact": "Impacto de estrés: %1$s",
"create.tooltip.stressImpact.low": "Bajo",
"create.tooltip.stressImpact.medium": "Moderado",

View file

@ -623,7 +623,7 @@
"create.tooltip.speedRequirement": "Vitesse requise: %1$s",
"create.tooltip.speedRequirement.none": "Aucune",
"create.tooltip.speedRequirement.medium": "Modérée",
"create.tooltip.speedRequirement.high": "Rapide",
"create.tooltip.speedRequirement.fast": "Rapide",
"create.tooltip.stressImpact": "Impact du stress: %1$s",
"create.tooltip.stressImpact.low": "Faible",
"create.tooltip.stressImpact.medium": "Modéré",

View file

@ -1043,7 +1043,7 @@
"create.tooltip.speedRequirement": "Velocità richiesta: %1$s",
"create.tooltip.speedRequirement.none": "Nessuna",
"create.tooltip.speedRequirement.medium": "Moderata",
"create.tooltip.speedRequirement.high": "Veloce",
"create.tooltip.speedRequirement.fast": "Veloce",
"create.tooltip.stressImpact": "Impatto sullo stress: %1$s",
"create.tooltip.stressImpact.low": "Basso",
"create.tooltip.stressImpact.medium": "Moderato",

View file

@ -1232,7 +1232,7 @@
"create.tooltip.speedRequirement": "必要な回転速度: %1$s",
"create.tooltip.speedRequirement.none": "無し",
"create.tooltip.speedRequirement.medium": "中速",
"create.tooltip.speedRequirement.high": "高速",
"create.tooltip.speedRequirement.fast": "高速",
"create.tooltip.stressImpact": "応力への影響: %1$s",
"create.tooltip.stressImpact.low": "低",
"create.tooltip.stressImpact.medium": "中",

View file

@ -1230,7 +1230,7 @@
"create.tooltip.speedRequirement": "요구 회전속도: %1$s",
"create.tooltip.speedRequirement.none": "없음",
"create.tooltip.speedRequirement.medium": "보통",
"create.tooltip.speedRequirement.high": "빠름",
"create.tooltip.speedRequirement.fast": "빠름",
"create.tooltip.stressImpact": "피로도 부하: %1$s",
"create.tooltip.stressImpact.low": "낮음",
"create.tooltip.stressImpact.medium": "보통",

View file

@ -405,7 +405,7 @@
"create.tooltip.speedRequirement": "Snelheid eis: %1$s",
"create.tooltip.speedRequirement.none": "Geen",
"create.tooltip.speedRequirement.medium": "Gemiddeld",
"create.tooltip.speedRequirement.high": "Snel",
"create.tooltip.speedRequirement.fast": "Snel",
"create.tooltip.stressImpact": "Stress Impact: %1$s",
"create.tooltip.stressImpact.low": "Laag",

View file

@ -1116,7 +1116,7 @@
"create.tooltip.speedRequirement": "Wymagana prędkość: %1$s",
"create.tooltip.speedRequirement.none": "Brak",
"create.tooltip.speedRequirement.medium": "Umiarkowana",
"create.tooltip.speedRequirement.high": "Wysoka",
"create.tooltip.speedRequirement.fast": "Wysoka",
"create.tooltip.stressImpact": "Wpływ na obciążenie: %1$s",
"create.tooltip.stressImpact.low": "Niski",
"create.tooltip.stressImpact.medium": "Umiarkowany",

View file

@ -577,9 +577,9 @@
"item.create.crushed_gold_ore": "Minério de Ouro Esmagado",
"item.create.crushed_iron_ore": "Minério de Ferro Esmagado",
"item.create.crushed_lead_ore": "Minério de Chumbo Esmagado",
"item.create.crushed_nickel_ore": "Minério de Niquel Esmagado",
"item.create.crushed_osmium_ore": "Minério de Osmio Esmagado",
"item.create.crushed_platinum_ore": "Minério de Pratina Esmagado",
"item.create.crushed_nickel_ore": "Minério de Níquel Esmagado",
"item.create.crushed_osmium_ore": "Minério de Ósmio Esmagado",
"item.create.crushed_platinum_ore": "Minério de Platina Esmagado",
"item.create.crushed_quicksilver_ore": "Minério de Mercúrio Esmagado",
"item.create.crushed_silver_ore": "Minério de Prata Esmagado",
"item.create.crushed_tin_ore": "Minério de Estanho Esmagado",
@ -591,7 +591,7 @@
"item.create.electron_tube": "Tubo de Elétron",
"item.create.empty_blaze_burner": "Queimador de Blaze Vazio",
"item.create.empty_schematic": "Esquema vazio",
"item.create.experience_nugget": "Pepita de experiencia",
"item.create.experience_nugget": "Pepita de experiência",
"item.create.extendo_grip": "Extensão de Pegador",
"item.create.filter": "Filtro",
"item.create.furnace_minecart_contraption": "Engenhoca de Carrinho de Mina com Fornalha",
@ -606,7 +606,7 @@
"item.create.incomplete_precision_mechanism": "Mecanismo de Precisão",
"item.create.iron_sheet": "Chapa de Ferro",
"item.create.linked_controller": "Controle conectado",
"item.create.minecart_contraption": "Engenhoca de Carrino de Mina",
"item.create.minecart_contraption": "Engenhoca de Carrinho de Mina",
"item.create.minecart_coupling": "Acoplamento de Carrinho de Mina",
"item.create.polished_rose_quartz": "Quartzo Rosa Polido",
"item.create.potato_cannon": "Canhão de Batata",
@ -637,7 +637,7 @@
"advancement.create.root": "Bem vindo a Create",
"advancement.create.root.desc": "É hora de construir engenhocas maravilhosas",
"advancement.create.andesite_alloy": "Alinterações Em abundância",
"advancement.create.andesite_alloy": "Aliterações Em abundância",
"advancement.create.andesite_alloy.desc": "Materiais do Create tem nomes estranhos, a liga de andesito é um deles.",
"advancement.create.its_alive": "Esta vivo!",
"advancement.create.its_alive.desc": "Assista o seu primeiro componente cinético rodar.",
@ -646,7 +646,7 @@
"advancement.create.overstressed": "Excesso de tensão",
"advancement.create.overstressed.desc": "Experience os limites da tensão.",
"advancement.create.belt": "Correia de alga",
"advancement.create.belt.desc": "Conecte dois eixos com uma esteira mecanica.",
"advancement.create.belt.desc": "Conecte dois eixos com uma esteira mecânica.",
"advancement.create.tunnel": "Pegue cover!",
"advancement.create.tunnel.desc": "Embeleze suas esteiras mecânicas com um tunel.",
"advancement.create.splitter_tunnel": "Divida e Conquiste",
@ -668,11 +668,11 @@
"advancement.create.wrench": "Configurado convenientemente",
"advancement.create.wrench.desc": "Crie a chave inglesa para ajuda-lo em construi suas engenhocas.",
"advancement.create.goggles": "Visão do stress",
"advancement.create.goggles.desc": "Crie o óculos de engenheiro para ajuda-lo a conseguir mais informações cineticas dos conponentes.",
"advancement.create.goggles.desc": "Crie o óculos de engenheiro para ajuda-lo a conseguir mais informações cinéticas dos componentes.",
"advancement.create.speedometer": "Mas quão rapido exatamente?",
"advancement.create.speedometer.desc": "Coloque e energise o velocimetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
"advancement.create.stressometer": "Mas quão estressado exatamente?",
"advancement.create.stressometer.desc": "Coloque e energise o estressómetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
"advancement.create.stressometer.desc": "Coloque e energise o estressômetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
"advancement.create.aesthetics": "Boom, estética!",
"advancement.create.aesthetics.desc": "Coloque suportes em eixos, canos e rodas dentadas.",
"advancement.create.reinforced": "Boom, Reinforçado!",
@ -693,15 +693,15 @@
"advancement.create.maxed_windmill.desc": "Monte um moinho de vento com força maxima.",
"advancement.create.andesite_casing": "A era do andesito",
"advancement.create.andesite_casing.desc": "Use um pouco de liga de andesito e madeira para fazer um revestimento basico.",
"advancement.create.mechanical_drill": "Mineradores estacionarios",
"advancement.create.mechanical_drill": "Mineradores estacionários",
"advancement.create.mechanical_drill.desc": "coloque e energize uma broca mecânica.",
"advancement.create.press": "Prensa faz 'Bonk!'",
"advancement.create.press.desc": "Energize uma prensa mecânica e usa-lá para criar algumas chapas.",
"advancement.create.polished_rose_quartz": "Diamantes rosa",
"advancement.create.polished_rose_quartz.desc": "Use uma lixa para polir um quartzo rosa até este ficar transparente.",
"advancement.create.electron_tube": "Beep Boop",
"advancement.create.electron_tube.desc": "Faça alguns tubos de elétron, uteis para fabricar maquinas menos primitivas.",
"advancement.create.mechanical_saw": "Cortadores estacionarios",
"advancement.create.electron_tube.desc": "Faça alguns tubos de elétron, úteis para fabricar maquinas menos primitivas.",
"advancement.create.mechanical_saw": "Cortadores estacionários",
"advancement.create.mechanical_saw.desc": "Coloque e energize uma serra mecânica.",
"advancement.create.basin": "Operação da bacia",
"advancement.create.basin.desc": "Coloque uma bacia e tente jogar itens nela.",
@ -769,7 +769,7 @@
"advancement.create.fist_bump.desc": "Faça dois implantadores baterem com o punho.",
"advancement.create.crushing_wheel": "Par de gigantes",
"advancement.create.crushing_wheel.desc": "Crie algumas rodas de moer para triturar alguns materiais eficientemente.",
"advancement.create.blaze_cake": "Descarga de açucar",
"advancement.create.blaze_cake": "Descarga de açúcar",
"advancement.create.blaze_cake.desc": "Asse para o seu queimador de blaze um bolo especial.",
"advancement.create.wand_of_symmetry": "Espelhos radiantes",
"advancement.create.wand_of_symmetry.desc": "Fabrique uma varinha de simetria.",
@ -837,7 +837,7 @@
"create.recipe.assembly.spout_filling_fluid": "Despejar %1$s",
"create.recipe.assembly.deploying_item": "Implantar %1$s",
"create.recipe.assembly.cutting": "Cortado com serra",
"create.recipe.assembly.repeat": "Repetir sequencia %1$s vezes",
"create.recipe.assembly.repeat": "Repetir sequência %1$s vezes",
"create.recipe.assembly.junk": "Recuperação aleatório",
"create.recipe.processing.chance": "%1$s%% Chance",
"create.recipe.deploying.not_consumed": "Não consumido",
@ -872,16 +872,16 @@
"create.gui.scrollInput.defaultTitle": "Escolha uma Opção:",
"create.gui.scrollInput.scrollToModify": "Role o mouse para Modificar",
"create.gui.scrollInput.scrollToAdjustAmount": "UNLOCALIZED: Scroll to Adjust Amount",
"create.gui.scrollInput.scrollToAdjustAmount": "Role o mouse para ajustar a quantidade",
"create.gui.scrollInput.scrollToSelect": "Role o mouse para Selecionar",
"create.gui.toolmenu.focusKey": "Segure [%1$s] para Focar",
"create.gui.toolmenu.cycle": "[SCROLL] para Circular",
"create.toolbox.unequip": "UNLOCALIZED: Unequip: %1$s",
"create.toolbox.outOfRange": "UNLOCALIZED: Toolbox of held item not in Range",
"create.toolbox.detach": "UNLOCALIZED: Stop tracking and keep item",
"create.toolbox.depositAll": "UNLOCALIZED: Return items to nearby Toolboxes",
"create.toolbox.depositBox": "UNLOCALIZED: Return items to Toolbox",
"create.toolbox.unequip": "Desequipar: %1$s",
"create.toolbox.outOfRange": "Caixa de ferramentas do item segurado fora de alcance",
"create.toolbox.detach": "Parar de rastrear e manter item",
"create.toolbox.depositAll": "Retornar itens para caixa de ferramenta próxima",
"create.toolbox.depositBox": "Retornar itens para caixa de ferramenta",
"create.gui.symmetryWand.mirrorType": "Espelhar",
"create.gui.symmetryWand.orientation": "Orientação",
@ -907,8 +907,8 @@
"create.schematicAndQuill.secondPos": "Segunda posição feita.",
"create.schematicAndQuill.noTarget": "Seguro [Ctrl] para selecionar Blocos de Ar.",
"create.schematicAndQuill.abort": "Seleção removida.",
"create.schematicAndQuill.title": "UNLOCALIZED: Schematic Name:",
"create.schematicAndQuill.convert": "UNLOCALIZED: Save and Upload Immediately",
"create.schematicAndQuill.title": "Nome do esquema:",
"create.schematicAndQuill.convert": "Salvar e carregar arquivo imediatamente",
"create.schematicAndQuill.fallbackName": "Meu Esquema",
"create.schematicAndQuill.saved": "Salvo como %1$s",
@ -1013,7 +1013,7 @@
"item.create.example_item.tooltip.behaviour2": "You can add as many behaviours as you like",
"item.create.example_item.tooltip.control1": "Quando Ctrl pressed",
"item.create.example_item.tooltip.action1": "These controls are displayed.",
"block.create.wooden_bracket.tooltip.summary": "UNLOCALIZED: _Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with a cozy and wooden bit of reinforcement.",
"block.create.wooden_bracket.tooltip.summary": "_Decore_ seus _eixos, rodas dentadas_ e _canos_com um pedaço aconchegante e de madeira de reforço.",
"item.create.wand_of_symmetry.tooltip": "VARINHA DE SIMETRIA",
"item.create.wand_of_symmetry.tooltip.summary": "Espelhar perfeitamente a colocação de blocos nos planos configurados.",
"item.create.wand_of_symmetry.tooltip.condition1": "Quando na Hotbar",

File diff suppressed because it is too large Load diff

View file

@ -1118,7 +1118,7 @@
"create.tooltip.speedRequirement": "Требование к скорости: %1$s",
"create.tooltip.speedRequirement.none": "Нет",
"create.tooltip.speedRequirement.medium": "Умеренная",
"create.tooltip.speedRequirement.high": "Быстрая",
"create.tooltip.speedRequirement.fast": "Быстрая",
"create.tooltip.stressImpact": "Создаваемая нагрузка: %1$s",
"create.tooltip.stressImpact.low": "Низкая",
"create.tooltip.stressImpact.medium": "Средняя",

View file

@ -1232,7 +1232,7 @@
"create.tooltip.speedRequirement": "需求转速:%1$s",
"create.tooltip.speedRequirement.none": "无",
"create.tooltip.speedRequirement.medium": "适当",
"create.tooltip.speedRequirement.high": "快",
"create.tooltip.speedRequirement.fast": "快",
"create.tooltip.stressImpact": "应力影响:%1$s",
"create.tooltip.stressImpact.low": "低",
"create.tooltip.stressImpact.medium": "中",

View file

@ -1114,7 +1114,7 @@
"create.tooltip.speedRequirement": "需求速度:%1$s",
"create.tooltip.speedRequirement.none": "無",
"create.tooltip.speedRequirement.medium": "適當",
"create.tooltip.speedRequirement.high": "快",
"create.tooltip.speedRequirement.fast": "快",
"create.tooltip.stressImpact": "動能消耗:%1$s",
"create.tooltip.stressImpact.low": "低",
"create.tooltip.stressImpact.medium": "中",