Refactor Goggles Fluid Information

- Removed code duplicates
- Made fluid information more generic and concise
- Made fluid information easier to port
- Fixed potion fluid not overriding its translation key
- (I'm sorry, Steven)
This commit is contained in:
simibubi 2021-03-03 19:17:56 +01:00
parent 31cb704894
commit 8bf82aff79
25 changed files with 164 additions and 483 deletions

View file

@ -402,19 +402,19 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
369f9c6fce0aa11d70efa2e73a4ba2ff12e57e37 assets/create/lang/en_ud.json
0dd7dbb57e8c2cb13498fcbf3f5b28ddbed28a67 assets/create/lang/en_us.json
96b15a158336ded61b5f64760331cd5b3db1ad94 assets/create/lang/unfinished/de_de.json
3e90bdf50e0437be7dd526f15576816b4273f2f6 assets/create/lang/unfinished/es_es.json
ac92cedf2c602239ca1d8e3ecffef9153e492355 assets/create/lang/unfinished/es_mx.json
f84146bf81d48cf89274a5f95f8f02f7450e4fff assets/create/lang/unfinished/fr_fr.json
d5c292a0ecab558c9a4704abd3d3274f64c6d020 assets/create/lang/unfinished/it_it.json
42d86a97e0bf04982392e37f2034b33349857b96 assets/create/lang/unfinished/ja_jp.json
09d1683c72fd4c3dbacdd3485c580020bc6b4baa assets/create/lang/unfinished/ko_kr.json
4501e9ad422cdffb000326043cd764db78a6678e assets/create/lang/unfinished/nl_nl.json
691b5fb5146ad38b94de4b1c6a640390a10a87d0 assets/create/lang/unfinished/pt_br.json
773b40b4f8100bbde0e40cf6f131ae44f6004ade assets/create/lang/unfinished/ru_ru.json
cb6fc7e408753280b7059bdadb3ccf31845167e1 assets/create/lang/unfinished/zh_cn.json
b3d2618c25b4ff9abfb0330f4a900732f4c82ab9 assets/create/lang/unfinished/zh_tw.json
1e3157b36cce7bf30abde83323513f8f7c1a7c2c assets/create/lang/en_us.json
7ddb6aa393d89dd1d9d1e27c998783a7db18e831 assets/create/lang/unfinished/de_de.json
525232bd81bef5086d210ceee26742c06818c9e9 assets/create/lang/unfinished/es_es.json
02e31fdd37f3b933ca96531c3d98b1e352e858d9 assets/create/lang/unfinished/es_mx.json
7754dc1f5c493d81189d535841bd32401d328e19 assets/create/lang/unfinished/fr_fr.json
f5064df0df1f055ba8ac42a97831171b2cb724eb assets/create/lang/unfinished/it_it.json
429da2684276d3385e82851f6a0a176c5dd8471e assets/create/lang/unfinished/ja_jp.json
9b0ab4186a35d8484dbee5c41cd4000c98b8a0a2 assets/create/lang/unfinished/ko_kr.json
b362f846ad523840e65ffc94ccd0bc6c694acbb5 assets/create/lang/unfinished/nl_nl.json
14950620733669b606d480c6a25b1f8ddea1fbb5 assets/create/lang/unfinished/pt_br.json
832483d95d4f36c1ee247dde86758c7c768912e9 assets/create/lang/unfinished/ru_ru.json
27f5f218699fd03172ecf6d1033689b0a35f23e2 assets/create/lang/unfinished/zh_cn.json
ac53a2d2146238a6314a51c199afdac98465b01a assets/create/lang/unfinished/zh_tw.json
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
@ -1585,7 +1585,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
9f9455ccb5fc9e3cbfce73862b46078346a522a5 assets/create/models/item/zinc_nugget.json
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
e76041b7ae829fdd7dc0524f6ca4d2f89fca51bb assets/create/sounds.json
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json
356f4855a2a6c65be3fb51d7d1aabf2ca6034d42 data/create/advancements/arm_blaze_burner.json

View file

@ -827,6 +827,8 @@
"create.gui.goggles.kinetic_stats": "Kinetic Stats:",
"create.gui.goggles.at_current_speed": "at current speed",
"create.gui.goggles.pole_length": "Pole Length:",
"create.gui.goggles.fluid_container": "Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "Capacity: ",
"create.gui.assembly.exception": "This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -842,15 +844,6 @@
"create.gui.stressometer.no_rotation": "No Rotation",
"create.gui.contraptions.not_fast_enough": "It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
"create.gui.contraptions.network_overstressed": "It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
"create.gui.stores_fluid.title": "Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "Potion Effects",
"create.gui.stores_fluid.empty": "Empty",
"create.gui.input_tanks.title": "Input Tanks",
"create.gui.output_tanks.title": "Output Tanks",
"create.gui.tank.info_header": "Tank Information:",
"create.gui.spout.info_header": "Spout Information:",
"create.gui.drain.info_header": "Drain Information:",
"create.gui.basin.info_header": "Basin Information:",
"create.gui.adjustable_crate.title": "Adjustable Crate",
"create.gui.adjustable_crate.storageSpace": "Storage Space",
"create.gui.stockpile_switch.title": "Stockpile Switch",
@ -1077,10 +1070,6 @@
"create.tooltip.stressImpact.medium": "Moderate",
"create.tooltip.stressImpact.high": "High",
"create.tooltip.stressImpact.overstressed": "Overstressed",
"create.tooltip.fluidFullness.low": "Low",
"create.tooltip.fluidFullness.medium": "Moderate",
"create.tooltip.fluidFullness.high": "High",
"create.tooltip.fluidFullness.full": "Full",
"create.tooltip.capacityProvided": "Stress Capacity: %1$s",
"create.tooltip.capacityProvided.low": "Small",
"create.tooltip.capacityProvided.medium": "Medium",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 989",
"_": "Missing Localizations: 978",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "UNLOCALIZED: No Rotation",
"create.gui.contraptions.not_fast_enough": "UNLOCALIZED: It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
"create.gui.contraptions.network_overstressed": "UNLOCALIZED: It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "UNLOCALIZED: Adjustable Crate",
"create.gui.adjustable_crate.storageSpace": "Lagerraum",
"create.gui.stockpile_switch.title": "Vorratssensor",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "UNLOCALIZED: Moderate",
"create.tooltip.stressImpact.high": "UNLOCALIZED: High",
"create.tooltip.stressImpact.overstressed": "UNLOCALIZED: Overstressed",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "UNLOCALIZED: Stress Capacity: %1$s",
"create.tooltip.capacityProvided.low": "UNLOCALIZED: Small",
"create.tooltip.capacityProvided.medium": "UNLOCALIZED: Medium",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 19",
"_": "Missing Localizations: 8",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "Estadísticas cinéticas:",
"create.gui.goggles.at_current_speed": "con la velocidad actual",
"create.gui.goggles.pole_length": "Longitud del poste:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "Este artilugio no se pudo montar:",
"create.gui.assembly.exception.unmovableBlock": "Bloque inamovible (%4$s) en [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "El bloque en [%1$s,%2$s,%3$s] no estaba en un chunk cargado",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "Sin rotación",
"create.gui.contraptions.not_fast_enough": "Parece que este %1$s no está girando con _suficiente_ velocidad_.",
"create.gui.contraptions.network_overstressed": "Parece que este artilugio está _sobrecargado_. Añade más fuentes o _desacelera_ los componentes con un _impacto_ de alto estrés.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "Caja ajustable",
"create.gui.adjustable_crate.storageSpace": "Espacio de almacenamiento",
"create.gui.stockpile_switch.title": "Interruptor de acopio",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "Moderado",
"create.tooltip.stressImpact.high": "Alto",
"create.tooltip.stressImpact.overstressed": "Sobrecargado",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "Capacidad de estrés: %1$s",
"create.tooltip.capacityProvided.low": "Pequeña",
"create.tooltip.capacityProvided.medium": "Media",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 919",
"_": "Missing Localizations: 908",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "UNLOCALIZED: No Rotation",
"create.gui.contraptions.not_fast_enough": "UNLOCALIZED: It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
"create.gui.contraptions.network_overstressed": "UNLOCALIZED: It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "UNLOCALIZED: Adjustable Crate",
"create.gui.adjustable_crate.storageSpace": "UNLOCALIZED: Storage Space",
"create.gui.stockpile_switch.title": "UNLOCALIZED: Stockpile Switch",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "UNLOCALIZED: Moderate",
"create.tooltip.stressImpact.high": "UNLOCALIZED: High",
"create.tooltip.stressImpact.overstressed": "UNLOCALIZED: Overstressed",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "UNLOCALIZED: Stress Capacity: %1$s",
"create.tooltip.capacityProvided.low": "UNLOCALIZED: Small",
"create.tooltip.capacityProvided.medium": "UNLOCALIZED: Medium",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 701",
"_": "Missing Localizations: 690",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "Statistiques cinétiques:",
"create.gui.goggles.at_current_speed": "À la vitesse actuelle",
"create.gui.goggles.pole_length": "Longueur de la barre",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "Pas de rotation",
"create.gui.contraptions.not_fast_enough": "Il semblerais que ce.t.te %1$s ne tourne _pas_ à la _vitesse_ _suffisante_.",
"create.gui.contraptions.network_overstressed": "UNLOCALIZED: It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "Caisse réglable",
"create.gui.adjustable_crate.storageSpace": "Espace de stockage",
"create.gui.stockpile_switch.title": "Commutateur de stockage",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "Modéré",
"create.tooltip.stressImpact.high": "Elevé",
"create.tooltip.stressImpact.overstressed": "Surmené",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "Capacité de stress: %1$s",
"create.tooltip.capacityProvided.low": "Petite",
"create.tooltip.capacityProvided.medium": "Moyenne",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 36",
"_": "Missing Localizations: 25",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "Statistiche cinetiche:",
"create.gui.goggles.at_current_speed": "Alla velocità attuale",
"create.gui.goggles.pole_length": "Lunghezza palo:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "Nessuna rotazione",
"create.gui.contraptions.not_fast_enough": "Sembra che questo %1$s _non_ stia girando con una _velocità_ _sufficiente_.",
"create.gui.contraptions.network_overstressed": "Sembra che questo marchingegno sia _sovraccarico_. Aggiungi più fonti o _rallenta_ i componenti con un forte _impatto_ _di_ _stress_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "Baule regolabile",
"create.gui.adjustable_crate.storageSpace": "Spazio di immagazzinamento",
"create.gui.stockpile_switch.title": "Interruttore accumulatore",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "Moderato",
"create.tooltip.stressImpact.high": "Alto",
"create.tooltip.stressImpact.overstressed": "Sovrastressato",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "Capacità dello stress: %1$s",
"create.tooltip.capacityProvided.low": "Piccola",
"create.tooltip.capacityProvided.medium": "Media",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 43",
"_": "Missing Localizations: 32",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "動力の統計:",
"create.gui.goggles.at_current_speed": "現在の速度",
"create.gui.goggles.pole_length": "ポールの長さ:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "回転なし",
"create.gui.contraptions.not_fast_enough": "この %1$s は_十分な_回転を_していない_ようです。",
"create.gui.contraptions.network_overstressed": "この仕掛けは_超過応力_のようです。さらに原動機を追加するか、_応力_の影響が大きい機械の速度を_下げて_ください。",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "可変クレート",
"create.gui.adjustable_crate.storageSpace": "収納スペース",
"create.gui.stockpile_switch.title": "在庫スイッチ",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "中",
"create.tooltip.stressImpact.high": "高",
"create.tooltip.stressImpact.overstressed": "超過応力",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "応力の容量: %1$s",
"create.tooltip.capacityProvided.low": "小",
"create.tooltip.capacityProvided.medium": "中",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 90",
"_": "Missing Localizations: 79",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "가동 상태:",
"create.gui.goggles.at_current_speed": "현재 에너지량",
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "회전없음",
"create.gui.contraptions.not_fast_enough": "이 %1$s은(는) 작동하기에 _회전 속도_가 _부족합니다_",
"create.gui.contraptions.network_overstressed": "_과부하!_ _높은 피로도_ _용량_을 가진 발전기를 추가로 설치하거나 _장치 속도_를 _늦추세요_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "가변 창고 ",
"create.gui.adjustable_crate.storageSpace": "저장 공간",
"create.gui.stockpile_switch.title": "수량 스위치",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "보통",
"create.tooltip.stressImpact.high": "높음",
"create.tooltip.stressImpact.overstressed": "과부하됨",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "피로도 용량: %1$s",
"create.tooltip.capacityProvided.low": "적음",
"create.tooltip.capacityProvided.medium": "보통",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1188",
"_": "Missing Localizations: 1177",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "UNLOCALIZED: No Rotation",
"create.gui.contraptions.not_fast_enough": "UNLOCALIZED: It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
"create.gui.contraptions.network_overstressed": "UNLOCALIZED: It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "FlexKrat",
"create.gui.adjustable_crate.storageSpace": "Opslagruimte",
"create.gui.stockpile_switch.title": "Voorraad Schakelaar",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "Gemiddeld",
"create.tooltip.stressImpact.high": "Hoog",
"create.tooltip.stressImpact.overstressed": "UNLOCALIZED: Overstressed",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "Stress Capacity: %1$s",
"create.tooltip.capacityProvided.low": "Klein",
"create.tooltip.capacityProvided.medium": "Gemiddeld",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1254",
"_": "Missing Localizations: 1243",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "UNLOCALIZED: No Rotation",
"create.gui.contraptions.not_fast_enough": "UNLOCALIZED: It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
"create.gui.contraptions.network_overstressed": "UNLOCALIZED: It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "adjustable_crate",
"create.gui.adjustable_crate.storageSpace": "Espaço de Armazenamento",
"create.gui.stockpile_switch.title": "Disjuntor de Armazenamento",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "UNLOCALIZED: Moderate",
"create.tooltip.stressImpact.high": "UNLOCALIZED: High",
"create.tooltip.stressImpact.overstressed": "UNLOCALIZED: Overstressed",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "UNLOCALIZED: Stress Capacity: %1$s",
"create.tooltip.capacityProvided.low": "UNLOCALIZED: Small",
"create.tooltip.capacityProvided.medium": "UNLOCALIZED: Medium",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 40",
"_": "Missing Localizations: 29",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "Кинетическая статистика:",
"create.gui.goggles.at_current_speed": "На текущей скорости",
"create.gui.goggles.pole_length": "Длина поршня",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "Нет вращения",
"create.gui.contraptions.not_fast_enough": "Похоже, что этот %1$s _не_ вращается состаточной_ _скоростью_.",
"create.gui.contraptions.network_overstressed": "Похоже, что эта штуковина _перегружена_. Добавьте больше источников или _замедлите_ _скорость_ компонентов с высоким _влиянием_ на _момент_.",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "Регулируемый ящик",
"create.gui.adjustable_crate.storageSpace": "Ёмкость",
"create.gui.stockpile_switch.title": "Настраиваемый компаратор",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "Средний",
"create.tooltip.stressImpact.high": "Высокий",
"create.tooltip.stressImpact.overstressed": "Перегрузка",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "Ёмкостный крутящий момент: %1$s",
"create.tooltip.capacityProvided.low": "Маленький",
"create.tooltip.capacityProvided.medium": "Средний",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 38",
"_": "Missing Localizations: 27",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "动力学状态:",
"create.gui.goggles.at_current_speed": "当前速度应力值",
"create.gui.goggles.pole_length": "活塞杆长度:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "无旋转",
"create.gui.contraptions.not_fast_enough": "显然%1$s没有达到足够的工作转速。",
"create.gui.contraptions.network_overstressed": "显然装置过载,减速网络中的高应力消耗装置或者添加更多的应力发生装置",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "板条箱",
"create.gui.adjustable_crate.storageSpace": "储存空间",
"create.gui.stockpile_switch.title": "储存开关",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "中",
"create.tooltip.stressImpact.high": "高",
"create.tooltip.stressImpact.overstressed": "过载",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "应力量:%1$s",
"create.tooltip.capacityProvided.low": "小",
"create.tooltip.capacityProvided.medium": "中",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 43",
"_": "Missing Localizations: 32",
"_": "->------------------------] Game Elements [------------------------<-",
@ -828,6 +828,8 @@
"create.gui.goggles.kinetic_stats": "機械學狀態:",
"create.gui.goggles.at_current_speed": "現在速度動能值",
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
"create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
@ -843,15 +845,6 @@
"create.gui.stressometer.no_rotation": "無旋轉",
"create.gui.contraptions.not_fast_enough": "看起來%1$s 沒有達到足夠的工作轉速。",
"create.gui.contraptions.network_overstressed": "裝置似乎過載,減少高動能消耗的裝置或者增加更多更多動能",
"create.gui.stores_fluid.title": "UNLOCALIZED: Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "UNLOCALIZED: Potion Effects",
"create.gui.stores_fluid.empty": "UNLOCALIZED: Empty",
"create.gui.input_tanks.title": "UNLOCALIZED: Input Tanks",
"create.gui.output_tanks.title": "UNLOCALIZED: Output Tanks",
"create.gui.tank.info_header": "UNLOCALIZED: Tank Information:",
"create.gui.spout.info_header": "UNLOCALIZED: Spout Information:",
"create.gui.drain.info_header": "UNLOCALIZED: Drain Information:",
"create.gui.basin.info_header": "UNLOCALIZED: Basin Information:",
"create.gui.adjustable_crate.title": "板條箱",
"create.gui.adjustable_crate.storageSpace": "儲存空間",
"create.gui.stockpile_switch.title": "儲存開關",
@ -1078,10 +1071,6 @@
"create.tooltip.stressImpact.medium": "中",
"create.tooltip.stressImpact.high": "高",
"create.tooltip.stressImpact.overstressed": "過載",
"create.tooltip.fluidFullness.low": "UNLOCALIZED: Low",
"create.tooltip.fluidFullness.medium": "UNLOCALIZED: Moderate",
"create.tooltip.fluidFullness.high": "UNLOCALIZED: High",
"create.tooltip.fluidFullness.full": "UNLOCALIZED: Full",
"create.tooltip.capacityProvided": "動能生產量:%1$s",
"create.tooltip.capacityProvided.low": "小",
"create.tooltip.capacityProvided.medium": "中",

View file

@ -28,8 +28,8 @@
"trigger": "create:bracket_apply",
"conditions": {
"accepted_entries": [
"create:cogwheel",
"create:large_cogwheel"
"create:large_cogwheel",
"create:cogwheel"
]
}
},

