From 513e7906cc48ae883c767bdc49f124245b928e9a Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Fri, 10 Jun 2022 21:48:43 +0200 Subject: [PATCH] Schedule-tracking displays - Added the "Train Schedule Status" display source to Stations --- src/generated/resources/.cache/cache | 32 ++++++------ .../resources/assets/create/lang/en_us.json | 9 ++++ .../assets/create/lang/unfinished/de_de.json | 11 +++- .../assets/create/lang/unfinished/es_cl.json | 11 +++- .../assets/create/lang/unfinished/es_es.json | 11 +++- .../assets/create/lang/unfinished/fr_fr.json | 11 +++- .../assets/create/lang/unfinished/it_it.json | 11 +++- .../assets/create/lang/unfinished/ja_jp.json | 11 +++- .../assets/create/lang/unfinished/ko_kr.json | 11 +++- .../assets/create/lang/unfinished/nl_nl.json | 11 +++- .../assets/create/lang/unfinished/pl_pl.json | 11 +++- .../assets/create/lang/unfinished/pt_br.json | 11 +++- .../assets/create/lang/unfinished/pt_pt.json | 11 +++- .../assets/create/lang/unfinished/ro_ro.json | 11 +++- .../assets/create/lang/unfinished/ru_ru.json | 11 +++- .../assets/create/lang/unfinished/zh_cn.json | 11 +++- .../assets/create/lang/unfinished/zh_tw.json | 11 +++- .../java/com/simibubi/create/AllBlocks.java | 4 +- .../source/TrainStatusDisplaySource.java | 51 +++++++++++++++++++ .../edgePoint/station/StationTileEntity.java | 6 +++ .../management/schedule/ScheduleRuntime.java | 26 ++++++++++ .../condition/CargoThresholdCondition.java | 16 ++++-- .../condition/FluidThresholdCondition.java | 16 ++++-- .../condition/IdleCargoCondition.java | 2 + .../condition/ItemThresholdCondition.java | 18 +++++-- .../condition/RedstoneLinkCondition.java | 6 +++ .../condition/ScheduleWaitCondition.java | 7 +++ .../schedule/condition/ScheduledDelay.java | 2 + .../condition/StationPoweredCondition.java | 6 +++ .../condition/StationUnloadedCondition.java | 6 +++ .../condition/TimeOfDayCondition.java | 23 ++++++++- .../condition/TimedWaitCondition.java | 27 +++++++++- .../assets/create/lang/default/interface.json | 9 ++++ 33 files changed, 387 insertions(+), 44 deletions(-) create mode 100644 src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 670ea17d6..df85b3731 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -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 -9c5ce2efadececa935b3d9bfa43d1e8e2e9573d4 assets/create/lang/en_us.json -3e9fde695de0152497a16c4831846d601abc0cc3 assets/create/lang/unfinished/de_de.json -4aeb2a95c93c7ca968c43e0d3bc54c9f2611c37a assets/create/lang/unfinished/es_cl.json -3850fee69bca2e05d2766472b4ad0e70475350d0 assets/create/lang/unfinished/es_es.json -42343ed377b78b101108043690dfca8d1ac5c1e6 assets/create/lang/unfinished/fr_fr.json -76aa37981ed3807b03f9f3e6c96e07d9e5303dae assets/create/lang/unfinished/it_it.json -21b693756a0fb0ff43d10b2085644f2efd8b6706 assets/create/lang/unfinished/ja_jp.json -c419577363fe8bbb987d4653bd731194292912f7 assets/create/lang/unfinished/ko_kr.json -7e14f50475bc8a5a9d9c8d8aac784dff16353fa2 assets/create/lang/unfinished/nl_nl.json -5f271ea616660fc2a0577de29e9d96058ed1b5db assets/create/lang/unfinished/pl_pl.json -c71104ba2f979636357315a4b8efe804a1abb282 assets/create/lang/unfinished/pt_br.json -409cb9102bca662e446367b8b9477454e24fa8d6 assets/create/lang/unfinished/pt_pt.json -ac0e5fea2f2e93f0b0ed8fdb2d12602609b2256f assets/create/lang/unfinished/ro_ro.json -34a0ea196a6ee7a863c6f50ddcaec82d9a205471 assets/create/lang/unfinished/ru_ru.json -1ae3cdfd2db6dec8f7c1ecd8962e6658affbf8bf assets/create/lang/unfinished/zh_cn.json -f183e889c34eb4b5894d4aedef84190be45661eb assets/create/lang/unfinished/zh_tw.json +e0e9ceb9e8fed94c6cd3d3c1066dbf3ca0853e88 assets/create/lang/en_us.json +84bbc4114d730451c9e675409074dba365e607c6 assets/create/lang/unfinished/de_de.json +448116a990ffa8d3c592d119ea86bd9877a0026d assets/create/lang/unfinished/es_cl.json +2b9281ea5066d5c4450cbbbe63dfca8b1f4d46ba assets/create/lang/unfinished/es_es.json +7eba8e0309dfa9ced561cb850e353386b47cd67b assets/create/lang/unfinished/fr_fr.json +621e146bcfb9df8b85f1fa75d696f3a0aedcc5dc assets/create/lang/unfinished/it_it.json +ca96955d0c41de07ac957b0ab39797968138ca74 assets/create/lang/unfinished/ja_jp.json +7b9fea6577fb5c0cd8f7a7c6d6f6c4f81a16ea26 assets/create/lang/unfinished/ko_kr.json +e03cde766aca575ebd98dab10616d99df7a0b104 assets/create/lang/unfinished/nl_nl.json +35c9b916519c89b65c7fb259ccd949d44bcd9f7f assets/create/lang/unfinished/pl_pl.json +6e5c551c7d195c5e3ad7238de6b8827cbbcabeaf assets/create/lang/unfinished/pt_br.json +4c5f43461b221af80e4877619f3142feea125ec0 assets/create/lang/unfinished/pt_pt.json +528524de3e35ea7b063d9acbacea9b608d7766ea assets/create/lang/unfinished/ro_ro.json +fe42e45c945dd298bf09b7e90de1075a52d6210f assets/create/lang/unfinished/ru_ru.json +03a4cfd0612beebf3842607cba2d898844478699 assets/create/lang/unfinished/zh_cn.json +ea95d915b70139d73dc413af69d502759e882672 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 diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index e14e22d8a..a353c836d 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -901,6 +901,7 @@ "create.generic.unit.minutes": "Minutes", "create.generic.daytime.hour": "Hour", "create.generic.daytime.minute": "Minute", + "create.generic.daytime.second": "Second", "create.generic.daytime.pm": "pm", "create.generic.daytime.am": "am", "create.generic.unit.rpm": "RPM", @@ -1382,11 +1383,15 @@ "create.schedule.condition.editor": "Condition Editor", "create.schedule.condition.delay": "Scheduled Delay", "create.schedule.condition.delay_short": "Wait: %1$s", + "create.schedule.condition.delay.status": "Departs in %1$s", "create.schedule.condition.idle": "Cargo Inactivity", "create.schedule.condition.idle_short": "Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "for %1$s", "create.schedule.condition.unloaded": "Chunk Unloaded", + "create.schedule.condition.unloaded.status": "Waiting for chunk unload", "create.schedule.condition.powered": "Station Powered", + "create.schedule.condition.powered.status": "Waiting for redstone", "create.schedule.condition.time_of_day": "Time of Day", "create.schedule.condition.time_of_day.scheduled": "Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "%1$s:%3$s %4$s", @@ -1401,6 +1406,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "Every 0:15", + "create.schedule.condition.time_of_day.status": "Departs at ", "create.schedule.condition.threshold.train_holds": "Train holds %1$s", "create.schedule.condition.threshold.greater": "more than", "create.schedule.condition.threshold.less": "less than", @@ -1411,11 +1417,13 @@ "create.schedule.condition.threshold.items": "Items", "create.schedule.condition.threshold.stacks": "Stacks", "create.schedule.condition.threshold.buckets": "Buckets", + "create.schedule.condition.threshold.status": "Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "Reference Item", "create.schedule.condition.threshold.place_item_2": "Filters can be used", "create.schedule.condition.fluid_threshold": "Fluid Cargo Condition", "create.schedule.condition.item_threshold": "Item Cargo Condition", "create.schedule.condition.redstone_link": "Redstone Link", + "create.schedule.condition.redstone_link.status": "Waiting for redstone link", "create.schedule.condition.redstone_link_on": "Link On", "create.schedule.condition.redstone_link_off": "Link Off", "create.schedule.condition.redstone_link.powered": "Powered", @@ -1557,6 +1565,7 @@ "create.display_source.item_throughput.interval.second": "per Second", "create.display_source.item_throughput.interval.minute": "per Minute", "create.display_source.item_throughput.interval.hour": "per Hour", + "create.display_source.train_status": "Train Schedule Status", "create.display_source.station_summary": "Train Station Summary", "create.display_source.station_summary.filter": "Station name filter", "create.display_source.station_summary.train_name_column": "Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 0381637e6..86478cd0f 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 972", + "_": "Missing Localizations: 981", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minuten", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_cl.json b/src/generated/resources/assets/create/lang/unfinished/es_cl.json index c582ad413..89585a651 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_cl.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_cl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 622", + "_": "Missing Localizations: 631", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minutos", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index 5b32a7cf5..1ec0e36e2 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 286", + "_": "Missing Localizations: 295", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minutos", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 015de9e36..11f50da83 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1860", + "_": "Missing Localizations: 1869", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minutes", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "tr/min", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index 1e219d85c..a9b8da948 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1549", + "_": "Missing Localizations: 1558", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minuti", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index 6b90a65a4..9ab09eb8b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 288", + "_": "Missing Localizations: 297", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "分", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index 073530387..98a39e242 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 288", + "_": "Missing Localizations: 297", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "분", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index e998dbf53..db84f3ca1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2212", + "_": "Missing Localizations: 2221", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minuten", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "UNLOCALIZED: RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json index 806f5e4c5..92796e670 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 661", + "_": "Missing Localizations: 670", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minuty", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "Ob/min", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index e415b43e0..a3e60810e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1156", + "_": "Missing Localizations: 1165", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minutos", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json index 1fcd26cec..2d8e1e5db 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1834", + "_": "Missing Localizations: 1843", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minutos", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json index 7b7a8464e..9311d5709 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json +++ b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 289", + "_": "Missing Localizations: 298", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "Minute", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 7e9e68518..22e39021b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 666", + "_": "Missing Localizations: 675", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "минут", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "об./мин.", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index b4df628ff..cb5a0a4fe 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 286", + "_": "Missing Localizations: 295", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "分钟", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index 45e809bf8..f0b455243 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 680", + "_": "Missing Localizations: 689", "_": "->------------------------] Game Elements [------------------------<-", @@ -902,6 +902,7 @@ "create.generic.unit.minutes": "分", "create.generic.daytime.hour": "UNLOCALIZED: Hour", "create.generic.daytime.minute": "UNLOCALIZED: Minute", + "create.generic.daytime.second": "UNLOCALIZED: Second", "create.generic.daytime.pm": "UNLOCALIZED: pm", "create.generic.daytime.am": "UNLOCALIZED: am", "create.generic.unit.rpm": "RPM", @@ -1383,11 +1384,15 @@ "create.schedule.condition.editor": "UNLOCALIZED: Condition Editor", "create.schedule.condition.delay": "UNLOCALIZED: Scheduled Delay", "create.schedule.condition.delay_short": "UNLOCALIZED: Wait: %1$s", + "create.schedule.condition.delay.status": "UNLOCALIZED: Departs in %1$s", "create.schedule.condition.idle": "UNLOCALIZED: Cargo Inactivity", "create.schedule.condition.idle_short": "UNLOCALIZED: Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "UNLOCALIZED: Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "UNLOCALIZED: for %1$s", "create.schedule.condition.unloaded": "UNLOCALIZED: Chunk Unloaded", + "create.schedule.condition.unloaded.status": "UNLOCALIZED: Waiting for chunk unload", "create.schedule.condition.powered": "UNLOCALIZED: Station Powered", + "create.schedule.condition.powered.status": "UNLOCALIZED: Waiting for redstone", "create.schedule.condition.time_of_day": "UNLOCALIZED: Time of Day", "create.schedule.condition.time_of_day.scheduled": "UNLOCALIZED: Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "UNLOCALIZED: %1$s:%3$s %4$s", @@ -1402,6 +1407,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "UNLOCALIZED: Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "UNLOCALIZED: Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "UNLOCALIZED: Every 0:15", + "create.schedule.condition.time_of_day.status": "UNLOCALIZED: Departs at ", "create.schedule.condition.threshold.train_holds": "UNLOCALIZED: Train holds %1$s", "create.schedule.condition.threshold.greater": "UNLOCALIZED: more than", "create.schedule.condition.threshold.less": "UNLOCALIZED: less than", @@ -1412,11 +1418,13 @@ "create.schedule.condition.threshold.items": "UNLOCALIZED: Items", "create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks", "create.schedule.condition.threshold.buckets": "UNLOCALIZED: Buckets", + "create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item", "create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used", "create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition", "create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition", "create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link", + "create.schedule.condition.redstone_link.status": "UNLOCALIZED: Waiting for redstone link", "create.schedule.condition.redstone_link_on": "UNLOCALIZED: Link On", "create.schedule.condition.redstone_link_off": "UNLOCALIZED: Link Off", "create.schedule.condition.redstone_link.powered": "UNLOCALIZED: Powered", @@ -1558,6 +1566,7 @@ "create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second", "create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", "create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", + "create.display_source.train_status": "UNLOCALIZED: Train Schedule Status", "create.display_source.station_summary": "UNLOCALIZED: Train Station Summary", "create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter", "create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 27f739aa9..2940a514a 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -133,11 +133,11 @@ import com.simibubi.create.content.curiosities.armor.CopperBacktankBlock; import com.simibubi.create.content.curiosities.bell.HauntedBellBlock; import com.simibubi.create.content.curiosities.bell.HauntedBellMovementBehaviour; import com.simibubi.create.content.curiosities.bell.PeculiarBellBlock; -import com.simibubi.create.content.curiosities.deco.TrapdoorCTBehaviour; import com.simibubi.create.content.curiosities.deco.MetalLadderBlock; import com.simibubi.create.content.curiosities.deco.PlacardBlock; import com.simibubi.create.content.curiosities.deco.SlidingDoorBlock; import com.simibubi.create.content.curiosities.deco.TrainTrapdoorBlock; +import com.simibubi.create.content.curiosities.deco.TrapdoorCTBehaviour; import com.simibubi.create.content.curiosities.girder.ConnectedGirderModel; import com.simibubi.create.content.curiosities.girder.GirderBlock; import com.simibubi.create.content.curiosities.girder.GirderBlockStateGenerator; @@ -178,6 +178,7 @@ import com.simibubi.create.content.logistics.block.display.source.ObservedTrainN import com.simibubi.create.content.logistics.block.display.source.StationSummaryDisplaySource; import com.simibubi.create.content.logistics.block.display.source.StopWatchDisplaySource; import com.simibubi.create.content.logistics.block.display.source.TimeOfDayDisplaySource; +import com.simibubi.create.content.logistics.block.display.source.TrainStatusDisplaySource; import com.simibubi.create.content.logistics.block.display.target.DisplayBoardTarget; import com.simibubi.create.content.logistics.block.funnel.AndesiteFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; @@ -1522,6 +1523,7 @@ public class AllBlocks { .transform(pickaxeOnly()) .blockstate((c, p) -> p.simpleBlock(c.get(), AssetLookup.partialBaseModel(c, p))) .onRegister(assignDataBehaviour(new StationSummaryDisplaySource(), "station_summary")) + .onRegister(assignDataBehaviour(new TrainStatusDisplaySource(), "train_status")) .lang("Train Station") .item(TrackTargetingBlockItem.ofType(EdgePointType.STATION)) .transform(customItemModel()) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java new file mode 100644 index 000000000..cda2d9e84 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TrainStatusDisplaySource.java @@ -0,0 +1,51 @@ +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.trains.entity.Train; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.GlobalStation; +import com.simibubi.create.content.logistics.trains.management.edgePoint.station.StationTileEntity; +import com.simibubi.create.content.logistics.trains.management.schedule.Schedule; +import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleRuntime; +import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleRuntime.State; + +import net.minecraft.network.chat.MutableComponent; + +public class TrainStatusDisplaySource extends SingleLineDisplaySource { + + @Override + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { + if (!(context.getSourceTE() instanceof StationTileEntity observerTE)) + return EMPTY_LINE; + GlobalStation observer = observerTE.getStation(); + if (observer == null) + return EMPTY_LINE; + Train currentTrain = observer.getPresentTrain(); + if (currentTrain == null) + return EMPTY_LINE; + + ScheduleRuntime runtime = currentTrain.runtime; + Schedule schedule = runtime.getSchedule(); + if (schedule == null) + return EMPTY_LINE; + if (runtime.paused) + return EMPTY_LINE; + if (runtime.state != State.POST_TRANSIT) + return EMPTY_LINE; + if (runtime.currentEntry == schedule.entries.size() - 1 && !schedule.cyclic) + return EMPTY_LINE; + + return runtime.getWaitingStatus(context.level()); + } + + @Override + protected boolean allowsLabeling(DisplayLinkContext context) { + return false; + } + + @Override + protected String getTranslationKey() { + return "train_status"; + } + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationTileEntity.java index 1c0bfdec7..99a5bc11f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationTileEntity.java @@ -20,6 +20,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Ass import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableTE; import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform; import com.simibubi.create.content.logistics.block.depot.DepotBehaviour; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; import com.simibubi.create.content.logistics.trains.IBogeyBlock; import com.simibubi.create.content.logistics.trains.ITrackBlock; import com.simibubi.create.content.logistics.trains.TrackEdge; @@ -219,6 +220,11 @@ public class StationTileEntity extends SmartTileEntity implements ITransformable boolean trainHasAutoSchedule = trainHasSchedule && imminentTrain.runtime.isAutoSchedule; boolean newlyArrived = this.trainPresent != trainPresent; + if (trainPresent && imminentTrain.runtime.displayLinkUpdateRequested) { + DisplayLinkBlock.notifyGatherers(level, worldPosition); + imminentTrain.runtime.displayLinkUpdateRequested = false; + } + if (newlyArrived) applyAutoSchedule(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleRuntime.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleRuntime.java index be16fb2fe..8e3ebb281 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleRuntime.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleRuntime.java @@ -20,6 +20,7 @@ import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TextComponent; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemStack; @@ -48,6 +49,8 @@ public class ScheduleRuntime { int ticksInTransit; List predictionTicks; + public boolean displayLinkUpdateRequested; + public ScheduleRuntime(Train train) { this.train = train; reset(); @@ -58,6 +61,7 @@ public class ScheduleRuntime { return; state = State.POST_TRANSIT; conditionProgress.clear(); + displayLinkUpdateRequested = true; for (Carriage carriage : train.carriages) carriage.storage.resetIdleCargoTracker(); @@ -141,10 +145,15 @@ public class ScheduleRuntime { CompoundTag tag = conditionContext.get(i); ScheduleWaitCondition condition = list.get(progress); + int prevVersion = tag.getInt("StatusVersion"); + if (condition.tickCompletion(level, train, tag)) { conditionContext.set(i, new CompoundTag()); conditionProgress.set(i, progress + 1); + displayLinkUpdateRequested |= i == 0; } + + displayLinkUpdateRequested |= i == 0 && prevVersion != tag.getInt("StatusVersion"); } for (Carriage carriage : train.carriages) @@ -212,6 +221,7 @@ public class ScheduleRuntime { train.status.newSchedule(); predictionTicks = new ArrayList<>(); schedule.entries.forEach($ -> predictionTicks.add(-1)); + displayLinkUpdateRequested = true; } public Schedule getSchedule() { @@ -420,4 +430,20 @@ public class ScheduleRuntime { schedule = present ? new Schedule() : null; } + public MutableComponent getWaitingStatus(Level level) { + List> conditions = schedule.entries.get(currentEntry).conditions; + for (int i = 0; i < conditions.size(); i++) { + List list = conditions.get(i); + int progress = conditionProgress.get(i); + if (progress >= list.size()) + return TextComponent.EMPTY.copy(); + + CompoundTag tag = conditionContext.get(i); + ScheduleWaitCondition condition = list.get(progress); + return condition.getWaitingStatus(level, train, tag); + } + + return TextComponent.EMPTY.copy(); + } + } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/CargoThresholdCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/CargoThresholdCondition.java index 5653290e9..7a73a5b90 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/CargoThresholdCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/CargoThresholdCondition.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.List; import com.google.common.collect.ImmutableList; -import com.simibubi.create.Create; import com.simibubi.create.content.logistics.trains.entity.Carriage; import com.simibubi.create.content.logistics.trains.entity.Train; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; @@ -60,10 +59,21 @@ public abstract class CargoThresholdCondition extends LazyTickedScheduleConditio if (status == lastChecked) return false; context.putInt("LastChecked", status); - return test(level, train); + return test(level, train, context); + } + + protected void requestStatusToUpdate(int amount, CompoundTag context) { + context.putInt("CurrentDisplay", amount); + super.requestStatusToUpdate(context); + }; + + protected int getLastDisplaySnapshot(CompoundTag context) { + if (!context.contains("CurrentDisplay")) + return -1; + return context.getInt("CurrentDisplay"); } - protected abstract boolean test(Level level, Train train); + protected abstract boolean test(Level level, Train train, CompoundTag context); protected abstract Component getUnit(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/FluidThresholdCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/FluidThresholdCondition.java index 10c775508..8b21a8b9b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/FluidThresholdCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/FluidThresholdCondition.java @@ -15,6 +15,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TextComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -39,7 +40,7 @@ public class FluidThresholdCondition extends CargoThresholdCondition { } @Override - protected boolean test(Level level, Train train) { + protected boolean test(Level level, Train train, CompoundTag context) { Ops operator = getOperator(); int target = getThreshold(); @@ -54,11 +55,10 @@ public class FluidThresholdCondition extends CargoThresholdCondition { if (!FilterItem.test(level, fluidInTank, compareStack)) continue; foundFluid += fluidInTank.getAmount(); - if (operator != Ops.GREATER && foundFluid > target) - return false; } } + requestStatusToUpdate(foundFluid / 1000, context); return operator.test(foundFluid, target * 1000); } @@ -131,4 +131,14 @@ public class FluidThresholdCondition extends CargoThresholdCondition { }, "Measure"); } + @Override + public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { + int lastDisplaySnapshot = getLastDisplaySnapshot(tag); + if (lastDisplaySnapshot == -1) + return TextComponent.EMPTY.copy(); + int offset = getOperator() == Ops.LESS ? -1 : getOperator() == Ops.GREATER ? 1 : 0; + return Lang.translate("schedule.condition.threshold.status", lastDisplaySnapshot, + Math.max(0, getThreshold() + offset), Lang.translate("schedule.condition.threshold.buckets")); + } + } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/IdleCargoCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/IdleCargoCondition.java index 721831e13..990c68dcb 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/IdleCargoCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/IdleCargoCondition.java @@ -29,6 +29,8 @@ public class IdleCargoCondition extends TimedWaitCondition { int idleTime = Integer.MAX_VALUE; for (Carriage carriage : train.carriages) idleTime = Math.min(idleTime, carriage.storage.getTicksSinceLastExchange()); + context.putInt("Time", idleTime); + requestDisplayIfNecessary(context, idleTime); return idleTime > totalWaitTicks(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ItemThresholdCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ItemThresholdCondition.java index ef1de352d..1feaaadac 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ItemThresholdCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ItemThresholdCondition.java @@ -13,6 +13,7 @@ import com.simibubi.create.foundation.utility.Lang; import net.minecraft.ChatFormatting; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TextComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -35,7 +36,7 @@ public class ItemThresholdCondition extends CargoThresholdCondition { } @Override - protected boolean test(Level level, Train train) { + protected boolean test(Level level, Train train, CompoundTag context) { Ops operator = getOperator(); int target = getThreshold(); boolean stacks = inStacks(); @@ -55,12 +56,10 @@ public class ItemThresholdCondition extends CargoThresholdCondition { foundItems += stackInSlot.getCount() == stackInSlot.getMaxStackSize() ? 1 : 0; else foundItems += stackInSlot.getCount(); - - if (operator != Ops.GREATER && foundItems > target) - return false; } } + requestStatusToUpdate(foundItems, context); return operator.test(foundItems, target); } @@ -122,4 +121,15 @@ public class ItemThresholdCondition extends CargoThresholdCondition { .titled(Lang.translate("schedule.condition.threshold.item_measure")); }, "Measure"); } + + @Override + public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { + int lastDisplaySnapshot = getLastDisplaySnapshot(tag); + if (lastDisplaySnapshot == -1) + return TextComponent.EMPTY.copy(); + int offset = getOperator() == Ops.LESS ? -1 : getOperator() == Ops.GREATER ? 1 : 0; + return Lang.translate("schedule.condition.threshold.status", lastDisplaySnapshot, + Math.max(0, getThreshold() + offset), + Lang.translate("schedule.condition.threshold." + (inStacks() ? "stacks" : "items"))); + } } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/RedstoneLinkCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/RedstoneLinkCondition.java index be5803a66..029c27a63 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/RedstoneLinkCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/RedstoneLinkCondition.java @@ -16,6 +16,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TextComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; @@ -117,5 +118,10 @@ public class RedstoneLinkCondition extends ScheduleWaitCondition { .titled(Lang.translate("schedule.condition.redstone_link.frequency_state")), "Inverted"); } + + @Override + public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { + return Lang.translate("schedule.condition.redstone_link.status"); + } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduleWaitCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduleWaitCondition.java index 06245cc7f..a8e307d6a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduleWaitCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduleWaitCondition.java @@ -9,6 +9,7 @@ import com.simibubi.create.content.logistics.trains.management.schedule.Schedule import com.simibubi.create.foundation.utility.Pair; import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; @@ -16,6 +17,10 @@ public abstract class ScheduleWaitCondition extends ScheduleDataEntry { public abstract boolean tickCompletion(Level level, Train train, CompoundTag context); + protected void requestStatusToUpdate(CompoundTag context) { + context.putInt("StatusVersion", context.getInt("StatusVersion") + 1); + } + public final CompoundTag write() { CompoundTag tag = new CompoundTag(); tag.putString("Id", getId().toString()); @@ -43,4 +48,6 @@ public abstract class ScheduleWaitCondition extends ScheduleDataEntry { return condition; } + public abstract MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag); + } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduledDelay.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduledDelay.java index 8f84b76e7..04019bea4 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduledDelay.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/ScheduledDelay.java @@ -23,7 +23,9 @@ public class ScheduledDelay extends TimedWaitCondition { int time = context.getInt("Time"); if (time >= totalWaitTicks()) return true; + context.putInt("Time", time + 1); + requestDisplayIfNecessary(context, time); return false; } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java index f2bc319ea..c7423aa1a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationPoweredCondition.java @@ -9,6 +9,7 @@ import com.simibubi.create.foundation.utility.Pair; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -40,4 +41,9 @@ public class StationPoweredCondition extends ScheduleWaitCondition { public ResourceLocation getId() { return Create.asResource("powered"); } + + @Override + public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { + return Lang.translate("schedule.condition.powered.status"); + } } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java index 149ed4844..a9620d2a9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/StationUnloadedCondition.java @@ -8,6 +8,7 @@ import com.simibubi.create.foundation.utility.Pair; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.item.ItemStack; @@ -39,4 +40,9 @@ public class StationUnloadedCondition extends ScheduleWaitCondition { public ResourceLocation getId() { return Create.asResource("unloaded"); } + + @Override + public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { + return Lang.translate("schedule.condition.unloaded.status"); + } } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimeOfDayCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimeOfDayCondition.java index 9d575387c..3b3e7c5b4 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimeOfDayCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimeOfDayCondition.java @@ -42,7 +42,8 @@ public class TimeOfDayCondition extends ScheduleWaitCondition { int targetHour = intData("Hour"); int targetMinute = intData("Minute"); int dayTime = (int) (level.getDayTime() % getRotation()); - int targetTicks = (int) ((((targetHour + 18) % 24) * 1000 + (targetMinute / 60f) * 100) % getRotation()); + int targetTicks = + (int) ((((targetHour + 18) % 24) * 1000 + Math.ceil(targetMinute / 60f * 1000)) % getRotation()); int diff = dayTime - targetTicks; return diff >= 0 && maxTickDiff >= diff; } @@ -168,4 +169,24 @@ public class TimeOfDayCondition extends ScheduleWaitCondition { builder.customArea(52, 69); } + @Override + public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { + int targetHour = intData("Hour"); + int targetMinute = intData("Minute"); + int dayTime = (int) (level.getDayTime() % getRotation()); + int targetTicks = + (int) ((((targetHour + 18) % 24) * 1000 + Math.ceil(targetMinute / 60f * 1000)) % getRotation()); + int diff = targetTicks - dayTime; + + if (diff < 0) + diff += getRotation(); + + int departureTime = (int) (level.getDayTime() + diff) % 24000; + int departingHour = (departureTime / 1000 + 6) % 24; + int departingMinute = (departureTime % 1000) * 60 / 1000; + + return Lang.translate("schedule.condition.time_of_day.status") + .append(getDigitalDisplay(departingHour, departingMinute, false)); + } + } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimedWaitCondition.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimedWaitCondition.java index b7083a169..5107ddbb4 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimedWaitCondition.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/condition/TimedWaitCondition.java @@ -3,15 +3,19 @@ package com.simibubi.create.content.logistics.trains.management.schedule.conditi import java.util.List; import com.google.common.collect.ImmutableList; +import com.simibubi.create.content.logistics.trains.entity.Train; import com.simibubi.create.foundation.gui.ModularGuiLineBuilder; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.ChatFormatting; +import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -37,10 +41,18 @@ public abstract class TimedWaitCondition extends ScheduleWaitCondition { } } + protected void requestDisplayIfNecessary(CompoundTag context, int time) { + int ticksUntilDeparture = totalWaitTicks() - time; + if (ticksUntilDeparture < 20 * 60 && ticksUntilDeparture % 100 == 0) + requestStatusToUpdate(context); + if (ticksUntilDeparture >= 20 * 60 && ticksUntilDeparture % (20 * 60) == 0) + requestStatusToUpdate(context); + } + public int totalWaitTicks() { return getValue() * getUnit().ticksPer; } - + public TimedWaitCondition() { data.putInt("Value", 5); data.putInt("TimeUnit", TimeUnit.SECONDS.ordinal()); @@ -95,4 +107,17 @@ public abstract class TimedWaitCondition extends ScheduleWaitCondition { }, "TimeUnit"); } + @Override + public MutableComponent getWaitingStatus(Level level, Train train, CompoundTag tag) { + int time = tag.getInt("Time"); + int ticksUntilDeparture = totalWaitTicks() - time; + boolean showInMinutes = ticksUntilDeparture >= 20 * 60; + int num = + (int) (showInMinutes ? Math.floor(ticksUntilDeparture / (20 * 60f)) : Math.ceil(ticksUntilDeparture / 100f) * 5); + String key = "generic." + (showInMinutes ? num == 1 ? "daytime.minute" : "unit.minutes" + : num == 1 ? "daytime.second" : "unit.seconds"); + return Lang.translate("schedule.condition." + getId().getPath() + ".status", + new TextComponent(num + " ").append(Lang.translate(key))); + } + } \ No newline at end of file diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index 98d61200b..77faa6663 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -90,6 +90,7 @@ "create.generic.unit.minutes": "Minutes", "create.generic.daytime.hour": "Hour", "create.generic.daytime.minute": "Minute", + "create.generic.daytime.second": "Second", "create.generic.daytime.pm": "pm", "create.generic.daytime.am": "am", "create.generic.unit.rpm": "RPM", @@ -593,11 +594,15 @@ "create.schedule.condition.delay": "Scheduled Delay", "create.schedule.condition.delay_short": "Wait: %1$s", + "create.schedule.condition.delay.status": "Departs in %1$s", "create.schedule.condition.idle": "Cargo Inactivity", "create.schedule.condition.idle_short": "Cargo Idle: %1$s", + "create.schedule.condition.idle.status": "Cargo Idle for %1$s", "create.schedule.condition.for_x_time": "for %1$s", "create.schedule.condition.unloaded": "Chunk Unloaded", + "create.schedule.condition.unloaded.status": "Waiting for chunk unload", "create.schedule.condition.powered": "Station Powered", + "create.schedule.condition.powered.status": "Waiting for redstone", "create.schedule.condition.time_of_day": "Time of Day", "create.schedule.condition.time_of_day.scheduled": "Scheduled Time: %1$s", "create.schedule.condition.time_of_day.digital_format": "%1$s:%3$s %4$s", @@ -612,6 +617,7 @@ "create.schedule.condition.time_of_day.rotation.every_0_45": "Every 0:45", "create.schedule.condition.time_of_day.rotation.every_0_30": "Every 0:30", "create.schedule.condition.time_of_day.rotation.every_0_15": "Every 0:15", + "create.schedule.condition.time_of_day.status": "Departs at ", "create.schedule.condition.threshold.train_holds": "Train holds %1$s", "create.schedule.condition.threshold.greater": "more than", "create.schedule.condition.threshold.less": "less than", @@ -622,11 +628,13 @@ "create.schedule.condition.threshold.items": "Items", "create.schedule.condition.threshold.stacks": "Stacks", "create.schedule.condition.threshold.buckets": "Buckets", + "create.schedule.condition.threshold.status": "Cargo: %1$s/%2$s %3$s", "create.schedule.condition.threshold.place_item": "Reference Item", "create.schedule.condition.threshold.place_item_2": "Filters can be used", "create.schedule.condition.fluid_threshold": "Fluid Cargo Condition", "create.schedule.condition.item_threshold": "Item Cargo Condition", "create.schedule.condition.redstone_link": "Redstone Link", + "create.schedule.condition.redstone_link.status": "Waiting for redstone link", "create.schedule.condition.redstone_link_on": "Link On", "create.schedule.condition.redstone_link_off": "Link Off", "create.schedule.condition.redstone_link.powered": "Powered", @@ -768,6 +776,7 @@ "create.display_source.item_throughput.interval.second": "per Second", "create.display_source.item_throughput.interval.minute": "per Minute", "create.display_source.item_throughput.interval.hour": "per Hour", + "create.display_source.train_status": "Train Schedule Status", "create.display_source.station_summary": "Train Station Summary", "create.display_source.station_summary.filter": "Station name filter", "create.display_source.station_summary.train_name_column": "Train column size",