Big Data, Part II
- Created "Data-source" behaviour for Boilers, Seats, Kinetic Gauges, Enchantment Table and Fluid-Content Observers - Minor refactors at some locations
This commit is contained in:
parent
d969adb233
commit
f033633271
36 changed files with 988 additions and 149 deletions
|
@ -554,22 +554,22 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo
|
|||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
50f7862ded2d9a955c259a12685906a9ec9ad97a assets/create/lang/en_ud.json
|
||||
b8ef69f9d7a670363f8adcc294c890c9d4265955 assets/create/lang/en_us.json
|
||||
389ca4ecd1ff00ed2a211f6c07b0cf359098a49f assets/create/lang/unfinished/de_de.json
|
||||
6e7e9849785c878046cd2b582a461aef95b7ce20 assets/create/lang/unfinished/es_cl.json
|
||||
dbbb124039358f0a19af2f13e40e2767ed502976 assets/create/lang/unfinished/es_es.json
|
||||
9a17028a587007778503582a53a3055a969f05c4 assets/create/lang/unfinished/fr_fr.json
|
||||
b153f0c6d252ee91ca57751630268f40fd9aa9eb assets/create/lang/unfinished/it_it.json
|
||||
292ace9dd69adc7028dfd551038dd612f1a62f34 assets/create/lang/unfinished/ja_jp.json
|
||||
fdc062986ad47205b33c16f4339f9eb11ed89f3e assets/create/lang/unfinished/ko_kr.json
|
||||
81a2447f877c072cb8709570482c5b98ba18f45f assets/create/lang/unfinished/nl_nl.json
|
||||
79f443acec9320796a140b6ca53c399b639c516f assets/create/lang/unfinished/pl_pl.json
|
||||
df1f85f1762ad26c4ab33eb0e52ab0516c227d27 assets/create/lang/unfinished/pt_br.json
|
||||
6e54230dee02119d3deef8668f815dfe095285fe assets/create/lang/unfinished/pt_pt.json
|
||||
7495c140ed817cc02a68e9ada4a2867a33260411 assets/create/lang/unfinished/ro_ro.json
|
||||
53896d6fd85c2f6bd7fb4376bb4ce41aa1b12f38 assets/create/lang/unfinished/ru_ru.json
|
||||
a049b20621987947fc060c94b912f3afd90abe9e assets/create/lang/unfinished/zh_cn.json
|
||||
a41da0cb6db644b9e13531ded820857a7811c7c7 assets/create/lang/unfinished/zh_tw.json
|
||||
231f8ff1089adcd2f800eae89889d1bc8cfbc880 assets/create/lang/en_us.json
|
||||
c8b2bff9ff418afffb2cf0bcb0cdcfa9217284af assets/create/lang/unfinished/de_de.json
|
||||
caab06d1829dcbe8d1bd90f5a3372e697950b1c9 assets/create/lang/unfinished/es_cl.json
|
||||
aafa069927c628995802b86292b6e688ff37cf7c assets/create/lang/unfinished/es_es.json
|
||||
4f36eaeefffb1f14830eeb4e757305472dbe5123 assets/create/lang/unfinished/fr_fr.json
|
||||
0708c7e4d9ac7b69c9b81ad6829b370d95e48c83 assets/create/lang/unfinished/it_it.json
|
||||
80c818a030468a7ac89b30b6d977f6ca3dc4dd6c assets/create/lang/unfinished/ja_jp.json
|
||||
1af2a080a1a4ad06afafeda0c316ca59cc05f1d9 assets/create/lang/unfinished/ko_kr.json
|
||||
99cabbf434a085f68d1d8acf12736d70f141e68a assets/create/lang/unfinished/nl_nl.json
|
||||
a76b173ed917a6209f479aa3554784ebe7c62753 assets/create/lang/unfinished/pl_pl.json
|
||||
52ff06ad9d938cb90c446d3e3e2401e5a3cb03a8 assets/create/lang/unfinished/pt_br.json
|
||||
3a77d4f14b4a03654f66105666de5aab2d71cfb7 assets/create/lang/unfinished/pt_pt.json
|
||||
bdcdbfea30a78bb65ab5b1b2054348cd5fb4daab assets/create/lang/unfinished/ro_ro.json
|
||||
2c77fee5e42425963ff239634e1bc131208785e5 assets/create/lang/unfinished/ru_ru.json
|
||||
27a690b057a14d4fe96fae20392b97da3164727e assets/create/lang/unfinished/zh_cn.json
|
||||
6f04d53cca731b7419cb9e617be69b6ca1355eef 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
|
||||
|
|
|
@ -906,7 +906,8 @@
|
|||
"create.generic.unit.rpm": "RPM",
|
||||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.millibuckets": "mB",
|
||||
"create.generic.unit.buckets": "B",
|
||||
"create.generic.clockwise": "Clockwise",
|
||||
"create.generic.counter_clockwise": "Counter-Clockwise",
|
||||
"create.generic.in_quotes": "\"%1$s\"",
|
||||
|
@ -1514,6 +1515,8 @@
|
|||
"create.display_source.combine_item_names": "Combine Item Names",
|
||||
"create.display_source.count_items": "Amount of matching Items",
|
||||
"create.display_source.list_items": "List matching Items",
|
||||
"create.display_source.fluid_amount": "Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "List matching Fluids",
|
||||
"create.display_source.nixie_tube": "Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "Container Fill Level",
|
||||
"create.display_source.fill_level.display": "Display Format",
|
||||
|
@ -1548,6 +1551,16 @@
|
|||
"create.display_source.station_summary.minutes": " min",
|
||||
"create.display_source.station_summary.seconds": "%1$ss",
|
||||
"create.display_source.observed_train_name": "Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "Boiler Status",
|
||||
"create.display_source.entity_name": "Entity Name",
|
||||
"create.display_source.kinetic_speed": "Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "Line %1$s",
|
||||
"create.display_target.page": "Page %1$s",
|
||||
|
@ -1557,8 +1570,9 @@
|
|||
"create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": " ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": " ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "mB;B ",
|
||||
"create.flap_display.cycles.instant": " ; ",
|
||||
"create.flap_display.cycles.pixel": "█;▒",
|
||||
"create.flap_display.cycles.pixel": "█;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "Selected blocks must be connected",
|
||||
|
@ -2699,4 +2713,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 942",
|
||||
"_": "Missing Localizations: 956",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "Uhrzeigersinn",
|
||||
"create.generic.counter_clockwise": "Gegen-Uhrzeigersinn",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 592",
|
||||
"_": "Missing Localizations: 606",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "us",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "En sentido del Reloj",
|
||||
"create.generic.counter_clockwise": "Al contrario del Reloj",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 256",
|
||||
"_": "Missing Localizations: 270",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "SU(unidades de estrés)",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "En el sentido de las agujas del reloj",
|
||||
"create.generic.counter_clockwise": "En sentido contrario a las agujas del reloj",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1830",
|
||||
"_": "Missing Localizations: 1844",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "us",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smS",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "dans le sens horaire",
|
||||
"create.generic.counter_clockwise": "dans le sens anti-horaire",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1519",
|
||||
"_": "Missing Localizations: 1533",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$s mB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "Senso orario",
|
||||
"create.generic.counter_clockwise": "Senso anti-orario",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 258",
|
||||
"_": "Missing Localizations: 272",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "度",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "時計回り",
|
||||
"create.generic.counter_clockwise": "反時計回り",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 258",
|
||||
"_": "Missing Localizations: 272",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "시계 방향",
|
||||
"create.generic.counter_clockwise": "시계 반대 방향",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 2182",
|
||||
"_": "Missing Localizations: 2196",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -907,7 +907,8 @@
|
|||
"create.generic.unit.rpm": "UNLOCALIZED: RPM",
|
||||
"create.generic.unit.stress": "UNLOCALIZED: su",
|
||||
"create.generic.unit.degrees": "UNLOCALIZED: °",
|
||||
"create.generic.unit.millibuckets": "UNLOCALIZED: %1$smB",
|
||||
"create.generic.unit.millibuckets": "UNLOCALIZED: mB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "UNLOCALIZED: Clockwise",
|
||||
"create.generic.counter_clockwise": "UNLOCALIZED: Counter-Clockwise",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 631",
|
||||
"_": "Missing Localizations: 645",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "JO",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smW",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "Zgodnie ze wskazówkami zegara",
|
||||
"create.generic.counter_clockwise": "Przeciwnie do wskazówek zegara",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1126",
|
||||
"_": "Missing Localizations: 1140",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "us",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "Sentido horário",
|
||||
"create.generic.counter_clockwise": "Sentido anti-horário",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1804",
|
||||
"_": "Missing Localizations: 1818",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "us",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "Sentido horário",
|
||||
"create.generic.counter_clockwise": "Sentido anti-horário",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 259",
|
||||
"_": "Missing Localizations: 273",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "În sensul acelor de ceasornic",
|
||||
"create.generic.counter_clockwise": "În sensul invers acelor de ceasornic",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 636",
|
||||
"_": "Missing Localizations: 650",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "ен",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "По часовой стрелке",
|
||||
"create.generic.counter_clockwise": "Против часовой стрелки",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 256",
|
||||
"_": "Missing Localizations: 270",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "顺时针方向",
|
||||
"create.generic.counter_clockwise": "逆时针方向",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 650",
|
||||
"_": "Missing Localizations: 664",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -908,6 +908,7 @@
|
|||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "度",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.clockwise": "順時鐘方向",
|
||||
"create.generic.counter_clockwise": "逆時鐘方向",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
|
@ -1515,6 +1516,8 @@
|
|||
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||
"create.display_source.fluid_amount": "UNLOCALIZED: Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "UNLOCALIZED: List matching Fluids",
|
||||
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||
|
@ -1549,6 +1552,16 @@
|
|||
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||
"create.display_source.observed_train_name": "UNLOCALIZED: Detected Train Name",
|
||||
"create.display_source.max_enchant_level": "UNLOCALIZED: Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "UNLOCALIZED: Boiler Status",
|
||||
"create.display_source.entity_name": "UNLOCALIZED: Entity Name",
|
||||
"create.display_source.kinetic_speed": "UNLOCALIZED: Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "UNLOCALIZED: Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "UNLOCALIZED: Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "UNLOCALIZED: Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "UNLOCALIZED: Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "UNLOCALIZED: Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "UNLOCALIZED: Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||
|
@ -1558,8 +1571,9 @@
|
|||
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": "UNLOCALIZED: ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": "UNLOCALIZED: ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "UNLOCALIZED: mB;B ",
|
||||
"create.flap_display.cycles.instant": "UNLOCALIZED: ; ",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▒",
|
||||
"create.flap_display.cycles.pixel": "UNLOCALIZED: █;▓;▒",
|
||||
|
||||
"create.super_glue.too_far": "UNLOCALIZED: Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "UNLOCALIZED: Selected blocks must be connected",
|
||||
|
@ -2700,4 +2714,4 @@
|
|||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,11 +163,17 @@ import com.simibubi.create.content.logistics.block.diodes.ToggleLatchGenerator;
|
|||
import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock;
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockItem;
|
||||
import com.simibubi.create.content.logistics.block.display.source.AccumulatedItemCountDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.BoilerDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.EntityNameDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.FillLevelDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.FluidAmountDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.FluidListDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemCountDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemListDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemNameDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemThoughputDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.KineticSpeedDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.KineticStressDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ObservedTrainNameSource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.StationSummaryDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.StopWatchDisplaySource;
|
||||
|
@ -718,6 +724,7 @@ public class AllBlocks {
|
|||
.transform(axeOrPickaxe())
|
||||
.transform(BlockStressDefaults.setNoImpact())
|
||||
.blockstate(new GaugeGenerator()::generate)
|
||||
.onRegister(assignDataBehaviour(new KineticSpeedDisplaySource(), "kinetic_speed"))
|
||||
.item()
|
||||
.transform(ModelGen.customItemModel("gauge", "_", "item"))
|
||||
.register();
|
||||
|
@ -728,6 +735,10 @@ public class AllBlocks {
|
|||
.transform(axeOrPickaxe())
|
||||
.transform(BlockStressDefaults.setNoImpact())
|
||||
.blockstate(new GaugeGenerator()::generate)
|
||||
.onRegister(assignDataBehaviour(new KineticStressDisplaySource.Current(), "kinetic_stress_current"))
|
||||
.onRegister(assignDataBehaviour(new KineticStressDisplaySource.Percent(), "kinetic_stress_percent"))
|
||||
.onRegister(assignDataBehaviour(new KineticStressDisplaySource.Max(), "kinetic_stress_max"))
|
||||
.onRegister(assignDataBehaviour(new KineticStressDisplaySource.Remaining(), "kinetic_stress_remaining"))
|
||||
.item()
|
||||
.transform(ModelGen.customItemModel("gauge", "_", "item"))
|
||||
.register();
|
||||
|
@ -897,6 +908,7 @@ public class AllBlocks {
|
|||
.transform(pickaxeOnly())
|
||||
.blockstate(new FluidTankGenerator()::generate)
|
||||
.onRegister(CreateRegistrate.blockModel(() -> FluidTankModel::standard))
|
||||
.onRegister(assignDataBehaviour(new BoilerDisplaySource(), "boiler_status"))
|
||||
.addLayer(() -> RenderType::cutoutMipped)
|
||||
.item(FluidTankItem::new)
|
||||
.model(AssetLookup.<FluidTankItem>customBlockItemModel("_", "block_single_window"))
|
||||
|
@ -1297,6 +1309,7 @@ public class AllBlocks {
|
|||
.transform(axeOnly())
|
||||
.onRegister(addMovementBehaviour(movementBehaviour))
|
||||
.onRegister(addInteractionBehaviour(interactionBehaviour))
|
||||
.onRegister(assignDataBehaviour(new EntityNameDisplaySource(), "entity_name"))
|
||||
.blockstate((c, p) -> {
|
||||
p.simpleBlock(c.get(), p.models()
|
||||
.withExistingParent(colourName + "_seat", p.modLoc("block/seat"))
|
||||
|
@ -1689,6 +1702,8 @@ public class AllBlocks {
|
|||
.blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.forPowered(c, p)))
|
||||
.onRegister(assignDataBehaviour(new ItemCountDisplaySource(), "count_items"))
|
||||
.onRegister(assignDataBehaviour(new ItemListDisplaySource(), "list_items"))
|
||||
.onRegister(assignDataBehaviour(new FluidAmountDisplaySource(), "count_fluids"))
|
||||
.onRegister(assignDataBehaviour(new FluidListDisplaySource(), "list_fluids"))
|
||||
.item()
|
||||
.transform(customItemModel("_", "block"))
|
||||
.register();
|
||||
|
|
|
@ -168,7 +168,7 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
|
|||
}
|
||||
|
||||
int amount = amounts.get(index != -1 ? 0 : slotIndex);
|
||||
Component text = (Lang.translate("generic.unit.millibuckets", amount)).withStyle(ChatFormatting.GOLD);
|
||||
Component text = new TextComponent(String.valueOf(amount)).append(Lang.translate("generic.unit.millibuckets")).withStyle(ChatFormatting.GOLD);
|
||||
if (tooltip.isEmpty())
|
||||
tooltip.add(0, text);
|
||||
else {
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.simibubi.create.content.contraptions.fluids.tank;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.contraptions.components.steam.SteamEngineBlock;
|
||||
|
@ -51,6 +53,12 @@ public class BoilerData {
|
|||
public int attachedEngines;
|
||||
public int attachedWhistles;
|
||||
|
||||
// display
|
||||
private int maxHeatForSize = 0;
|
||||
private int maxHeatForWater = 0;
|
||||
private int minValue = 0;
|
||||
private int maxValue = 0;
|
||||
|
||||
public LerpedFloat gauge = LerpedFloat.linear();
|
||||
|
||||
public void tick(FluidTankTileEntity controller) {
|
||||
|
@ -99,8 +107,13 @@ public class BoilerData {
|
|||
return (int) Math.min(18, Mth.ceil(waterSupply) / waterSupplyPerLevel);
|
||||
}
|
||||
|
||||
public boolean isPassive() {
|
||||
return passiveHeat && maxHeatForSize > 0 && maxHeatForWater > 0;
|
||||
}
|
||||
|
||||
public boolean isPassive(int boilerSize) {
|
||||
return passiveHeat && getMaxHeatLevelForBoilerSize(boilerSize) > 0 && getMaxHeatLevelForWaterSupply() > 0;
|
||||
calcMinMaxForSize(boilerSize);
|
||||
return isPassive();
|
||||
}
|
||||
|
||||
public float getEngineEfficiency(int boilerSize) {
|
||||
|
@ -119,77 +132,105 @@ public class BoilerData {
|
|||
return actualHeat;
|
||||
}
|
||||
|
||||
String spacing = " ";
|
||||
Component componentSpacing = new TextComponent(spacing);
|
||||
|
||||
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking, int boilerSize) {
|
||||
if (!isActive())
|
||||
return false;
|
||||
|
||||
int forBoilerSize = getMaxHeatLevelForBoilerSize(boilerSize);
|
||||
int forWaterSupply = getMaxHeatLevelForWaterSupply();
|
||||
int boilerLevel = Math.min(activeHeat, Math.min(forWaterSupply, forBoilerSize));
|
||||
Component indent = new TextComponent(IHaveGoggleInformation.spacing);
|
||||
Component indent2 = new TextComponent(IHaveGoggleInformation.spacing + " ");
|
||||
|
||||
int minValue = Math.min(passiveHeat ? 1 : activeHeat, Math.min(forWaterSupply, forBoilerSize));
|
||||
int maxValue = Math.max(passiveHeat ? 1 : activeHeat, Math.max(forWaterSupply, forBoilerSize));
|
||||
calcMinMaxForSize(boilerSize);
|
||||
|
||||
TextComponent heatLevel = isPassive(boilerSize) ? new TextComponent("Passive")
|
||||
: (boilerLevel == 0 ? new TextComponent("Idle")
|
||||
: boilerLevel == 18 ? new TextComponent("Max")
|
||||
: new TextComponent("Lvl " + IHaveGoggleInformation.format(boilerLevel)));
|
||||
tooltip.add(componentSpacing.plainCopy()
|
||||
.append(new TextComponent("Boiler Status: ").append(heatLevel.withStyle(ChatFormatting.GREEN))));
|
||||
tooltip.add(indent.plainCopy().append(new TextComponent("Boiler Status: ").append(getHeatLevelTextComponent().withStyle(ChatFormatting.GREEN))));
|
||||
tooltip.add(indent2.plainCopy().append(getSizeComponent(true, false)));
|
||||
tooltip.add(indent2.plainCopy().append(getWaterComponent(true, false)));
|
||||
tooltip.add(indent2.plainCopy().append(getHeatComponent(true, false)));
|
||||
|
||||
Component h = levelComponent("Heat ...... ", passiveHeat ? 1 : activeHeat, minValue, maxValue);
|
||||
Component w = levelComponent("Water ... ", forWaterSupply, minValue, maxValue);
|
||||
Component s = levelComponent("Size ....... ", forBoilerSize, minValue, maxValue);
|
||||
|
||||
Component indent = new TextComponent(spacing);
|
||||
Component indent2 = new TextComponent(spacing + " ");
|
||||
|
||||
tooltip.add(indent2.plainCopy()
|
||||
.append(s));
|
||||
tooltip.add(indent2.plainCopy()
|
||||
.append(w));
|
||||
tooltip.add(indent2.plainCopy()
|
||||
.append(h));
|
||||
|
||||
if (attachedEngines == 0)
|
||||
return true;
|
||||
|
||||
|
||||
int boilerLevel = Math.min(activeHeat, Math.min(maxHeatForWater, maxHeatForSize));
|
||||
|
||||
double totalSU = getEngineEfficiency(boilerSize) * 16 * Math.max(boilerLevel, attachedEngines)
|
||||
* BlockStressValues.getCapacity(AllBlocks.STEAM_ENGINE.get());
|
||||
* BlockStressValues.getCapacity(AllBlocks.STEAM_ENGINE.get());
|
||||
Component capacity =
|
||||
new TextComponent(IHaveGoggleInformation.format(totalSU)).append(Lang.translate("generic.unit.stress"))
|
||||
.withStyle(ChatFormatting.AQUA);
|
||||
new TextComponent(IHaveGoggleInformation.format(totalSU)).append(Lang.translate("generic.unit.stress"))
|
||||
.withStyle(ChatFormatting.AQUA);
|
||||
Component engines =
|
||||
new TextComponent(" via " + attachedEngines + " engine(s)").withStyle(ChatFormatting.DARK_GRAY);
|
||||
new TextComponent(" via " + attachedEngines + " engine(s)").withStyle(ChatFormatting.DARK_GRAY);
|
||||
|
||||
tooltip.add(indent);
|
||||
tooltip.add(indent.plainCopy()
|
||||
.append(Lang.translate("tooltip.capacityProvided")
|
||||
.withStyle(ChatFormatting.GRAY)));
|
||||
.append(Lang.translate("tooltip.capacityProvided")
|
||||
.withStyle(ChatFormatting.GRAY)));
|
||||
tooltip.add(indent2.plainCopy()
|
||||
.append(capacity)
|
||||
.append(engines));
|
||||
.append(capacity)
|
||||
.append(engines));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private MutableComponent levelComponent(String text, int level, int min, int max) {
|
||||
int indexOf = text.indexOf(".");
|
||||
String label = text.substring(0, indexOf);
|
||||
String dots = text.substring(indexOf);
|
||||
MutableComponent c = new TextComponent(label).withStyle(ChatFormatting.GRAY)
|
||||
.append(new TextComponent(dots).withStyle(ChatFormatting.DARK_GRAY));
|
||||
public void calcMinMaxForSize(int boilerSize) {
|
||||
maxHeatForSize = getMaxHeatLevelForBoilerSize(boilerSize);
|
||||
maxHeatForWater = getMaxHeatLevelForWaterSupply();
|
||||
|
||||
c.append(bars(Math.max(0, min - 1), ChatFormatting.DARK_GREEN));
|
||||
c.append(bars(min > 0 ? 1 : 0, ChatFormatting.GREEN));
|
||||
c.append(bars(Math.max(0, level - min), ChatFormatting.DARK_GREEN));
|
||||
c.append(bars(Math.max(0, max - level), ChatFormatting.DARK_RED));
|
||||
c.append(bars(Math.max(0, Math.min(18 - max, ((max / 5 + 1) * 5) - max)), ChatFormatting.DARK_GRAY));
|
||||
minValue = Math.min(passiveHeat ? 1 : activeHeat, Math.min(maxHeatForWater, maxHeatForSize));
|
||||
maxValue = Math.max(passiveHeat ? 1 : activeHeat, Math.max(maxHeatForWater, maxHeatForSize));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public TextComponent getHeatLevelTextComponent() {
|
||||
int boilerLevel = Math.min(activeHeat, Math.min(maxHeatForWater, maxHeatForSize));
|
||||
|
||||
return isPassive() ? new TextComponent("Passive")
|
||||
: (boilerLevel == 0 ? new TextComponent("Idle")
|
||||
: boilerLevel == 18 ? new TextComponent("Max")
|
||||
: new TextComponent("Lvl " + IHaveGoggleInformation.format(boilerLevel)));
|
||||
}
|
||||
|
||||
public MutableComponent getSizeComponent(boolean forGoggles, boolean useBlocksAsBars, ChatFormatting... styles) {
|
||||
return componentHelper("Size ", "....... ", maxHeatForSize, forGoggles, useBlocksAsBars, styles);
|
||||
}
|
||||
|
||||
public MutableComponent getWaterComponent(boolean forGoggles, boolean useBlocksAsBars, ChatFormatting... styles) {
|
||||
return componentHelper("Water ", "... ", maxHeatForWater, forGoggles, useBlocksAsBars, styles);
|
||||
}
|
||||
|
||||
public MutableComponent getHeatComponent(boolean forGoggles, boolean useBlocksAsBars, ChatFormatting... styles) {
|
||||
return componentHelper("Heat ", "...... ", passiveHeat ? 1 : activeHeat, forGoggles, useBlocksAsBars, styles);
|
||||
}
|
||||
|
||||
private MutableComponent componentHelper(String label, String dots, int level, boolean forGoggles, boolean useBlocksAsBars, ChatFormatting... styles) {
|
||||
MutableComponent base = useBlocksAsBars ? blockComponent(level) : barComponent(level);
|
||||
|
||||
if (!forGoggles)
|
||||
return base;
|
||||
|
||||
ChatFormatting style1 = styles.length >= 1 ? styles[0] : ChatFormatting.GRAY;
|
||||
ChatFormatting style2 = styles.length >= 2 ? styles[1] : ChatFormatting.DARK_GRAY;
|
||||
|
||||
return new TextComponent(label).withStyle(style1)
|
||||
.append(new TextComponent(dots).withStyle(style2))
|
||||
.append(base);
|
||||
}
|
||||
|
||||
|
||||
private MutableComponent blockComponent(int level) {
|
||||
return new TextComponent("" +
|
||||
"\u2588".repeat(minValue) +
|
||||
"\u2592".repeat(level - minValue) +
|
||||
"\u2591".repeat(maxValue - level)
|
||||
);
|
||||
}
|
||||
|
||||
private MutableComponent barComponent(int level) {
|
||||
return TextComponent.EMPTY.copy()
|
||||
.append(bars(Math.max(0, minValue - 1), ChatFormatting.DARK_GREEN))
|
||||
.append(bars(minValue > 0 ? 1 : 0, ChatFormatting.GREEN))
|
||||
.append(bars(Math.max(0, level - minValue), ChatFormatting.DARK_GREEN))
|
||||
.append(bars(Math.max(0, maxValue - level), ChatFormatting.DARK_RED))
|
||||
.append(bars(Math.max(0, Math.min(18 - maxValue, ((maxValue / 5 + 1) * 5) - maxValue)), ChatFormatting.DARK_GRAY));
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
private MutableComponent bars(int level, ChatFormatting format) {
|
||||
|
@ -218,7 +259,7 @@ public class BoilerData {
|
|||
if (AllBlocks.STEAM_ENGINE.has(attachedState) && SteamEngineBlock.getFacing(attachedState) == d)
|
||||
attachedEngines++;
|
||||
if (AllBlocks.STEAM_WHISTLE.has(attachedState)
|
||||
&& WhistleBlock.getAttachedDirection(attachedState)
|
||||
&& WhistleBlock.getAttachedDirection(attachedState)
|
||||
.getOpposite() == d)
|
||||
attachedWhistles++;
|
||||
}
|
||||
|
|
|
@ -8,8 +8,9 @@ import java.util.List;
|
|||
import javax.annotation.Nullable;
|
||||
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.logistics.block.display.source.DeathCounterDataSource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.DeathCounterDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.DisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.EnchantPowerDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ScoreboardDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.target.DisplayTarget;
|
||||
import com.simibubi.create.content.logistics.block.display.target.LecternDisplayTarget;
|
||||
|
@ -177,9 +178,8 @@ public class AllDisplayBehaviours {
|
|||
public static void register() {
|
||||
assign(register(Create.asResource("sign_display_target"), new SignDisplayTarget()), BlockEntityType.SIGN);
|
||||
assign(register(Create.asResource("lectern_display_target"), new LecternDisplayTarget()), BlockEntityType.LECTERN);
|
||||
assign(register(Create.asResource("death_count_display_source"), new DeathCounterDataSource()),
|
||||
Blocks.RESPAWN_ANCHOR);
|
||||
assign(register(Create.asResource("scoreboard_display_source"), new ScoreboardDisplaySource()),
|
||||
BlockEntityType.COMMAND_BLOCK);
|
||||
assign(register(Create.asResource("death_count_display_source"), new DeathCounterDisplaySource()), Blocks.RESPAWN_ANCHOR);
|
||||
assign(register(Create.asResource("scoreboard_display_source"), new ScoreboardDisplaySource()), BlockEntityType.COMMAND_BLOCK);
|
||||
assign(register(Create.asResource("enchant_power_display_source"), new EnchantPowerDisplaySource()), BlockEntityType.ENCHANTING_TABLE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,29 +2,29 @@ package com.simibubi.create.content.logistics.block.display;
|
|||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
|
||||
public class DisplayLinkContext {
|
||||
|
||||
private LevelAccessor level;
|
||||
private Level level;
|
||||
private DisplayLinkTileEntity te;
|
||||
|
||||
|
||||
public Object flapDisplayContext;
|
||||
|
||||
public DisplayLinkContext(LevelAccessor level, DisplayLinkTileEntity te) {
|
||||
public DisplayLinkContext(Level level, DisplayLinkTileEntity te) {
|
||||
this.level = level;
|
||||
this.te = te;
|
||||
}
|
||||
|
||||
public LevelAccessor level() {
|
||||
public Level level() {
|
||||
return level;
|
||||
}
|
||||
|
||||
|
||||
public DisplayLinkTileEntity te() {
|
||||
return te;
|
||||
}
|
||||
|
||||
|
||||
public BlockEntity getSourceTE() {
|
||||
return level.getBlockEntity(getSourcePos());
|
||||
}
|
||||
|
|
|
@ -0,0 +1,129 @@
|
|||
package com.simibubi.create.content.logistics.block.display.source;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import com.simibubi.create.content.contraptions.fluids.tank.BoilerData;
|
||||
import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkContext;
|
||||
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout;
|
||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
||||
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.LecternBlockEntity;
|
||||
|
||||
public class BoilerDisplaySource extends DisplaySource {
|
||||
|
||||
public static final List<MutableComponent> notEnoughSpaceSingle = List.of(new TextComponent("Not enough space for Boiler Status!"));
|
||||
public static final List<MutableComponent> notEnoughSpaceDouble = List.of(new TextComponent("Not enough space"), new TextComponent("for Boiler Status!"));
|
||||
public static final List<List<MutableComponent>> notEnoughSpaceFlap = List.of(List.of(new TextComponent("Not enough space")), List.of(new TextComponent("for Boiler Status!")));
|
||||
|
||||
@Override
|
||||
public List<MutableComponent> provideText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||
if (stats.maxRows() < 2) {
|
||||
return notEnoughSpaceSingle;
|
||||
} else if (stats.maxRows() < 4) {
|
||||
return notEnoughSpaceDouble;
|
||||
}
|
||||
|
||||
boolean isBook = context.getTargetTE() instanceof LecternBlockEntity;
|
||||
|
||||
if (isBook) {
|
||||
Stream<MutableComponent> componentList = getComponents(context, false)
|
||||
.map(components -> {
|
||||
Optional<MutableComponent> reduce = components.stream().reduce(MutableComponent::append);
|
||||
return reduce.orElse(EMPTY_LINE);
|
||||
});
|
||||
|
||||
return List.of(componentList.reduce((comp1, comp2) -> comp1.append(new TextComponent("\n")).append(comp2)).orElse(EMPTY_LINE));
|
||||
}
|
||||
|
||||
return getComponents(context, false)
|
||||
.map(components -> {
|
||||
Optional<MutableComponent> reduce = components.stream().reduce(MutableComponent::append);
|
||||
return reduce.orElse(EMPTY_LINE);
|
||||
}).toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<List<MutableComponent>> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||
if (stats.maxRows() < 4) {
|
||||
context.flapDisplayContext = Boolean.FALSE;
|
||||
return notEnoughSpaceFlap;
|
||||
}
|
||||
|
||||
List<List<MutableComponent>> components = getComponents(context, true).toList();
|
||||
|
||||
if (stats.maxColumns() * FlapDisplaySection.MONOSPACE < 6 * FlapDisplaySection.MONOSPACE + components.get(1).get(1).getString().length() * FlapDisplaySection.WIDE_MONOSPACE) {
|
||||
context.flapDisplayContext = Boolean.FALSE;
|
||||
return notEnoughSpaceFlap;
|
||||
}
|
||||
|
||||
return components;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout, int lineIndex) {
|
||||
if (lineIndex == 0 || context.flapDisplayContext instanceof Boolean b && !b) {
|
||||
if (layout.isLayout("Default"))
|
||||
return;
|
||||
|
||||
layout.loadDefault(flapDisplay.getMaxCharCount());
|
||||
return;
|
||||
}
|
||||
|
||||
String layoutKey = "Boiler";
|
||||
if (layout.isLayout(layoutKey))
|
||||
return;
|
||||
|
||||
int labelLength = (int) (5 * FlapDisplaySection.MONOSPACE);
|
||||
float maxSpace = flapDisplay.getMaxCharCount(1) * FlapDisplaySection.MONOSPACE;
|
||||
FlapDisplaySection label = new FlapDisplaySection(labelLength, "alphabet", false, true);
|
||||
FlapDisplaySection symbols = new FlapDisplaySection(maxSpace - labelLength, "pixel", false, false).wideFlaps();
|
||||
|
||||
layout.configure(layoutKey, List.of(label, symbols));
|
||||
}
|
||||
|
||||
private Stream<List<MutableComponent>> getComponents(DisplayLinkContext context, boolean forFlapDisplay) {
|
||||
BlockEntity sourceTE = context.getSourceTE();
|
||||
if (!(sourceTE instanceof FluidTankTileEntity tankTile))
|
||||
return Stream.of(EMPTY);
|
||||
|
||||
tankTile = tankTile.getControllerTE();
|
||||
if (tankTile == null)
|
||||
return Stream.of(EMPTY);
|
||||
|
||||
BoilerData boiler = tankTile.boiler;
|
||||
|
||||
int totalTankSize = tankTile.getTotalTankSize();
|
||||
|
||||
boiler.calcMinMaxForSize(totalTankSize);
|
||||
|
||||
String label = forFlapDisplay ? "Boiler Status: " : "Boiler:";
|
||||
String size = forFlapDisplay ? " Size" : "";
|
||||
String water = forFlapDisplay ? "Water" : "";
|
||||
String heat = forFlapDisplay ? " Heat" : "";
|
||||
|
||||
//String size = forFlapDisplay ? " Size" : "\u21d5";
|
||||
//String water = forFlapDisplay ? "Water" : "\ud83c\udf0a";
|
||||
//String heat = forFlapDisplay ? " Heat" : "\ud83d\udd25";
|
||||
|
||||
return Stream.of(
|
||||
List.of(new TextComponent(label).append(boiler.getHeatLevelTextComponent())),
|
||||
List.of(new TextComponent(size), boiler.getSizeComponent(!forFlapDisplay, forFlapDisplay, ChatFormatting.BLACK)),
|
||||
List.of(new TextComponent(water), boiler.getWaterComponent(!forFlapDisplay, forFlapDisplay, ChatFormatting.BLACK)),
|
||||
List.of(new TextComponent(heat), boiler.getHeatComponent(!forFlapDisplay, forFlapDisplay, ChatFormatting.BLACK))
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "boiler_status";
|
||||
}
|
||||
}
|
|
@ -6,14 +6,14 @@ import net.minecraft.network.chat.Component;
|
|||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.stats.Stats;
|
||||
|
||||
public class DeathCounterDataSource extends StatTrackingDisplaySource {
|
||||
public class DeathCounterDisplaySource extends StatTrackingDisplaySource {
|
||||
|
||||
@Override
|
||||
protected int updatedScoreOf(ServerPlayer player) {
|
||||
return player.getStats()
|
||||
.getValue(Stats.CUSTOM.get(Stats.DEATHS));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "player_deaths";
|
|
@ -42,9 +42,9 @@ public abstract class DisplaySource extends DisplayBehaviour {
|
|||
}
|
||||
|
||||
public void onSignalReset(DisplayLinkContext context) {};
|
||||
|
||||
|
||||
public void populateData(DisplayLinkContext context) {};
|
||||
|
||||
|
||||
public int getPassiveRefreshTicks() {
|
||||
return 100;
|
||||
};
|
||||
|
@ -57,6 +57,10 @@ public abstract class DisplaySource extends DisplayBehaviour {
|
|||
return new TranslatableComponent(id.getNamespace() + ".display_source." + getTranslationKey());
|
||||
}
|
||||
|
||||
public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout, int lineIndex) {
|
||||
loadFlapDisplayLayout(context, flapDisplay, layout);
|
||||
}
|
||||
|
||||
public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay,
|
||||
FlapDisplayLayout layout) {
|
||||
if (!layout.isLayout("Default"))
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
package com.simibubi.create.content.logistics.block.display.source;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkContext;
|
||||
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.EnchantmentTableBlock;
|
||||
import net.minecraft.world.level.block.entity.EnchantmentTableBlockEntity;
|
||||
|
||||
public class EnchantPowerDisplaySource extends NumericSingleLineDisplaySource {
|
||||
|
||||
protected static final Random random = new Random();
|
||||
protected static final ItemStack stack = new ItemStack(Items.DIAMOND_PICKAXE);
|
||||
|
||||
@Override
|
||||
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||
if (!(context.getSourceTE() instanceof EnchantmentTableBlockEntity enchantmentTile))
|
||||
return ZERO;
|
||||
|
||||
BlockPos pos = context.getSourcePos();
|
||||
Level level = context.level();
|
||||
float enchantPower = 0;
|
||||
|
||||
for(BlockPos offset : EnchantmentTableBlock.BOOKSHELF_OFFSETS) {
|
||||
if (!EnchantmentTableBlock.isValidBookShelf(level, pos, offset))
|
||||
continue;
|
||||
|
||||
enchantPower += level.getBlockState(pos.offset(offset)).getEnchantPowerBonus(level, pos.offset(offset));
|
||||
}
|
||||
|
||||
|
||||
int cost = EnchantmentHelper.getEnchantmentCost(random, 2, (int) enchantPower, stack);
|
||||
|
||||
return new TextComponent(String.valueOf(cost));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "max_enchant_level";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package com.simibubi.create.content.logistics.block.display.source;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.simibubi.create.content.contraptions.components.actors.SeatEntity;
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkContext;
|
||||
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
|
||||
public class EntityNameDisplaySource extends SingleLineDisplaySource {
|
||||
@Override
|
||||
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||
List<SeatEntity> seats = context.level().getEntitiesOfClass(SeatEntity.class, new AABB(context.getSourcePos()));
|
||||
|
||||
if (seats.isEmpty())
|
||||
return EMPTY_LINE;
|
||||
|
||||
SeatEntity seatEntity = seats.get(0);
|
||||
List<Entity> passengers = seatEntity.getPassengers();
|
||||
|
||||
if (passengers.isEmpty())
|
||||
return EMPTY_LINE;
|
||||
|
||||
return passengers.get(0).getDisplayName().copy();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "entity_name";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
package com.simibubi.create.content.logistics.block.display.source;
|
||||
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkContext;
|
||||
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||
import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity;
|
||||
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
|
||||
import com.simibubi.create.foundation.tileEntity.behaviour.inventory.TankManipulationBehaviour;
|
||||
import com.simibubi.create.foundation.utility.FluidFormatter;
|
||||
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.capability.IFluidHandler;
|
||||
|
||||
public class FluidAmountDisplaySource extends SingleLineDisplaySource {
|
||||
|
||||
@Override
|
||||
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||
BlockEntity sourceTE = context.getSourceTE();
|
||||
if (!(sourceTE instanceof ContentObserverTileEntity cote))
|
||||
return EMPTY_LINE;
|
||||
|
||||
TankManipulationBehaviour tankManipulationBehaviour = cote.getBehaviour(TankManipulationBehaviour.OBSERVE);
|
||||
FilteringBehaviour filteringBehaviour = cote.getBehaviour(FilteringBehaviour.TYPE);
|
||||
IFluidHandler handler = tankManipulationBehaviour.getInventory();
|
||||
|
||||
if (handler == null)
|
||||
return EMPTY_LINE;
|
||||
|
||||
long collected = 0;
|
||||
for (int i = 0; i < handler.getTanks(); i++) {
|
||||
FluidStack stack = handler.getFluidInTank(i);
|
||||
if (stack.isEmpty())
|
||||
continue;
|
||||
if (!filteringBehaviour.test(stack))
|
||||
continue;
|
||||
collected += stack.getAmount();
|
||||
}
|
||||
|
||||
return new TextComponent(FluidFormatter.asString(collected, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "fluid_amount";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
package com.simibubi.create.content.logistics.block.display.source;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.apache.commons.lang3.mutable.MutableInt;
|
||||
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkContext;
|
||||
import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity;
|
||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout;
|
||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
||||
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
|
||||
import com.simibubi.create.foundation.tileEntity.behaviour.inventory.TankManipulationBehaviour;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.FluidFormatter;
|
||||
import com.simibubi.create.foundation.utility.IntAttached;
|
||||
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.capability.IFluidHandler;
|
||||
|
||||
public class FluidListDisplaySource extends ValueListDisplaySource {
|
||||
|
||||
|
||||
@Override
|
||||
protected Stream<IntAttached<MutableComponent>> provideEntries(DisplayLinkContext context, int maxRows) {
|
||||
BlockEntity sourceTE = context.getSourceTE();
|
||||
if (!(sourceTE instanceof ContentObserverTileEntity cote))
|
||||
return Stream.empty();
|
||||
|
||||
TankManipulationBehaviour tankManipulationBehaviour = cote.getBehaviour(TankManipulationBehaviour.OBSERVE);
|
||||
FilteringBehaviour filteringBehaviour = cote.getBehaviour(FilteringBehaviour.TYPE);
|
||||
IFluidHandler handler = tankManipulationBehaviour.getInventory();
|
||||
|
||||
if (handler == null)
|
||||
return Stream.empty();
|
||||
|
||||
|
||||
Map<Fluid, Integer> fluids = new HashMap<>();
|
||||
Map<Fluid, FluidStack> fluidNames = new HashMap<>();
|
||||
|
||||
for (int i = 0; i < handler.getTanks(); i++) {
|
||||
FluidStack stack = handler.getFluidInTank(i);
|
||||
if (stack.isEmpty())
|
||||
continue;
|
||||
if (!filteringBehaviour.test(stack))
|
||||
continue;
|
||||
|
||||
fluids.merge(stack.getFluid(), stack.getAmount(), Integer::sum);
|
||||
fluidNames.putIfAbsent(stack.getFluid(), stack);
|
||||
}
|
||||
|
||||
return fluids.entrySet()
|
||||
.stream()
|
||||
.sorted((Comparator.comparingInt(value -> ((Map.Entry<Fluid, Integer>) value).getValue()).reversed()))
|
||||
.limit(maxRows)
|
||||
.map(entry -> IntAttached.with(
|
||||
entry.getValue(),
|
||||
new TranslatableComponent(fluidNames.get(entry.getKey()).getTranslationKey()))
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<MutableComponent> createComponentsFromEntry(DisplayLinkContext context, IntAttached<MutableComponent> entry) {
|
||||
int amount = entry.getFirst();
|
||||
MutableComponent name = entry.getSecond().append(WHITESPACE);
|
||||
|
||||
Couple<MutableComponent> formatted = FluidFormatter.asComponents(amount, shortenNumbers(context));
|
||||
|
||||
return List.of(formatted.getFirst(), formatted.getSecond(), name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout) {
|
||||
Integer max = ((MutableInt) context.flapDisplayContext).getValue();
|
||||
boolean shorten = shortenNumbers(context);
|
||||
int length = FluidFormatter.asString(max, shorten).length();
|
||||
String layoutKey = "FluidList_" + length;
|
||||
|
||||
if (layout.isLayout(layoutKey))
|
||||
return;
|
||||
|
||||
int maxCharCount = flapDisplay.getMaxCharCount(1);
|
||||
int numberLength = Math.min(maxCharCount, Math.max(3, length - 2));
|
||||
int nameLength = Math.max(maxCharCount - numberLength - 2, 0);
|
||||
|
||||
FlapDisplaySection value = new FlapDisplaySection(FlapDisplaySection.MONOSPACE * numberLength, "number", false, false).rightAligned();
|
||||
FlapDisplaySection unit = new FlapDisplaySection(FlapDisplaySection.MONOSPACE * 2, "fluid_units", true, true);
|
||||
FlapDisplaySection name = new FlapDisplaySection(FlapDisplaySection.MONOSPACE * nameLength, "alphabet", false, false);
|
||||
|
||||
layout.configure(layoutKey, List.of(value, unit, name));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "list_fluids";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean valueFirst() {
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package com.simibubi.create.content.logistics.block.display.source;
|
||||
|
||||
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
|
||||
import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkContext;
|
||||
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||
import com.simibubi.create.foundation.gui.ModularGuiLineBuilder;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
public class KineticSpeedDisplaySource extends NumericSingleLineDisplaySource {
|
||||
|
||||
@Override
|
||||
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||
if (!(context.getSourceTE() instanceof SpeedGaugeTileEntity gaugeTile))
|
||||
return ZERO;
|
||||
|
||||
boolean absoluteValue = context.sourceConfig().getInt("Directional") == 0;
|
||||
float speed = absoluteValue ? Math.abs(gaugeTile.getSpeed()) : gaugeTile.getSpeed();
|
||||
|
||||
return new TextComponent(IHaveGoggleInformation.format(speed));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "kinetic_speed";
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void initConfigurationWidgets(DisplayLinkContext context, ModularGuiLineBuilder builder, boolean isFirstLine) {
|
||||
super.initConfigurationWidgets(context, builder, isFirstLine);
|
||||
if (isFirstLine)
|
||||
return;
|
||||
|
||||
builder.addSelectionScrollInput(0, 95, (selectionScrollInput, label) -> {
|
||||
selectionScrollInput.forOptions(Lang.translatedOptions("display_source.kinetic_speed", "absolute", "directional"));
|
||||
}, "Directional");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
package com.simibubi.create.content.logistics.block.display.source;
|
||||
|
||||
import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation;
|
||||
import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.display.DisplayLinkContext;
|
||||
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
|
||||
public abstract class KineticStressDisplaySource extends NumericSingleLineDisplaySource {
|
||||
|
||||
protected abstract double getValue(StressGaugeTileEntity gaugeTile);
|
||||
|
||||
@Override
|
||||
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||
if (!(context.getSourceTE() instanceof StressGaugeTileEntity gaugeTile))
|
||||
return ZERO;
|
||||
|
||||
return new TextComponent(IHaveGoggleInformation.format(getValue(gaugeTile)));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static class Current extends KineticStressDisplaySource {
|
||||
|
||||
@Override
|
||||
protected double getValue(StressGaugeTileEntity gaugeTile) {
|
||||
return gaugeTile.getNetworkStress();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "kinetic_stress.current";
|
||||
}
|
||||
}
|
||||
|
||||
public static class Max extends KineticStressDisplaySource {
|
||||
|
||||
@Override
|
||||
protected double getValue(StressGaugeTileEntity gaugeTile) {
|
||||
return gaugeTile.getNetworkCapacity();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "kinetic_stress.max";
|
||||
}
|
||||
}
|
||||
|
||||
public static class Percent extends KineticStressDisplaySource {
|
||||
|
||||
@Override
|
||||
protected double getValue(StressGaugeTileEntity gaugeTile) {
|
||||
return gaugeTile.getNetworkStress() / gaugeTile.getNetworkCapacity() * 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "kinetic_stress.percent";
|
||||
}
|
||||
}
|
||||
|
||||
public static class Remaining extends KineticStressDisplaySource {
|
||||
|
||||
@Override
|
||||
protected double getValue(StressGaugeTileEntity gaugeTile) {
|
||||
return gaugeTile.getNetworkCapacity() - gaugeTile.getNetworkStress();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTranslationKey() {
|
||||
return "kinetic_stress.remaining";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -37,9 +37,9 @@ public class DisplayBoardTarget extends DisplayTarget {
|
|||
reserve(i + line, controller, context);
|
||||
if (i > 0 && isReserved(i + line, controller, context))
|
||||
break;
|
||||
|
||||
|
||||
FlapDisplayLayout layout = lines.get(i + line);
|
||||
|
||||
|
||||
if (i >= text.size()) {
|
||||
if (source instanceof SingleLineDisplaySource)
|
||||
break;
|
||||
|
@ -47,7 +47,7 @@ public class DisplayBoardTarget extends DisplayTarget {
|
|||
continue;
|
||||
}
|
||||
|
||||
source.loadFlapDisplayLayout(context, controller, layout);
|
||||
source.loadFlapDisplayLayout(context, controller, layout, i);
|
||||
|
||||
for (int sectionIndex = 0; sectionIndex < layout.getSections()
|
||||
.size(); sectionIndex++) {
|
||||
|
@ -96,7 +96,7 @@ public class DisplayBoardTarget extends DisplayTarget {
|
|||
FlapDisplayTileEntity controller = fdte.getController();
|
||||
if (controller == null)
|
||||
return baseShape;
|
||||
|
||||
|
||||
Vec3i normal = controller.getDirection()
|
||||
.getClockWise()
|
||||
.getNormal();
|
||||
|
|
|
@ -40,13 +40,13 @@ public class LecternDisplayTarget extends DisplayTarget {
|
|||
for (int i = 0; i - line < text.size() && i < 50; i++) {
|
||||
if (tag.size() <= i)
|
||||
tag.add(StringTag.valueOf(i < line ? "" : Component.Serializer.toJson(text.get(i - line))));
|
||||
|
||||
|
||||
else if (i >= line) {
|
||||
if (i - line == 0)
|
||||
reserve(i, lectern, context);
|
||||
if (i - line > 0 && isReserved(i - line, lectern, context))
|
||||
break;
|
||||
|
||||
|
||||
tag.set(i, StringTag.valueOf(Component.Serializer.toJson(text.get(i - line))));
|
||||
}
|
||||
changed = true;
|
||||
|
@ -56,8 +56,8 @@ public class LecternDisplayTarget extends DisplayTarget {
|
|||
.put("pages", tag);
|
||||
lectern.setBook(book);
|
||||
|
||||
if (changed && context.level()instanceof Level level)
|
||||
level.sendBlockUpdated(context.getTargetPos(), lectern.getBlockState(), lectern.getBlockState(), 2);
|
||||
if (changed)
|
||||
context.level().sendBlockUpdated(context.getTargetPos(), lectern.getBlockState(), lectern.getBlockState(), 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -23,13 +23,13 @@ public class SignDisplayTarget extends DisplayTarget {
|
|||
reserve(i + line, sign, context);
|
||||
if (i > 0 && isReserved(i + line, sign, context))
|
||||
break;
|
||||
|
||||
|
||||
sign.setMessage(i + line, text.get(i));
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed && context.level()instanceof Level level)
|
||||
level.sendBlockUpdated(context.getTargetPos(), sign.getBlockState(), sign.getBlockState(), 2);
|
||||
if (changed)
|
||||
context.level().sendBlockUpdated(context.getTargetPos(), sign.getBlockState(), sign.getBlockState(), 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package com.simibubi.create.foundation.utility;
|
||||
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
|
||||
public class FluidFormatter {
|
||||
|
||||
public static String asString(long amount, boolean shorten) {
|
||||
Couple<MutableComponent> couple = asComponents(amount, shorten);
|
||||
return couple.getFirst().getString() + " " + couple.getSecond().getString();
|
||||
}
|
||||
|
||||
public static Couple<MutableComponent> asComponents(long amount, boolean shorten) {
|
||||
if (shorten && amount >= 1000) {
|
||||
return Couple.create(
|
||||
new TextComponent(String.format("%.1f" , amount / 1000d)),
|
||||
Lang.translate("generic.unit.buckets")
|
||||
);
|
||||
}
|
||||
|
||||
return Couple.create(
|
||||
new TextComponent(String.valueOf(amount)),
|
||||
Lang.translate("generic.unit.millibuckets")
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -19,7 +19,7 @@
|
|||
"death.attack.create.cuckoo_clock_explosion.player": "%1$s was blown up by tampered cuckoo clock",
|
||||
"death.attack.create.run_over": "%1$s was run over by %2$s",
|
||||
"create.block.deployer.damage_source_name": "a rogue Deployer",
|
||||
|
||||
|
||||
"create.block.cart_assembler.invalid": "Place your Cart Assembler on a rail block",
|
||||
|
||||
"create.menu.return": "Return to Menu",
|
||||
|
@ -95,7 +95,8 @@
|
|||
"create.generic.unit.rpm": "RPM",
|
||||
"create.generic.unit.stress": "su",
|
||||
"create.generic.unit.degrees": "\u00B0",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.millibuckets": "mB",
|
||||
"create.generic.unit.buckets": "B",
|
||||
"create.generic.clockwise": "Clockwise",
|
||||
"create.generic.counter_clockwise": "Counter-Clockwise",
|
||||
"create.generic.in_quotes": "\"%1$s\"",
|
||||
|
@ -721,11 +722,13 @@
|
|||
"create.display_link.information_type": "Type of Information",
|
||||
"create.display_link.display_on": "Write data to:",
|
||||
"create.display_link.display_on_multiline": "Start writing at:",
|
||||
|
||||
|
||||
"create.display_source.label": "Attached Label",
|
||||
"create.display_source.combine_item_names": "Combine Item Names",
|
||||
"create.display_source.count_items": "Amount of matching Items",
|
||||
"create.display_source.list_items": "List matching Items",
|
||||
"create.display_source.fluid_amount": "Amount of matching Fluids",
|
||||
"create.display_source.list_fluids": "List matching Fluids",
|
||||
"create.display_source.nixie_tube": "Copy Nixie Tubes",
|
||||
"create.display_source.fill_level": "Container Fill Level",
|
||||
"create.display_source.fill_level.display": "Display Format",
|
||||
|
@ -760,7 +763,17 @@
|
|||
"create.display_source.station_summary.minutes": " min",
|
||||
"create.display_source.station_summary.seconds": "%1$ss",
|
||||
"create.display_source.observed_train_name": "Detected Train Name",
|
||||
|
||||
"create.display_source.max_enchant_level": "Max Enchanting Cost",
|
||||
"create.display_source.boiler_status": "Boiler Status",
|
||||
"create.display_source.entity_name": "Entity Name",
|
||||
"create.display_source.kinetic_speed": "Rotation Speed (RPM)",
|
||||
"create.display_source.kinetic_speed.absolute": "Ignore Direction",
|
||||
"create.display_source.kinetic_speed.directional": "Include Direction",
|
||||
"create.display_source.kinetic_stress.current": "Stress Impact (Amount)",
|
||||
"create.display_source.kinetic_stress.max": "Stress Capacity (Max)",
|
||||
"create.display_source.kinetic_stress.percent": "Stress Impact (Percent)",
|
||||
"create.display_source.kinetic_stress.remaining": "Stress Capacity (Remaining)",
|
||||
|
||||
"create.display_target.line": "Line %1$s",
|
||||
"create.display_target.page": "Page %1$s",
|
||||
"create.display_target.single_line": "Single Line",
|
||||
|
@ -769,8 +782,9 @@
|
|||
"create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9",
|
||||
"create.flap_display.cycles.arrival_time": " ; min;now;15s;30s;45s",
|
||||
"create.flap_display.cycles.shortened_numbers": " ;K;M",
|
||||
"create.flap_display.cycles.fluid_units": "mB;B ",
|
||||
"create.flap_display.cycles.instant": " ; ",
|
||||
"create.flap_display.cycles.pixel": "\u2588;\u2592",
|
||||
"create.flap_display.cycles.pixel": "\u2588;\u2593;\u2592",
|
||||
|
||||
"create.super_glue.too_far": "Selected area is too big",
|
||||
"create.super_glue.cannot_reach": "Selected blocks must be connected",
|
||||
|
|
Loading…
Reference in a new issue