View file

@ -27,6 +27,7 @@ import net.minecraft.util.IItemProvider;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraftforge.fluids.FluidStack;
public abstract class CreateRecipeCategory<T extends IRecipe<?>> implements IRecipeCategory<T> {
@ -103,11 +104,11 @@ public abstract class CreateRecipeCategory<T extends IRecipe<?>> implements IRec
ProcessingOutput output = results.get(slotIndex - 1);
float chance = output.getChance();
if (chance != 1)
tooltip.add(1,
TextFormatting.GOLD + Lang.translate("recipe.processing.chance", chance < 0.01 ? "<1" : (int) (chance * 100)));
tooltip.add(1, TextFormatting.GOLD
+ Lang.translate("recipe.processing.chance", chance < 0.01 ? "<1" : (int) (chance * 100)));
});
}
public List<FluidStack> withImprovedVisibility(List<FluidStack> stacks) {
return stacks.stream()
.map(this::withImprovedVisibility)
@ -130,8 +131,7 @@ public abstract class CreateRecipeCategory<T extends IRecipe<?>> implements IRec
fluidStacks.addTooltipCallback((slotIndex, input, fluid, tooltip) -> {
if (fluid.getFluid()
.isEquivalentTo(AllFluids.POTION.get())) {
String name = PotionFluidHandler.getPotionName(fluid)
.getFormattedText();
String name = new TranslationTextComponent(fluid.getTranslationKey()).getFormattedText();
if (tooltip.isEmpty())
tooltip.add(0, name);
else

View file

@ -1,73 +0,0 @@
package com.simibubi.create.content.contraptions.fluids;
import com.simibubi.create.AllFluids;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.foundation.item.ItemDescription;
import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fluids.FluidStack;
//Currently only used for Tank/Drain/Spout/Basin goggle tooltips, as fullness-based replacement for the stress-based tooltips in IRotate
public enum FluidFullnessOverlay {
LOW,
MEDIUM,
HIGH,
FULL;
public TextFormatting getAbsoluteColor() {
return this == LOW ? TextFormatting.YELLOW : this == MEDIUM ? TextFormatting.GOLD : TextFormatting.RED;
}
public TextFormatting getRelativeColor() {
return this == LOW ? TextFormatting.GREEN : this == MEDIUM ? TextFormatting.YELLOW : this == HIGH ? TextFormatting.GOLD : TextFormatting.RED;
}
public static FluidFullnessOverlay of(double fullnessPercent){
if (fullnessPercent >= 1) return FluidFullnessOverlay.FULL;
else if (fullnessPercent > .75d) return FluidFullnessOverlay.HIGH;
else if (fullnessPercent > .5d) return FluidFullnessOverlay.MEDIUM;
else return FluidFullnessOverlay.LOW;
}
public static String getFormattedFullnessText(double fullnessPercent){
FluidFullnessOverlay fullnessLevel = of(fullnessPercent);
TextFormatting color = fullnessLevel.getRelativeColor();
if (fullnessPercent == 0)
return TextFormatting.DARK_GRAY + ItemDescription.makeProgressBar(3, -1)
+ Lang.translate("gui.stores_fluid.empty");
String level = color + ItemDescription.makeProgressBar(3, Math.min(fullnessLevel.ordinal(), 2));
level += Lang.translate("tooltip.fluidFullness."+Lang.asId(fullnessLevel.name()));
level += String.format(" (%s%%) ", (int) (fullnessPercent * 100));
return level;
}
public static String getFormattedCapacityText(int amount, int capacity){
FluidFullnessOverlay fullnessLevel = of((double) amount / capacity);
TextFormatting color = fullnessLevel.getRelativeColor();
String mb = Lang.translate("generic.unit.millibuckets");
String capacityString = color + "%s" + mb + TextFormatting.GRAY + " / " + TextFormatting.DARK_GRAY + "%s" + mb;
if (amount == 0)
return TextFormatting.DARK_GRAY + IHaveGoggleInformation.format(capacity) + mb;
return String.format(capacityString, IHaveGoggleInformation.format(amount), IHaveGoggleInformation.format(capacity));
}
public static String getFormattedFluidTypeText(FluidStack fluid, double fullnessPercent){
FluidFullnessOverlay fullnessLevel = of(fullnessPercent);
TextFormatting color = fullnessLevel.getRelativeColor();
if (AllFluids.POTION.get().getFluid().isEquivalentTo(fluid.getFluid())) {
return color + PotionFluidHandler.getPotionName(fluid).getFormattedText();
} else {
return color + fluid.getDisplayName().getFormattedText();
}
}
}

View file

@ -1,14 +1,9 @@
package com.simibubi.create.content.contraptions.fluids.actors;
import java.util.ArrayList;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.simibubi.create.AllFluids;
import com.simibubi.create.content.contraptions.fluids.FluidFullnessOverlay;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.content.contraptions.processing.EmptyingByBasin;
import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack;
@ -18,7 +13,6 @@ import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.Pair;
import com.simibubi.create.foundation.utility.VecHelper;
@ -30,11 +24,10 @@ import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction;
import net.minecraftforge.items.ItemHandlerHelper;
@ -290,35 +283,8 @@ public class ItemDrainTileEntity extends SmartTileEntity implements IHaveGoggleI
@Override
public boolean addToGoggleTooltip(List<String> tooltip, boolean isPlayerSneaking) {
ItemDrainTileEntity te = this;
int fluidAmount = te.internalTank.getPrimaryHandler().getFluidAmount();
int fluidCapacity = te.internalTank.getPrimaryHandler().getCapacity();
double fillFraction = (double) fluidAmount / fluidCapacity;
FluidStack fluidType = te.internalTank.getPrimaryHandler().getFluid();
tooltip.add(spacing + Lang.translate("gui.drain.info_header"));
if (isPlayerSneaking && AllFluids.POTION.get().getFluid().isEquivalentTo(fluidType.getFluid())) {
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.stores_fluid.effectsTitle"));
ArrayList<ITextComponent> potionTooltip = new ArrayList<>();
PotionFluidHandler.addPotionTooltip(fluidType, potionTooltip, 1);
tooltip.addAll(2, potionTooltip.stream()
.map(c -> spacing + " " + c.getFormattedText())
.collect(Collectors.toList()));
return true;
}
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.stores_fluid.title"));
if (fluidAmount != 0)
tooltip.add(spacing + " " + FluidFullnessOverlay.getFormattedFluidTypeText(fluidType, fillFraction));
tooltip.add(spacing + FluidFullnessOverlay.getFormattedFullnessText(fillFraction));
tooltip.add(spacing + " " + FluidFullnessOverlay.getFormattedCapacityText(fluidAmount, fluidCapacity));
return true;
return containedFluidTooltip(tooltip, isPlayerSneaking,
getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY));
}
}

View file

@ -5,12 +5,8 @@ import static com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProce
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.simibubi.create.AllFluids;
import com.simibubi.create.content.contraptions.fluids.FluidFX;
import com.simibubi.create.content.contraptions.fluids.FluidFullnessOverlay;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack;
import com.simibubi.create.foundation.advancement.AllTriggers;
@ -21,7 +17,6 @@ import com.simibubi.create.foundation.tileEntity.behaviour.belt.BeltProcessingBe
import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult;
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.item.ItemStack;
@ -33,8 +28,6 @@ import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.capabilities.Capability;
@ -201,35 +194,8 @@ public class SpoutTileEntity extends SmartTileEntity implements IHaveGoggleInfor
@Override
public boolean addToGoggleTooltip(List<String> tooltip, boolean isPlayerSneaking) {
SpoutTileEntity te = this;
int fluidAmount = te.tank.getPrimaryHandler().getFluidAmount();
int fluidCapacity = te.tank.getPrimaryHandler().getCapacity();
double fillFraction = (double) fluidAmount / fluidCapacity;
FluidStack fluidType = te.tank.getPrimaryHandler().getFluid();
tooltip.add(spacing + Lang.translate("gui.spout.info_header"));
if (isPlayerSneaking && AllFluids.POTION.get().getFluid().isEquivalentTo(fluidType.getFluid())) {
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.stores_fluid.effectsTitle"));
ArrayList<ITextComponent> potionTooltip = new ArrayList<>();
PotionFluidHandler.addPotionTooltip(fluidType, potionTooltip, 1);
tooltip.addAll(2, potionTooltip.stream()
.map(c -> spacing + " " + c.getFormattedText())
.collect(Collectors.toList()));
return true;
}
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.stores_fluid.title"));
if (fluidAmount != 0)
tooltip.add(spacing + " " + FluidFullnessOverlay.getFormattedFluidTypeText(fluidType, fillFraction));
tooltip.add(spacing + FluidFullnessOverlay.getFormattedFullnessText(fillFraction));
tooltip.add(spacing + " " + FluidFullnessOverlay.getFormattedCapacityText(fluidAmount, fluidCapacity));
return true;
return containedFluidTooltip(tooltip, isPlayerSneaking,
getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY));
}
}

View file

@ -5,6 +5,7 @@ import java.util.List;
import com.simibubi.create.AllFluids;
import com.simibubi.create.content.contraptions.fluids.VirtualFluid;
import com.simibubi.create.foundation.utility.NBTHelper;
import net.minecraft.fluid.Fluid;
import net.minecraft.nbt.CompoundNBT;
@ -13,6 +14,7 @@ import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionUtils;
import net.minecraft.potion.Potions;
import net.minecraft.util.IItemProvider;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
@ -23,7 +25,7 @@ public class PotionFluid extends VirtualFluid {
public enum BottleType {
REGULAR, SPLASH, LINGERING;
}
public PotionFluid(Properties properties) {
super(properties);
}
@ -49,6 +51,16 @@ public class PotionFluid extends VirtualFluid {
return color;
}
@Override
public String getTranslationKey(FluidStack stack) {
CompoundNBT tag = stack.getOrCreateTag();
IItemProvider itemFromBottleType =
PotionFluidHandler.itemFromBottleType(NBTHelper.readEnum(tag, "Bottle", BottleType.class));
return PotionUtils.getPotionTypeFromNBT(tag)
.getNamePrefixed(itemFromBottleType.asItem()
.getTranslationKey() + ".effect.");
}
}
public static FluidStack addPotionToFluidStack(FluidStack fs, Potion potion) {

View file

@ -92,14 +92,6 @@ public class PotionFluidHandler {
return potionStack;
}
public static ITextComponent getPotionName(FluidStack fs) {
CompoundNBT tag = fs.getOrCreateTag();
IItemProvider itemFromBottleType = itemFromBottleType(NBTHelper.readEnum(tag, "Bottle", BottleType.class));
return new TranslationTextComponent(PotionUtils.getPotionTypeFromNBT(tag)
.getNamePrefixed(itemFromBottleType.asItem()
.getTranslationKey() + ".effect."));
}
// Modified version of PotionUtils#addPotionTooltip
@OnlyIn(Dist.CLIENT)
public static void addPotionTooltip(FluidStack fs, List<ITextComponent> tooltip, float p_185182_2_) {

View file

@ -2,16 +2,11 @@ package com.simibubi.create.content.contraptions.fluids.tank;
import static java.lang.Math.abs;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import com.simibubi.create.AllFluids;
import com.simibubi.create.content.contraptions.fluids.FluidFullnessOverlay;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
import com.simibubi.create.content.contraptions.fluids.tank.FluidTankBlock.Shape;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.foundation.config.AllConfigs;
@ -19,7 +14,6 @@ import com.simibubi.create.foundation.fluid.SmartFluidTank;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT;
@ -29,8 +23,6 @@ import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.capabilities.Capability;
@ -113,10 +105,8 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI
}
public boolean isController() {
return controller == null ||
pos.getX() == controller.getX() &&
pos.getY() == controller.getY() &&
pos.getZ() == controller.getZ();
return controller == null
|| pos.getX() == controller.getX() && pos.getY() == controller.getY() && pos.getZ() == controller.getZ();
}
@Override
@ -324,36 +314,8 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI
@Override
public boolean addToGoggleTooltip(List<String> tooltip, boolean isPlayerSneaking) {
FluidTankTileEntity controllerTE = getControllerTE();
if (controllerTE == null)
return false;
int fluidAmount = controllerTE.getTankInventory().getFluidAmount();
int fluidCapacity = controllerTE.getTankInventory().getCapacity();
double fillFraction = controllerTE.getFillState();
FluidStack fluidType = controllerTE.getTankInventory().getFluid();
tooltip.add(spacing + Lang.translate("gui.tank.info_header"));
if (isPlayerSneaking && AllFluids.POTION.get().getFluid().isEquivalentTo(fluidType.getFluid())) {
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.stores_fluid.effectsTitle"));
ArrayList<ITextComponent> potionTooltip = new ArrayList<>();
PotionFluidHandler.addPotionTooltip(fluidType, potionTooltip, 1);
tooltip.addAll(2, potionTooltip.stream()
.map(c -> spacing + " " + c.getFormattedText())
.collect(Collectors.toList()));
return true;
}
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.stores_fluid.title"));
if (fluidAmount != 0)
tooltip.add(spacing + " " + FluidFullnessOverlay.getFormattedFluidTypeText(fluidType, fillFraction));
tooltip.add(spacing + FluidFullnessOverlay.getFormattedFullnessText(fillFraction));
tooltip.add(spacing + " " + FluidFullnessOverlay.getFormattedCapacityText(fluidAmount, fluidCapacity));
return true;
return containedFluidTooltip(tooltip, isPlayerSneaking,
getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY));
}
@Override
@ -482,11 +444,11 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI
public static int getMaxHeight() {
return AllConfigs.SERVER.fluids.fluidTankMaxHeight.get();
}
public InterpolatedChasingValue getFluidLevel() {
return fluidLevel;
}
public void setFluidLevel(InterpolatedChasingValue fluidLevel) {
this.fluidLevel = fluidLevel;
}

View file

@ -3,6 +3,16 @@ package com.simibubi.create.content.contraptions.goggles;
import java.text.DecimalFormat;
import java.util.List;
import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.IFluidHandler;
/*
* Implement this Interface in the TileEntity class that wants to add info to the screen
* */
@ -12,12 +22,13 @@ public interface IHaveGoggleInformation {
String spacing = " ";
/**
* this method will be called when looking at a TileEntity that implemented this interface
* this method will be called when looking at a TileEntity that implemented this
* interface
*
* @return {@code true} if the tooltip creation was successful and should be displayed,
* or {@code false} if the overlay should not be displayed
* */
default boolean addToGoggleTooltip(List<String> tooltip, boolean isPlayerSneaking){
* @return {@code true} if the tooltip creation was successful and should be
* displayed, or {@code false} if the overlay should not be displayed
*/
default boolean addToGoggleTooltip(List<String> tooltip, boolean isPlayerSneaking) {
return false;
}
@ -25,4 +36,57 @@ public interface IHaveGoggleInformation {
return decimalFormat.format(d);
}
default boolean containedFluidTooltip(List<String> tooltip, boolean isPlayerSneaking,
LazyOptional<IFluidHandler> handler) {
tooltip.add(spacing + Lang.translate("gui.goggles.fluid_container"));
String mb = Lang.translate("generic.unit.millibuckets");
IFluidHandler tank = handler.orElse(null);
if (tank == null || tank.getTanks() == 0)
return false;
ITextComponent indent = new StringTextComponent(spacing + " ");
boolean isEmpty = true;
for (int i = 0; i < tank.getTanks(); i++) {
FluidStack fluidStack = tank.getFluidInTank(i);
if (fluidStack.isEmpty())
continue;
ITextComponent fluidName =
new TranslationTextComponent(fluidStack.getTranslationKey()).applyTextStyle(TextFormatting.GRAY);
ITextComponent contained =
new StringTextComponent(format(fluidStack.getAmount()) + mb).applyTextStyle(TextFormatting.GOLD);
ITextComponent slash = new StringTextComponent(" / ").applyTextStyle(TextFormatting.GRAY);
ITextComponent capacity =
new StringTextComponent(format(tank.getTankCapacity(i)) + mb).applyTextStyle(TextFormatting.DARK_GRAY);
tooltip.add(indent.deepCopy()
.appendSibling(fluidName)
.getFormattedText());
tooltip.add(indent.deepCopy()
.appendSibling(contained)
.appendSibling(slash)
.appendSibling(capacity)
.getFormattedText());
isEmpty = false;
}
if (tank.getTanks() > 1 || !isEmpty)
return true;
ITextComponent capacity = new StringTextComponent(Lang.translate("gui.goggles.fluid_container.capacity"))
.applyTextStyle(TextFormatting.GRAY);
ITextComponent amount =
new StringTextComponent(format(tank.getTankCapacity(0)) + mb).applyTextStyle(TextFormatting.GOLD);
String capacityString = indent.deepCopy()
.appendSibling(capacity)
.appendSibling(amount)
.getFormattedText();
tooltip.add(capacityString);
return true;
}
}

View file

@ -9,14 +9,11 @@ import java.util.Random;
import javax.annotation.Nonnull;
import com.simibubi.create.AllFluids;
import com.simibubi.create.AllParticleTypes;
import com.simibubi.create.AllTags;
import com.simibubi.create.content.contraptions.fluids.FluidFullnessOverlay;
import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerTileEntity;
import com.simibubi.create.content.contraptions.fluids.FluidFX;
import com.simibubi.create.content.contraptions.fluids.particle.FluidParticleData;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel;
@ -29,8 +26,14 @@ import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputB
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment;
import com.simibubi.create.foundation.utility.*;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.Couple;
import com.simibubi.create.foundation.utility.IntAttached;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.LerpedFloat;
import com.simibubi.create.foundation.utility.LerpedFloat.Chaser;
import com.simibubi.create.foundation.utility.NBTHelper;
import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
@ -46,7 +49,6 @@ import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.capabilities.Capability;
@ -436,7 +438,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor
for (ItemStack itemStack : outputItems) {
// Catalyst items are never consumed
if (itemStack.hasContainerItem() && itemStack.getContainerItem()
.isItemEqual(itemStack))
.isItemEqual(itemStack))
continue;
if (simulate || direction == Direction.DOWN) {
@ -601,62 +603,8 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor
@Override
public boolean addToGoggleTooltip(List<String> tooltip, boolean isPlayerSneaking) {
tooltip.add(spacing + Lang.translate("gui.basin.info_header"));
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.input_tanks.title"));
String mb = Lang.translate("generic.unit.millibuckets");
LazyOptional<IFluidHandler> capability = this.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY);
IFluidHandler tank = capability.orElse(null);
if (tank == null)
return false;
for (int i = 0; i < tank.getTanks(); i += 2) {
Couple<FluidStack> fluids = Couple.create(tank.getFluidInTank(i), tank.getFluidInTank(i + 1));
if (i > 1)
tooltip.add(spacing + TextFormatting.GRAY + Lang.translate("gui.output_tanks.title"));
if (fluids.getFirst().getAmount() == 0 && fluids.getSecond().getAmount() == 0) {
tooltip.add(spacing + " " + TextFormatting.DARK_GRAY + "2x0" + mb);
continue;
}
for (FluidStack fluid : fluids) {
String fluidName;
if (fluid.getAmount() == 0) {
tooltip.add(spacing + " " + TextFormatting.DARK_GRAY + IHaveGoggleInformation.format(0) + mb);
} else {
if (AllFluids.POTION.get().getFluid().isEquivalentTo(fluid.getFluid())) {
fluidName = PotionFluidHandler.getPotionName(fluid).getFormattedText();
} else {
fluidName = fluid.getDisplayName().getFormattedText();
}
double fillFraction = (double) fluid.getAmount() / (double) this.inputTank.getPrimaryHandler().getCapacity();
if (fluidName.length() > 15) {
tooltip.add(spacing + " " + FluidFullnessOverlay.of(fillFraction).getRelativeColor()
+ fluidName);
tooltip.add(spacing + " " + FluidFullnessOverlay.of(fillFraction).getRelativeColor()
+ IHaveGoggleInformation.format(fluid.getAmount()) + mb);
continue;
}
tooltip.add(spacing + " " + FluidFullnessOverlay.of(fillFraction).getRelativeColor()
+ fluidName + " "
+ IHaveGoggleInformation.format(fluid.getAmount()) + mb);
}
}
}
return true;
return containedFluidTooltip(tooltip, isPlayerSneaking,
getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY));
}
class BasinValueBox extends ValueBoxTransform.Sided {

View file

@ -172,6 +172,8 @@
"create.gui.goggles.kinetic_stats": "Kinetic Stats:",
"create.gui.goggles.at_current_speed": "at current speed",
"create.gui.goggles.pole_length": "Pole Length:",
"create.gui.goggles.fluid_container": "Fluid Container Info:",
"create.gui.goggles.fluid_container.capacity": "Capacity: ",
"create.gui.assembly.exception": "This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
@ -191,16 +193,6 @@
"create.gui.contraptions.not_fast_enough": "It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
"create.gui.contraptions.network_overstressed": "It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
"create.gui.stores_fluid.title": "Fluid Contained",
"create.gui.stores_fluid.effectsTitle": "Potion Effects",
"create.gui.stores_fluid.empty": "Empty",
"create.gui.input_tanks.title": "Input Tanks",
"create.gui.output_tanks.title": "Output Tanks",
"create.gui.tank.info_header": "Tank Information:",
"create.gui.spout.info_header": "Spout Information:",
"create.gui.drain.info_header": "Drain Information:",
"create.gui.basin.info_header": "Basin Information:",
"create.gui.adjustable_crate.title": "Adjustable Crate",
"create.gui.adjustable_crate.storageSpace": "Storage Space",
@ -438,11 +430,6 @@
"create.tooltip.stressImpact.high": "High",
"create.tooltip.stressImpact.overstressed": "Overstressed",
"create.tooltip.fluidFullness.low": "Low",
"create.tooltip.fluidFullness.medium": "Moderate",
"create.tooltip.fluidFullness.high": "High",
"create.tooltip.fluidFullness.full": "Full",
"create.tooltip.capacityProvided": "Stress Capacity: %1$s",
"create.tooltip.capacityProvided.low": "Small",
"create.tooltip.capacityProvided.medium": "Medium",